CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。
通过CALDERA工具,安全红队可以提前手动模拟并设定好攻击流程,并以此进行自动化攻击和事件响应演练。同样,安全蓝队也可以利用该工具,根据相应的威胁开展模拟应对。
该工具主要由两个组件组成:
-
核心系统。由相关存储库中可用的内容组成,主要包括一个带有REST API和web界面的异步命令控制(C2)服务器。
-
插件。这些插件可以扩展核心系统功能,包括代理、报告、TTP集合等。
本文主要Caldera 插件的简要概述。
什么是插件?
什么是插件?在软件开发中,插件(也称为附加组件或扩展)是一种软件组件,用于自定义程序或向程序添加新功能,而无需实际更改程序。
首次登录 Caldera 界面时,您可以在插件菜单中看到一些默认插件,例如 Training 插件。
图1:CALDERA平台默认插件列表
还有一些默认情况下未启用的插件。如果您想要使用某个插件,您可以从 GUI 启用插件,方法是转到“配置”>“配置”>“插件”,然后单击所需插件上的“启用”按钮(参见图 2)。
图 2 — 在 CALDERA 平台中启用插件
您还可以通过在终端中使用“Ctrl + C”停止 C2 服务器来启用插件,并将插件名称添加到目录caldera/conf中的default.yml文件中(参见图 3)。然后,通过 python3 server.py 重新启动服务器。
图 3 — 在default.yml
文件
上启用插件
Caldera默认插件
平台的默认插件列在平台主页“插件”下的左侧面板中。以下是有关这些功能以及它们如何增强 Caldera 用户体验的一些其他详细信息。有关 Caldera 插件的更多详细信息,请阅读官方文档。
定制插件
该平台还旨在适应用户构建自己的定制插件,以根据需要扩展功能。Caldera 已经创建了数十个插件,而且插件的使用仍然是 Caldera 团队在内部使用的主要机制来原型化新功能。对于有兴趣开发自己的插件的用户,请参阅Skeleton插件,它是一个引导脚本,可使用单个命令创建插件模板:python plugin-init.py。
Caldera 在其插件中提供了解决一些最复杂问题的功能。提供这些插件允许用户利用和加强他们的环境并减少潜在的攻击。Caldera 的插件架构还允许任何用户实现自己的功能并相对轻松地将其添加到 Caldera 核心。