蔓灵花APT组织最新的C#木马组件揭秘

蔓灵花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。

10

该样本会释放运行wupdte.exe,wupdte.exe包含pdb信息为:

7

wupdte.exe的主要功能为获取基础信息和远程下载新样本并执行,

12

该样本会搜集计算机名、用户名、操作系统版本、操作系统序列号等信息,发送到mil.openendhostservice[.]org远程地址,并拷贝自身文件到

“C:\Users\用户名\AppData\Roaming\Microsoft\Windows\SendTo\winupd.exe”,

并且还可以下载远程数据解密出样本并执行。

5

6

接下来分析chm文件下载的ausetup.msi文件,它运行后也会释放叫“audiodq.exe”,其回连地址是:“lmhostsvc[.]net”,继续使用平台检索该域名,发现叫做engineblock-2.jpg.exe程序

其运行后会打开图片和释放并运行audiodq.exe。

1main2

audiodq.exe和之前发现的样本功能一致,只是域名有所变化,如本次攻击所使用的其中一个域名为lmhostsvc[.]net

6FD1EDAB-1432-4EEA-88A9-C763851025C3

并且通过安恒文件威胁分析平台分析关联到另一个域名zhulidailiren4winnt[.]net也是主模块回连域名。

BITTER组织对其组件进行了一些更新,其中最主要的变化是加入了两款.net的远控程序。

46E5B502-FDA2-45D4-B930-D19E6CFF03FF

从样本时间来看最新更新的组件时间为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为远程控制程序,主要功能为回连远程服务器进行命令控制和数据传输。

0_bubblesort.png

样本先回进行一个冒泡排序,将结果写入到

0_path.png

C:\Users\Public\array.txt文件中,具体内容似乎并无什么意义。

del_path.png

然后进行了删除。

猜测这么做的目的是为了判断系统是否是win7及以上的系统,在WIN XP下无法发现C:\Users\Public路径。

接着进行网络连接操作。

con%.png

1_con_checkstatus.png

建立网络连接并设置心跳状态定时回调函数。

1_connect.png

1_mswinhostsvc.net.png

可以观察到网络连接的C2域名为mswinhostsvc[.]net,端口为 43821,被用于数据传输加解密的NetworkKey为745930。

2_crypt.png

然后接受和发送数据信息,

read_sead.png

发送的基本信息

4_baseinfo.png

还包括国家地理位置和Win序列号信息。

country.png

serial.png

然后该程序会进行Processor调用初始化。

3_init_processor.png

包含了该程序可以执行的主要功能。

0-2.png

接收命令并进行执行并返回执行信息,功能如下所示:

包类型

完成功能

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也为远程控制程序,主要功能为回连远程服务器进行命令控制和数据传输。

通过安恒文件威胁分析平台分析发现该样本的编译时间故意被篡改。

6BAD691B-DE89-4740-A874-547F6FFF5044

该程序会连接远程服务器进行命令和控制。

1_net.png

解密出远程服务器地址为winqrcservice[.]net,端口为28564。

接着程序进行等待命令并处理命令阶段。

3_command.png

命令包括获取信息包括基本的信息和杀毒软件信息等,

2_get_av.png

主要命令如下列表:

命令

功能

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