返回介绍

Payload 生成分析

发布于 2024-06-01 22:17:40 字数 2866 浏览 0 评论 0 收藏 0

分阶段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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文