本帖最后由 pukr 于 2020-3-10 11:13 编辑
原文链接:
https://mp.weixin.qq.com/s?__biz=MzUyNzk2NDcwMw==&mid=2247484891&idx=1&sn=358454fcf76ab750ab53a09ffacc722a&chksm=fa76caabcd0143bdf5d820b9e79f8a7b3436ba4581ded0b2c8e221d418e9ebeb5353aeddd194&mpshare=1&scene=23&srcid=&sharer_sharetime=1583661177641&sharer_shareid=ff83fe2fe7db7fcd8a1fcbc183d841c4#rd
0x00 简介CALDERA是一个网络安全框架,旨在轻松运行自主的漏洞和模拟演习。它还可以用于运行手动的红队约定或自动的事件响应。 它建立在MITRE ATT&CK框架上,是MITRE的一个活跃的研究项目。
0x01 caldera安装
Caldera在Github的项目主页:
- https://github.com/mitre/caldera
复制代码
我们需要先从Github上克隆代码,使用以下命令可下载最新版的caldera
- git clone https://github.com/mitre/caldera.git --recursive --branch 2.6.3
复制代码
进入caldera目录运行安装命令进行安装
- ./install.sh --darwin
- ./install.sh --centos
- ./install.sh --ubuntu
- ./install.sh --kali
复制代码
各个系统使用不同的命令,我这里使用的是kali,所以是./install.sh --kali (注意:各位表哥根据自己的情况进行相应的安装,这里就不一一举例了)
安装好之后会弹出启动方式python server.py
此外,更重要的一点需要把caldera所依赖的库全部装完,因为是基于python3的,所以我们需要用pip3来进行安装 - Python3 -m pip install -r requirements.txt
复制代码
至此,Caldera的所有安装已经完成,下面就是开干了! 0x02 caldera配置和使用
caldera的配置文件在/conf/default.yml,大家可以根据实际情况自行修改,我这里就使用默认配置
运行指令python3 server.py启动
我们打开http://{你的ip地址}:8888,使用我们配置文件里默认的账号密码进行登录 - admin/admin --> 红队
- red/admin --> 红队
- blue/admin --> 蓝队
复制代码
0x03 Campaigns配置和行动 1.Sandcat
由于caldera的使用方法原因,就不单独分开演示了,就直接按照实际操作过程演示吧 首先我们需要去插件里使用sandcat生成一个Payload
选择对应的操作系统即可显示出对应的Payload
我们现在去一台windows靶机去执行以下Payload(注意:这里需要将0.0.0.0替换为caldera的ip地址)
2.Agents
在Campaigns里点击Agents即可看到我们的靶机已上线
点击绿色的PID即可查看到详细信息
3.Adversaries
Campaigns里的adversaries配置文件是ATT&CK TTP的集合,旨在主机或网络上创建特定效果。配置文件可用于攻击性或防御性用例
大家可以选择一个适合自己目前需求的配置,右侧会列出当前配置的一些功能
如果需要将别的配置里的功能添加进来的话可以点击add pack来进行添加
如果需要添加ATT&CK里的某种策略和技术可以点击add ability进行添加,选择某个能力之后会弹出描述和相应的这个能力所执行的命令。
4.Operations
配置好上述策略,我们可以进入Campaigns的Operations里发起行动
我们需要先将BASIC OPTIONS基本配置,将行动名称,组,策略,是否开放配置好
其它几项大家需根据实际情况进行配置,我这里选择默认。
点击Start即可开始行动,运行之后会看见任务时间轴和进度条
绿色表示成功,红色表示失败,点击每个时间轴右边的小星星可查看运行结果
点击左侧Download即可下载json格式的运行报告
0x04 插件等其他相关配置
1.Stockpile
Plugins中的stockpile为能力数据库,库存中包含一组TTP,对手概况,数据源和计划者。这些可用于针对目标主机构建动态操作
2.TerminalPlugins中的Terminal终端插件附带Manx代理,它通过一个原始的TCP套接字与服务器通信。除了作为一个正常的代理运行之外,Manx还可以作为一个反向shell。当您部署它时,您将看到会话在下面弹出,允许您手动与受影响的主机进行交互。
我们新建一个Payload来测试一下与主机进行交互
通过测试,发现需要将Advanced配置里的IP地址改为caldera的ip地址就可与主机直接进行交互(具体配置方法见Advanced/configuration一节)
在Terminal里我们还可以使用ATT&CK框架里的方法来进行攻击。当我们选择之后,就会在终端上产生所选模块执行的命令,我们直接运行即可
3.Compass
在Plugins的compass中可以为任何对手生成一个层文件,你可以覆盖下面的矩阵或在矩阵中创建一个对手,然后上传该图层文件以生成要在操作中使用的对手 这个操作,大家就根据自身情况进行生成吧
4.GameBoardPlugins中的GameBoard作用为在演习中监视红队和蓝队的行动,看看蓝队是否能够探测、响应并关闭红队的对手。 我们选择红队的攻击情况则会发现红队已获得了5分。
5.Configuration
Advanced中的configuration可以对通讯地址及插件进行配置。
在这里我们需要将0.0.0.0改为caldera的ip地址,方便通讯。
6.Obfuscators
Advanced中的obfuscators为红队行动前混淆模式的介绍,方便红队快速理该功能,用于逃避检测
7.Contacts
Advanced中的contacts则为记录caldera通过所有协议发出的命令。
8.Planners
Advanced中的planners则是一个策略器,它包含一个逻辑,用于一个正在运行的操作应该如何决定使用哪些功能以及以何种顺序。具体地说,策略器的逻辑包含执行操作的单个阶段的决策
9.Sources
Advanced中的sources为red收集的数据片段,事实是可识别的数据片段,由代理收集或在服务器启动时加载。来源是事实的集合。规则是确保不能使用特定特性的边界。
|