背景

在这个美好的早晨,我像往常一样沐浴着温暖的阳光、啃着我美味的馒头、刷着GitHub机器人推送的日报。突然,一个可疑的项目立马吸引了我的注意,“重写免杀版Gh0st……”——好家伙,我倒要看看是什么免杀可绕完国内主流杀软!

打开网易新闻 查看精彩图片

手里的馒头瞬间不香了,我立马在公司的安全研究环境sflab里安装起了这个“强大”的免杀版Gh0st。

哔——哔——哔——,一阵急促的告警声打破了这个清晨的平静,直觉告诉我有些不太对劲。

打开网易新闻 查看精彩图片

“CobaltStrike远控”?得益于sflab完备的监测和狩猎能力,很快我搞清楚这是真实的攻击行为,——我,被上线了!!

我的内心开始变得紧张又愤怒。我敲,这是什么牛鬼蛇神,把 “安全研究员”都上线了,这传出去我的面子往哪搁啊!(好吧,我承认我内心有点小激动!)再说,作为一个安全研究员,我的基本修养是绝对不允许这种不道德的行为持续危害其他表哥们的好吧!,这必须得把它的恶行昭告天下!于是,我马上联线上微步在线的老表们,一起展开了这起开源木马投毒事件的分析。

正文

经过调查发现,这款开源的高度免杀版Gh0st木马目前正在大范围传播,据称可免杀多种主流杀软:开发者不仅制作了新颖的下载页面,还设法增加了搜索引擎的收录权重,吸引了许多免杀马爱好者的下载使用。

打开网易新闻 查看精彩图片

然而经过分析我们发现,这款软件实际上隐藏了后门木马,会在相关Git项目中释放和执行,使相关设备沦为“肉鸡”。由于是针对攻击工具的投毒,我们引用“螳螂捕蝉,黄雀在后”的典故,将该团伙命名为“黄雀”。

该木马工具以开源的Gh0st为基础,在优化代码和完善功能的同时,增强了反检测和免杀的能力,因此备受木马使用者青睐。木马使用者想要远程控制他人主机,却不知道自身也被病毒工具中的木马所控制;

微步通过对相关样本、IP 和域名的溯源分析,提取多条相关 IOC ,可用于威胁情报检测。微步威胁感知平台 TDP 、本地威胁情报管理平台 TIP 、威胁情报云 API 、互联网安全接入服务 OneDNS 、主机威胁检测与响应平台 OneEDR 等均已支持对此次攻击事件和团伙的检测。

0x01 团伙分析

1、团伙画像

团伙画像

特点

描述

平台

Windows

攻击目标

木马免杀技术爱好者,或使用相关木马的攻击者

攻击地区

中国

攻击目的

以“黑吃黑“的形式获取木马使用者的主机权限

武器库

跨段跳转技术,CobaltStrike

2、技术特点

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

截至目前分析完毕,该github项目已经存在大量的Star和Fork数,可以发现运行使用该项目的潜在受害者数量较多,如下图所示:

打开网易新闻 查看精彩图片

0x02 样本分析

1、基本信息

Sha256

9a9b5258c771d025cbbeff42e21fdec09e1560495764afa22bd752a71cb15744

SHA1

818c409f7898a814458d7ec8910eff63834beded

MD5

a1864a201f5f71cb2960a31c610e8b18

文件类型

exe类型

文件大小

12.96M

文件名称

CcRemote.exe

功能描述

MFC编译,关闭函数内嵌恶意代码,使用跨段跳转从32位到64位执行远程线程注入explore程序,最终建立CobaltSrtike通信

2、详细分析

样本执行流程图如下所示:

打开网易新闻 查看精彩图片

由于该病毒程序使用MFC框架打包编译生成,找到相应的消息处理函数映射表,经过处理后,如下图所示;

打开网易新闻 查看精彩图片

通过对其中的消息函数进行逐一分析,发现在消息处理函数映射表中的关闭消息函数中存在异常可疑行为,增加了相关的注入函数,如下图所示;

打开网易新闻 查看精彩图片

但是查看该github公开源码,发现并没有相关函数;

打开网易新闻 查看精彩图片

当点击关闭按钮时,便会触发相关的消息函数,等同于启动该病毒程序。当启动关闭按钮时,隐藏在病毒程序中的shellcode便会开始执行,最终使运行计算机成为一台“肉鸡”,如下图所示;

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

进入该恶意函数后,首先会通过字符串数组索引相关下标的方式解密字符串

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

该函数期间不断通过根据字符串获取相应的模块及函数地址,然后准备调用相关函数;

打开网易新闻 查看精彩图片

