“蔓灵花(Bitter)”APT攻击样本分析报告 2019-08-27 启明星辰金睛安全研究团队
一、 基本信息
BITTER(中文名称:蔓灵花)是一个主要针对中国和巴基斯坦进行网络犯罪攻击活动的APT组织。该组织主要针对政府、军工、电力等单位进行攻击,窃取敏感资料。该组织疑似归属南亚某国,近年持续针对我国敏感单位进行网络攻击。此次样本通过对twitter内容进行爬取,获取到样本相关信息,从VT上获取样本
1.1 样本基本信息
样本原始文件名:Urgent Action.docx
MD5:02C2A68CE9A35F5F0E1B3456E09D6CC9
SHA1: 4A34DD5D7F5225F0A9EE6ABD2F08130988227F4D
CRC32: 97947DA3
样本原始文件名:Urgent Action.docx
样本来源:VirusTotal
1.2 主要执行流程描述
二、 关键技术概览(必需)
2.1 关键技术一:注入技术
样本使用了Word模板注入的技术,从URL下载恶意文档进行执行
2.2 关键技术二:漏洞技术
样本使用了CVE-2018-0798公式编辑器漏洞执行恶意代码
三、 详细分析(必需)
3.1 原始文档分析
首先原始文档并未使用Word漏洞执行恶意代码,而是使用了Word模板注入技术,在文档内存在settings.xml.rels文件,其中含有模板的URL地址
执行原始文档,从URL下载新的恶意文档并打开,提取出来是一个rtf文件
3.2 rtf文件分析
这个rtf文件存在CVE-2018-0798公式编辑器漏洞,漏洞原理不多赘述,定位到漏洞触发点,会执行恶意的shellcode
Shellcode会从http://maq.com.pk/wehs 这个域名下载文件
将下载下的文件命名为smss.exe存放到C:\\Temp文件夹下,并备份一份存放C:\\ProgramData\\Ntuser\\winlgn.exe
最后通调用了ShellExecuteA这个函数,其中第二个和第三个参数打开了一个explorer.exe进程,然后将C:\\Temp\\smss.exe作为传给explorer.exe的参数,用explorer.exe打开smss.exe进程,这样做使smss.exe的父进程为程序管理器而不是公式编辑器,用于躲避检测和查杀。然后shellcode执行结束,将流程交给smss.exe
3.3 smss.exe文件分析
首先,恶意文件通过创建一个隐藏的窗口执行恶意代码来达到隐藏自身的目的
然后创建了一个SeT的环境变量,自启动SeT环境变量下的恶意文件目录
然后会获取用户计算机的许多基本信息,获取计算机的信息,如计算机名,ProductID,系统版本信息,用户信息,套接字信息等
由于用户不会操作到隐藏的窗口,所以通过LoadAcceleratorsA和TranslateAcceleratorA这两个函数,将用户按下的键盘消息转化为命令消息,每当用户点击了快捷键表中记录的按键时,就会执行窗口回调函数,快捷键如下
在回调函数内会设置计时器,每隔6s调用一次计时器的回调函数,回调函数会创建套接字,将获取的消息进行加密,发送到93.123.73.193:80,等待接收消息,对流量抓包如下
对接收到的数据进行判断,比对数据中是否存在”qry=”的字符串,及之后的几个字节是否存在“DWN”命令
如果存在这些指令,重新向93.123.73.193:80发送另外的数据包,数据包如下
等待接收数据,将接收到的数据存储到C:\ProgramData\Ntuser下的nCach文件,然后创建新的进程执行这个文件,进而可执行其他的恶意攻击,完成后门的植入。
四、 ATT&CK
矩阵类别 |
使用方法 |
详细说明 |
Initial Access |
T1193 |
样本格式为Word文档,通常作为邮件接收 |
Execution |
T1204 |
需用户打开Word文档以执行恶意代码 |
Persistence |
T1060 |
在注册表中添加自启动以建立持久性 |
Privilege Escalation |
|
|
Defence Evasion |
T1158/T1221 |
1.隐藏恶意文件的文件夹以隐藏自身 |
Credential Access |
T1214 |
通过注册表获取用户账户信息 |
Discovery |
T1033/T1016/T1082/T1012 |
恶意代码获取了计算机名字,产品ID,系统版本消息,套接字版本,当前登陆用户等信息 |
Lateral Movement |
|
|
Collection |
|
|
Command and Control |
T1071/T1065/T1024 |
使用非常用的端口,向目标ip发送http协议内容,协议的数据经过了加密处理 |
Exfiltration |
|
|
Inmpact |
|
|
注:详情参考:https://attack.mitre.org/matrices/enterprise/
五、 关联方法
1、样本最后释放的smss.exe是ArtraDownloader的变种,使用创建隐藏窗口的方式调用SetTimer执行新回调函数,创建实际下载和执行恶意程序的调用,是Bitter常用木马
参考链接:unit42.paloaltonetworks.com/multiple-artradownloader-variants-used-by-bitter-to-target-pakistan
2、使用在线沙箱查询相关域名,解析为Bitter的APT攻击
参考链接:https://x.threatbook.cn/nodev4/domain/onlinejohnline99.org
https://www.venuseye.com.cn/domain/
3、关联信息中获取此次样本所用IP及与域名曾被Bitter使用过
六、 关联拓线信息
1. IP关联信息
203.124.43.227关联信息
maq.com.pk |
shahzadbrothers.com.pk |
|
关联样本 |
本次样本的rtf文件,及 |
http:/[]/shahzadbrothers.com.pk/profiles/amaya.zip |
93.123.73.193关联信息
同样与此IP产生通讯的恶意文件
关联URL:http://onlinejohnline99.org/lax05u.php
文件名:winlogn.exe
MD5: eec2828cb4a9032ab1177bb472f1977b
SHA1:0dd961e938ce34b7d30ec5d86e3ffa146b6f6e91
七、 解决方案(必需)
7.1 流量检测特征添加原理
事件名:上传用户基本信息
事件添加原理:(需要关键报文以及相关解释)
测试机发送的数据如下
流量检测建议
报文中同时存在“SNI=”、“UME=“、”OPQ=“、”IVR=“等字样
7.2 主要关键行为特征
1. 当前用户环境变量:SeT
2. 特殊文件夹:C:\\Temp
3. ArtraDownloader木马下载器会隐藏窗口ShowWindow(HIDE),之后会依次调用LoadAcceleratorsA、GetMessageA、TranslateAcceleratorA的API序列
7.3 IOC信息
域名: maq.com.pk/onlinejohnline99.org
IP: 203.124.43.227/93.123.73.193
URL: http ://maq[.]com[.]pk/wehsd / http://maq[.]com[.]pk/wehs
Hash:
MD5: 02C2A68CE9A35F5F0E1B3456E09D6CC9
E3E78DACE796D1CFAF6A4EFA088C6D9B
73C297F059DD94671CA4E4C7DBFA6241
SHA1: 4A34DD5D7F5225F0A9EE6ABD2F08130988227F4D
A52B200374756282479111AD3488E42E8C56E209
F9D5E6003715FBE3CCDF78A8BEF866EBC876C85F
YARA Sig:
1. rule ArtraDownlaoder_bin
2. {
3. meta:
4. description = "Artra Downloader"
5. author = "James_inthe_box"
6. reference="dcb8531b0879d46949dd63b1ac094f5588c26867805d0795e244f4f9b8077ed1"
7. date = "2019/08"
8. maltype = "Loader"
9.
10. strings:
11. $string1 = "bqqmjdbujpo0y.xxx.gpsn.vsmfodpefe"
12. $string2 = "=%s&st=%d"
13. $string4 = "Content-length: %d"
14. $string5 = "0I0N0V0\\0o0v0"
15. $string6 = "ID=%s"
16.
17. condition:
18. uint16(0) == 0x5A4D and all of ($string*) and filesize < 100KB
19. }
20.
21. rule ArtraDownlaoder_mem
22. {
23. meta:
24. description = "Artra Downloader"
25. author = "James_inthe_box"
26. reference="dcb8531b0879d46949dd63b1ac094f5588c26867805d0795e244f4f9b8077ed1"
27. date = "2019/08"
28. maltype = "Loader"
29.
30. strings:
31. $string1 = "bqqmjdbujpo0y.xxx.gpsn.vsmfodpefe"
32. $string2 = "=%s&st=%d"
33. $string4 = "Content-length: %d"
34. $string5 = "0I0N0V0\\0o0v0"
35. $string6 = "ID=%s"
36.
37. condition:
38. all of ($string*) and filesize > 100KB
39. }
八、 参考链接(必需)
unit42.paloaltonetworks.com/multiple-artradownloader-variants-used-by-bitter-to-target-pakistan
https://www.freebuf.com/articles/paper/120002.html