EN
lanyun
technologies
银河实验室 深谙安全之道,热衷技术创新
LABORATORIES 银河实验室

1、相关文件基本信息

 

图片

2、基本流程

流程图:

图片

3、关键行为

3.1 创建管道

获取系统时间戳并对0x26AA取余拼接管道名。

图片

图片

创建子线程

图片

在线程中创建管道,并等待主线程连接管道

图片3.2 主线程解密读取管道中shellcode

主线程开始循环:

主线程睡眠1024毫秒,等待子线程创建完管道,在主线程中用CreateFile函数尝试连接管道。

图片图片

主线程连接管道之后,子线程向管道中写入shellcode,然后退出子线程。

图片

主线程读取shellcode成功,则退出循环。

图片申请内存。

图片

解密shellcode,把解密的数据存入刚申请的内存中,并且能够明显看到内存中数据的特征是一个PE文件

图片

3.3 执行shellcode

修改shellcode内存属性为可执行。

图片

创建线程,并把shellcode地址作为参数传入进去,然后主线程无限循环睡眠。

图片图片

在线程中跳转到shellcode处。

图片

有意思的地方来了,把PE数据的特征作为指令执行,手动平衡栈帧,然后call到想要的地址执行。

 

3.4 与C2服务器通信

获取当前主机各类信息PID及主机名。

图片图片

此处开始是一个循环,连接C2服务器。

图片

第一次连接时向C2服务器发送收集的主机信息,之后向C2服务器发送所下发的指令信息。

图片

通过InternetReadFile函数读取服务器指令的hash,并比较hash区分指令。

图片

以下为ls指令的分支,获取当前目录,遍历文件,然后将收集的信息发送给服务器。

图片

并且执行完一圈会睡眠60秒,避免频繁的触发网络行为。

 

总结

Cobalt Strike所生成的后门除了beacon.exe还有很多种类,可以根据场景的不同使用不同的后门,在目前Cobalt Strike所有的后门都比较活跃,在红蓝对抗中也占据着一席之地,建议提前部署具备高级威胁检测能力的安全产品进行及时监控、防范。

 

- End -

京公网安备 11010802024705号  京ICP备20030588号 Copyright © 兰云科技 www.lanysec.com 版权所有