Cobalt Strike是一款以metasploit为基础的GUI的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,winexe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等。
静态分析
sub_401805
创建一个管道,开启一个线程

跟进CreateThread的参数sub_4016E1
调用了一个函数,第一个参数是指针,第二个应该是size

第一个参数

第二个参数

跟进sub_40161C函数
创建一个管道,将数据通过管道发送出去,然后关闭管道。

回到sub_401805,跟进sub_4017AC

跟进sub_401700
从管道中读取数据填充到lpBuffer

回到sub_4017AC跟进sub_40156C
这个函数对加密数据异或解密、修改解密数据的内存属性为可执行,然后创建一个线程来执行这些解密后的代码。

ShellCode提取
解密后的数据存储在lpAddress,而VirtualProtect的参数正好为lpAddress

VirtualProtect的地址是004015D8

OD下断004015D8,栈区发现传递的参数,数据窗口跟随看到了熟悉的4D5A

内存大小为3C800,起始地址+3C800之间的地址都是shellcode,因为是不分段shellcode,所以比较大。下面是生成的不分段payload,经过对比一致。
在汇编窗口下断点调试shellcode获取到服务端地址



