Cobalt Stike 监听器与 Payload
监听器管理
监听器既是 Payload 的配置信息,也是 Cobalt Strike 启动服务器接收 Payload 连接的指令。监听器由用户定义的名称、Payload 类型和几个特定于 Payload 的选项组成。
Cobalt Strike -> 监听器 将打开一个选项卡,列出所有配置的有效负载和监听器。
按“添加”创建新监听器。将显示“新监听器“板。
使用有效负载下拉列表选择您想要配置的可用有效负载/侦听器类型之一。每个都有不同的参数,包含以下类型:
Beacon Payload
Beacon Payload 非常灵活,支持异步和交互式通信:异步通信的速度较慢,Beacon 会回连心跳包、下载任务并进入睡眠状态;交互式通信是实时进行的。
Payload 分类
CobaltStrike 的 Payloads 通常分为两部分:
- Stage(Stageless) Payload(无阶段)
- Stager Payload(分阶段)
它们二者的区别和关系是:
Stager Payload(分阶段)是一个小程序,通常是手工优化的汇编程序,它下载 Stage(Stageless) Payload(无阶段),将其注入内存,并将执行传递给它,此过程称为分阶段式。
OPSEC Tips
如果不需要 Stager Payload,可以将其关闭。将 Malleable C2 配置文件中的 host_stage 选项设置为 false。这将防止 Cobalt Strike 在其网络和 DNS 服务器上托管有效载荷阶段。这样做有很大的 OPSEC 益处:开启暂存后,任何人都可以连接到你的服务器,请求一个有效载荷,并分析其内容,从你的有效载荷配置中找到信息;在 Cobalt Strike 4.0 及更高版本中,漏洞利用后和横向移动行动会避免使用 Stager Payload(分阶段),而是尽可能使用完整的 Payload。
主要包含两大类:一类是生成shellcode,一类是直接生成可执行文件
针对 Windows 可执行文件主要有两种
- Windows Executeable 对应 Stager Payload
- Windows Executeable(s)对应 Stageless Payload
Beacon 生成
首先建立监听器
选择生成Stageless的exe可执行文件:
在Victim(受害机)执行即可收到Beacon会话