通过使用相关函数进行令牌访问,从而允许本程序启用特权允许进程执行以前无法执行的系统级操作;

通过遍历进程列表获取explore程序,该程序为待注入程序;

打开网易新闻 查看精彩图片

解密进程注入的shellcode,该shellcode使用zip压缩方式在病毒程序中保存;

打开网易新闻 查看精彩图片

使用VirtualAllocEx进行远程进程注入,注入成功并写入上文解压好的shellcode;

打开网易新闻 查看精彩图片

上文中的注入的explore程序位64位,而病毒程序代码为32位,所以需要取出在病毒程序中以uuid保存的shellcode代码,目的是使用跨段跳转,从32位切换到64位代码执行,从而保证注入的64位程序explore中的shellcode可以正常运行,最后跳转到恶意执行shellcode上;

打开网易新闻 查看精彩图片

由于这里涉及跨段跳转,使用windbg进行调试,当前运行到跨段shellcode入口;

该函数主要目的是跳转到下一行代码,在x64位下会使用段跳转;

打开网易新闻 查看精彩图片

当前调试为x64,所以会进行跨段跳转。构造段跳转堆栈参数,格式为cs:eip,cs在x32下为0x23,在64位下为0x33,于是该病毒程序通过此种方法成功绕过多个杀毒引擎检测;

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

根据特殊值获取线程函数地址,并将传入的注入进程explore的句柄以及恶意执行shellcode内存地址进行使用,最终进行远程线程注入,启动注入在explore的恶意shellcode;

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

通过监控注入进程explore的恶意shellcode的内存地址,成功断下入口点。shellcode通过PEB结构获取模块kernel32.dll内存地址,然后通过比对函数名来获取HeapCreate和RtlAllocateHeap的函数地址;

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

获取相关函数地址后,引用函数申请内存,准备解密实际恶意代码;

打开网易新闻 查看精彩图片

解密后的shellcode为CobaltStrike的小马,dump相关内存解析其配置,其C2伪装为正常域名;

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

但是在偏移0x8FD的位置为CobaltStrike的大马,dump其内存并解析相关配置信息如下所示;

打开网易新闻 查看精彩图片

可以确定本次事件是以投放CobaltStrike木马发展相关免杀爱好者设备的肉鸡为最终目的,相关沙箱检测如下所示;

打开网易新闻 查看精彩图片

0x03 关联分析

通过对该样本其中的特征进行提取后,然后在微步样本库中进行hunting,发现该攻击者历史上至少存在以下三个版本。

1、版本信息

出现时间

文件名

Sha256

C&C

2022-10-22

Fonts.dll

05c13c2468f146808732b737e34e04b

00356e3f722abd1b48f7184543c3d0b42

Shellcode有问题,无C&C

2023-02-28

zlibwapi.dll

8e2c54bf0c6bc70232063182bfb105dbb

5790784e59042acd5f691cc4f9e9de5

update.exchange.ac.cn

2023-03-01

CcRemote.exe

9a9b5258c771d025cbbeff42e21fdec09

e1560495764afa22bd752a71cb15744

update.exchange.ac.cn

可以发现该攻击者除了本次github投毒事件外,至少还针对输入法以及Zlib压缩工具等进行投毒。

2、溯源信息

通过使用X社区的Graph功能,确定C&C:update.exchange.ac.cn拥有者历史上使用过C&C:update.1drv.info,两个C&C均历史绑定过腾讯云ip: 1.12.229.12。相关C&C域名的注册者经过查询为相关的域名贩卖者。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

总结

通过对这个投毒事件的分析之后,我们对该木马工具的行为和特征有了更深入的了解,猜测其目的可能包含以下几个:

窃取知识产权:近年来攻防演练为行业内大火,如果安全人员从事的是红队研究类相关工作,该组织可能会利用后门工具窃取其电脑中的Red Team工具、0day技术文档等知识产权。

处置建议

如果屏幕前的你发现自己好巧不巧刚好用过这个工具时,就要尽快采取以下处置措施了:

排查安装有该后门软件的主机,及时清理。

断开与攻击源的连接:立即断开与该工具的连接,以防止攻击者继续操纵和控制终端;然后需要立即删除相关文件并清理系统。

修改密码和加强身份验证:攻击者可能会利用该工具获取了终端上保存的用户名和密码等敏感信息,因此,需要及时修改其密码,并加强身份验证措施,例如使用双重认证等措施。

加强软件下载的安全管理:我们需要加强对开源工具安全的管理和控制,例如在下载前注意审查该开源工具的源码、检查其依赖项、建立安全审查和评估机制等,以减少投毒事件的风险。

from https://www.freebuf.com/articles/network/364647.html