蔓灵花APT组织最新的C#木马组件揭秘
事件背景
安恒威胁情报中心猎影实验室于今年4月份监控并发现“曼灵花”(BITTER)组织针对我国多敏感部门进行攻击,安全研究团队对该次事件进行深入了分析。通过持续监控,近期又发现其开始了新的攻击,并加入了新的组件。
APT组织介绍
“蔓灵花”又名“BITTER”,一个长期针对中国及巴基斯坦的政府、军工、电力、核等部门发动网络攻击,窃取敏感资料,具有较强的政治背景。该组织最早在2016由美国安全公司Forcepoint进行了披露,他们发现攻击者使用的远程访问工具(RAT)变体使用的网络通信头包含 “BITTER”,所以该这次攻击命名为“BITTER”,同年国内友商360也跟进发布了分析报告,命名为“蔓灵花”。
攻击样本分析
本次攻击(2019年9月份发现)使用了多个样本,如捕获到一个样本是chm格式,命名为“mypictures.chm”,文件被打开后展示一些图片:
查看代码可以发现它通过msiexec命令去远程服务器下载msi文件
观察进程树也能发现行为:
通过安恒文件威胁分析平台检索域名gongzuosousuo[.]net,又发现多个样本,其中2个样本引起我们注意:
这两个文件都是捆绑的主样本,它们伪装成office图标的exe文件
其中“中国新的对外安全政策.docx”打开后,是关于我国外交策略的文档,
另一个文档显示乱码:
这两个文件除了显示假文档意外还会释放都“audiodq.exe”,且回连还是相同域名:gongzuosousuo[.]net。另外通过该域名还可以关联到另一个msi样本wupd.msi。
该样本会释放运行wupdte.exe,wupdte.exe包含pdb信息为:
wupdte.exe的主要功能为获取基础信息和远程下载新样本并执行,
该样本会搜集计算机名、用户名、操作系统版本、操作系统序列号等信息,发送到mil.openendhostservice[.]org远程地址,并拷贝自身文件到
“C:\Users\用户名\AppData\Roaming\Microsoft\Windows\SendTo\winupd.exe”,
并且还可以下载远程数据解密出样本并执行。
接下来分析chm文件下载的ausetup.msi文件,它运行后也会释放叫“audiodq.exe”,其回连地址是:“lmhostsvc[.]net”,继续使用平台检索该域名,发现叫做engineblock-2.jpg.exe程序
其运行后会打开图片和释放并运行audiodq.exe。
audiodq.exe和之前发现的样本功能一致,只是域名有所变化,如本次攻击所使用的其中一个域名为lmhostsvc[.]net
并且通过安恒文件威胁分析平台分析关联到另一个域名zhulidailiren4winnt[.]net也是主模块回连域名。
BITTER组织对其组件进行了一些更新,其中最主要的变化是加入了两款.net的远控程序。
从样本时间来看最新更新的组件时间为10月15日。
我们将更新后的组件和之前的组件进行了对比分析。
之前组件的功能汇总如下表所示:
样本名称 |
Md5 |
功能 |
audiodq.exe |
6bb5614223a21db411b1cb3ed29465f5 |
主程序:发送基础信息,可接受黑客指令下载各个组件 |
regdl |
be171b4df9b7db48c67f31c678421bfd |
组件:设置主程序audiodq的注册表自启动模块 |
spoolvs |
fc516905e3237f1aa03a38a0dde84b52 |
组件:远控模块,具备完善的文件窃密功能,使用加密传输,密钥是”m50e!sq&n67$t”,传输地址是:neth****pport.ddns.net |
igfxsrvk |
efec7464f07633415cbc36a97b900587 |
组件:键盘记录模块 |
dashost |
d884f6d37c0202935db1a54c7f0a79ed |
组件:功能同spoolvs,文件hash不同而已。 |
lsap |
44e936f5f02fa3fdf5925ba9fbd486e5 |
组件:搜集信息(收集的文件列表)和并将文件涉及的文件上传到:Sysi****vice.ddns.net |
upmp |
450005b247add0b1aa03cee00c90bc3b |
组件:功能同lsap一样,文件hash不同而已。 |
misis |
11864ec73e6226f52a1e6e4074b33e89 |
组件:功能和lsap类似,当文件上传时采取的加密传输(参数base64+间隔符切割),地址也是:Sysi****vice.ddns.net |
putty |
b3e0ed34b7ee16b12b80a4dc5f8dddae |
正常文件.ssh登入工具putty.exe |
其中sleep、kill、regdl和之前的regdl一致为给audiodq程序设置自启动,lsap*系列和之前的lsap功能大致上是一致的都是搜集信息和文件并上传,igfxsrvk和之前的也是一致的主要为键盘记录功能,winsvc和spoolvs功能一致为远控模块。这些模块功能大致相同,样本中的回连地址会做一些变化。
下面主要分析新加入的.net程序模块MSAServices、MSAServicet、onedriveManager、sessionmanagers。
- MSAServices模块分析
MSAServices为远程控制程序,主要功能为回连远程服务器进行命令控制和数据传输。
样本先回进行一个冒泡排序,将结果写入到
C:\Users\Public\array.txt文件中,具体内容似乎并无什么意义。
然后进行了删除。
猜测这么做的目的是为了判断系统是否是win7及以上的系统,在WIN XP下无法发现C:\Users\Public路径。
接着进行网络连接操作。
建立网络连接并设置心跳状态定时回调函数。
可以观察到网络连接的C2域名为mswinhostsvc[.]net,端口为 43821,被用于数据传输加解密的NetworkKey为745930。
然后接受和发送数据信息,
发送的基本信息
还包括国家地理位置和Win序列号信息。
然后该程序会进行Processor调用初始化。
包含了该程序可以执行的主要功能。
接收命令并进行执行并返回执行信息,功能如下所示:
包类型 |
完成功能 |
Delete File |
删除文件 |
Get Processes |
获取进程信息 |
Kill Processes |
Kill进程 |
Suspend Processes |
挂起进程 |
Resume Processes |
恢复进程 |
Get Process DLLs |
获取进程中使用的dll信息 |
Get Process threads |
获取进程中的线程信息 |
Mod Thread |
改变线程状态 |
Start Process |
开始进程 |
FileMgr get drives |
获取可用逻辑驱动器 |
FileMgr get Folders |
获取目录下的文件信息 |
FileMgr Create File |
创建文件 |
FileMgr Copy File |
拷贝文件 |
FileTransfer Begin |
传输文件 |
FileTransfer Data |
传输数据 |
FileTransfer Complete |
数据传输完成 |
FileTransfer for downloading start |
传输文件 |
Get Command |
获取指令 |
Start Command Prompt |
开始命令并监控 |
Stop Command Prompt |
结束命令 |
Connection Status |
连接状态 |
MSAServicet和MSAServices功能一致。
- Sessionmanagers模块分析
Sessionmanagers也为远程控制程序,主要功能为回连远程服务器进行命令控制和数据传输。
通过安恒文件威胁分析平台分析发现该样本的编译时间故意被篡改。
该程序会连接远程服务器进行命令和控制。
解密出远程服务器地址为winqrcservice[.]net,端口为28564。
接着程序进行等待命令并处理命令阶段。
命令包括获取信息包括基本的信息和杀毒软件信息等,
主要命令如下列表:
命令 |
功能 |
tskmgr |
启动任务管理器 |
getinfo- |
获取各类信息 |
prockill |
Kill进程 |
proclist |
列举进程 |
startcmd |
开启cmd |
stopcmd |
停止cmd |
cmd§ |
执行各类cmd指令 |
fdrive |
获取逻辑驱动器信息 |
fdir§ |
获取目录下的文件信息 |
f1§ |
f1 + drive name |
fpaste§ |
移动或拷贝文件或文件夹 |
fexec§ |
执行程序 |
fhide§ |
设置文件属性为隐藏 |
fshow§ |
设置文件属性为可见 |
fdel§ |
删除文件 |
frename§ |
重命名文件或文件夹名 |
ffile§ |
新建文件 |
fndir§ |
新建文件夹 |
getfile§ |
备份文件 |
putfile§ |
写入文件 |
fup |
上传文件 |
fdl§ |
下载文件 |
fconfirm |
命令确认 |
dc |
循环接收指令 |
onedriveManager和sessionmanagers功能一致。
总结
通过该次分析,可以看出该组织疑似有新的C#开发成员加入或转向了C#研发,新的组件代码仍在持续开发阶段,部分功能并没有调用或只是测试使用。通过回连域名发现攻击者了解中文,回连域名中包含中文拼音(如zhulidailiren4winnt、tongbanzhichi)。
IOC
域名:
hxxp://lmhostsvc[.]net
hxxp://zhulidailiren4winnt[.]net
hxxp://mswinhostsvc[.]net
hxxp://winqrcservice[.]net
hxxp://winlocsec.ddns[.]net
hxxp://tongbanzhichi[.]net
hxxp://mscnsservice.ddns[.]net
hxxp://gongzuosousuo[.]net
http://mil.openendhostservice[.]org
文件MD5:
c87641a13843682ae16a5da18ffee654
46ef2c0db107b794516dc2b2622e44ad
4b0e5c5c4e0e22f2dfeef0531e021072
b5c66d01d0e96b04702030ed23add415
b5c66d01d0e96b04702030ed23add415
c831af87ab876bd774784eb8f3338b4b
ae02f2f8100de5f9f155f4b8ce3e494e
8831eac19d1a1c30697057fa501d063f
d8c76c736a3285378bc82ea9cd3c972d
4bfff2480fb6eaa0ef82abb0092c2586
a24d5a8f6a916fe976face1f145cf297
79a1e1d2ea5c629f60ef00a96ec4d0fe
be171b4df9b7db48c67f31c678421bfd
e421808b24c1ebd4cf0a078c6e66ded8
fc572eec5ae8b38428259c5d8fc5a05f