LOADING

加载过慢请开启缓存 浏览器默认开启

CobaltStrike4.9木马分析

2024/11/13 二进制

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

静态分析

sub_401805

创建一个管道,开启一个线程

img

跟进CreateThread的参数sub_4016E1

调用了一个函数,第一个参数是指针,第二个应该是size

img

第一个参数

img

第二个参数

img

跟进sub_40161C函数

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

img

回到sub_401805,跟进sub_4017AC

img

跟进sub_401700

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

img

回到sub_4017AC跟进sub_40156C

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

img

ShellCode提取

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

img

VirtualProtect的地址是004015D8

img

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

img

内存大小为3C800,起始地址+3C800之间的地址都是shellcode,因为是不分段shellcode,所以比较大。下面是生成的不分段payload,经过对比一致。

image-20241113220654801

在汇编窗口下断点调试shellcode获取到服务端地址

image-20241114210912651

image-20241114210919240

image-20241114210930215