- 前言
- Cobalt Strike 简介
- Cobalt Strike 基本使用
- Cobalt Strike Beacon 命令
- Cobalt Strike 脚本使用
- Cobalt Strike 脚本编写
- Cobalt Strike 扩展
- Cobalt Strike 原理介绍
- Cobalt Strike 攻击防御
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Payload 生成分析
分阶段payload
aggressor\dialogs\WindowsExecutableDialog.class
生成stager shellcode
shellcode具体的生成和混淆过程可以自己跟一下getPayloadStrager这个方法(后边有一个混淆的算法)
把生成好的stager shellcode根据生成类型嵌入到不同的PE文件中然后保存到文件
读取PE资源添加shellcode(这里还有一个试用版遗留问题)然后修正PE校验码最后保存到文件
这里就是被替换的地方
大小一共是1024个字节对于一个stager是绰绰有余
修补前后对比
PE校验码
shellcode填充
其他分阶段payload生成过程大同小异没啥区别包括
Payload Generator生成的都是stager shellcode,基本也是这个过程只不过没有嵌入到PE中
无阶段Payload生成过程
无阶段payload生成过程基本上也没太大区别
大致流程就是读取Beacon.dll,解密完成进行修补然后使用相同的方法将其嵌入到PE中。
对比修补前后右为原始Beacon.dll,左为修补后
比对修补前后时,导出格式请选择RAW格式。整体来说Beacon修补了三个地方PE头,Malleable C2通信规则,Malleable C2后渗透规则
4.x与3.x不同的是多了一个资源解密,在3.x时所有资源都是放在resources文件夹内,在4.x后Cobalt Strike将加密的资源都放在了sleeve文件夹内,还有一些不同的是,无阶段payload生成增加了powershell和raw两种格式。至于具体怎么修补通信规则和后渗透规则的自己读一下相关代码吧
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论