BAS_CALDERA体验
BAS_CALDERA体验
Ivoripuioncaldera试用
简介
caldera由MITRE团队开发,成立于2015年,第一版发行于2017年,主要用于攻击模拟,主要用于:
- 自动化突防和模拟训练
- 在网络侧识别脆弱点
- 降低培训员工的开销
- 高亮防御中的差距
- 减少防御团队所需要的资源
- 给防御的研究者和开发者提供一个平台
- 解答有关检测和响应的问题
caldera也与ATT&CK框架相映射,使用了ATT&CK中的许多例子作为测试样例。
核心结构
caldera主要分为server端和agent。
server端
server端分为核心系统以及插件两大部分,主要由python开发:
- 核心系统:一个具备很多功能的C2服务器控制台。
- 插件:为caldera添加更多特性和功能的独立存储库。
插件中包含了agent部分功能的使用。
agent端
caldera的agent端有多种形式,包括反弹shell(Manx)、go编写的(Sandcat)、python(Ragdoll)编写的,均支持windows以及linux平台:
agent的主要功能就是接受下发的命令,执行剧本:
具体功能
caldera的攻击模拟按照ability——adversary——operation来进行的,有点类似于kill chain的线性攻击模型,多个能力组成一个入侵行为。
ability
ability是原子的攻击能力,对应ATT&CK中的technique,每个ability主要的属性:
- ID:标识ability;
- Tactic:攻击战术,对应ATT&CK中的14个战术;
- Technique ID:攻击技术的ID,对应ATT&CK中的技术ID;
- Technique Name:攻击技术的名称;
- payloads:需要展开加载的payload;
caldera预置一部分的abilities,使用者也可以自行添加。
adversary
多个ability组成一个adversary:
caldera预置了一部分的adversary,使用者也可以自行添加:
operation
caldera最终执行前面组成好的adversary是operation,operation模块的部分参数:
- Adversary:前面组合好的入侵行为;
- Fact source:指定入侵时用到的来源,相当于一个过滤器,可以指定入侵时对某些进行过滤,比如指定某部分ip不进行攻击,或者不投递某些图片payload等;
- Planner:指定入侵时使用执行命令的方式,caldera预置了一部分的planner:
- Obfuscators:投递payload、命令时用到的混淆类型,caldera预置了一部分的混淆器:
- Jitter:执行命令的频次。
执行operation后可以获取相关报告:
其他
在caldera的access模块也支持执行单点能力:
caldera提供了相关的api供使用者的测试: