Payload生成分析
最后更新于
最后更新于
aggressor\dialogs\WindowsExecutableDialog.class
shellcode具体的生成和混淆过程可以自己跟一下getPayloadStrager这个方法(后边有一个混淆的算法)
把生成好的stager shellcode根据生成类型嵌入到不同的PE文件中然后保存到文件
读取PE资源添加shellcode(这里还有一个试用版遗留问题)然后修正PE校验码最后保存到文件
这里就是被替换的地方
修补前后对比
其他分阶段payload生成过程大同小异没啥区别包括
Payload Generator生成的都是stager shellcode,基本也是这个过程只不过没有嵌入到PE中
无阶段payload生成过程基本上也没太大区别
大致流程就是读取Beacon.dll,解密完成进行修补然后使用相同的方法将其嵌入到PE中。
比对修补前后时,导出格式请选择RAW格式。整体来说Beacon修补了三个地方PE头,Malleable C2通信规则,Malleable C2后渗透规则
4.x与3.x不同的是多了一个资源解密,在3.x时所有资源都是放在resources文件夹内,在4.x后Cobalt Strike将加密的资源都放在了sleeve文件夹内,还有一些不同的是,无阶段payload生成增加了powershell和raw两种格式。至于具体怎么修补通信规则和后渗透规则的自己读一下相关代码吧