“海莲花”APT攻击样本分析报告 2019-09-02 启明星辰金睛安全研究团队
一、 基本信息
海莲花(OceanLotus),又称APT32,2012年4月至今,该境外组织对中国政府、科研院所、海事机构、海域建设、航运企业等相关重要领域展开了有组织、有计划、有针对性的长时间、不间断的攻击。
1.1 样本基本信息
样本原始文件名:nguyenvananh-virus.zip
MD5:e3d881a6b4941aca14e2829a303a9476
SHA1: C159E6489CA0B516017B7468013084A8FC422870
样本来源:VirusTotal
1.2 主要执行流程描述
二、 关键技术概览(必需)
2.1 关键技术一:HOOK技术
样本使用了Hook技术修改ULdrLoadDl的跳回执行恶意代码
2.2 关键技术二:无文件技术
样本通过使用Chttp接收到Beacon木马后门并执行,Beacon木马后门只存在内存中
三、 详细分析(必需)
3.1 原始文档分析
原始样本为zip的压缩包,解压后文件结构如下,其中主文件具有白文件的Word签名文件,而恶意代码存放到wwlib之中,这是典型的word白加黑利用方式
原始程序会加载wwlib.dll模块,而wwlib,dll模块的DllEntryPoint会hook掉LdrLoadDll的后几个字节,进而跳转执行wwlib中的shellcode恶意代码
Shellcode通过PEB获取dll的加载基址,及部分关键的API函数
通过调用wininet.dll中的函数,连接cloud.doomdns.org,调用GET请求获取第一段PE数据并执行,将获取的PE数据dump下来,发现这是一个dll的文件,接下来对dll文件进行分析
Dll首先获取了系统中的信息,获取了当前进程PID,系统主要版本号,次要版本号,用户名,电脑名,当前系统是64还是32位,IP地址等关键信息
然后向cloud.doomdns.org发送GET请求,请求的内容如下
循环读取从域名端接收到的数据,获取到数据后,对接收到的数据进行switch判断,共有76种执行方法,经过分析这是Cobalt Strike Beacon 木马后门,其中具体包含进程注入、文件创建、服务创建、文件释放、修改进程属性、修改目录、远程线程等操作
在本次实验中,从url接收到数据后,调用了case 54,在C:\ProgramData\Googlephoto目录下又释放了3个文件,分别为Googleupdata.exe,goopdate.dll,word.bat 然后使用cmd执行word.bat
其中Googleupdate.exe为谷歌更新程序的白文件,而goopdate.dll为Cometerl木马下载器,而word.bat作为病毒持久性的保障,在word.bat之中有这样的代码Schtasks/create/scMINUTE/tn"Googlephotosyn"/tr"c:\programdata\Googlephoto\Googleupdate.exe" /mo 10 /F,意思是每10分钟启动一次Googleupdate.exe
goopdate.dll中首先会从内存中解析出shellcode,并调用该shellcode
这段shellcode与最开始hook时调用的shellcode的流程大体相同,区别是进行网络连接时调用的参数不同,这次请求的时/ht67,获得代码后进行执行,代码会将Cobalt Strike Beacon木马后门再次解析出来进行执行,到此完成代码的大致分析
四、 ATT&CK
|
矩阵类别 |
使用方法 |
详细说明 |
|
Initial Access |
T1193 |
样本为Word白文件,通常作为邮件接收,需用户点击执行 |
|
Execution |
T1204/T1218 |
使用白签名迷惑用户点击程序进行执行恶意代码 |
|
Persistence |
T1053 |
使用Windows任务计划程序建立持久性 |
|
Privilege Escalation |
T1053/T1157 |
分别劫持了wwlib.dll和goopdate.dll,使用白加黑提权 |
|
Defence Evasion |
T1158/T1140/T1027 |
除原文件外,所有的shellcode均是解密出来的,用于隐藏自身 |
|
Credential Access |
|
|
|
Discovery |
T1012/T1082/T1033 |
获取了当前进程PID,系统主要版本号,次要版本号,用户名,电脑名,当前系统是64还是32位,IP地址等关键信息 |
|
Lateral Movement |
|
|
|
Collection |
|
|
|
Command and Control |
T1071/T1065/T1024 |
使用非常用的端口,向目标ip发送TLSV1协议内容,协议的数据经过了加密处理 |
|
Exfiltration |
|
|
|
Inmpact |
|
|
注:详情参考:https://attack.mitre.org/matrices/enterprise/
五、 关联方法
此样本使用了KerrDown加Cobalt Strike Beacon攻击手法,与之前的样本极其相似,这是APT32组织2018末以来的惯用技术
参考链接:https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=1283
参考样本:9efc7ee0d13642e8aec46d3c2e72e1d5
六、 解决方案
6.1 流量检测特征添加原理
本样本的流量使用了TLSV1的SSL非对称协议进行加密,无法提取出明显的流量特征
6.2 主要关键行为特征
1、调用计划任务实现持久化
Cmdline schtasks /create /sc MINUTE /tn "Googlephotosyn" /tr "c:\programdata\Googlephoto\Googleupdate.exe" /mo 10 /F
2、使用谷歌白加黑,文件路径为c:\programdata\Googlephoto\
6.3 IOC信息
域名:cloud.doomdns.org
URL: cloud.doomdns.org /ht67
https://cloud.doomdns.org /vn09
https://cloud.doomdns.org/safebrowsing/rd/CltOb12nLW1IbHehcmUtd2hUdmFzEBAY7-0KIOkUDC7h2
Hash: e3d881a6b4941aca14e2829a303a9476
8D42D9FD3A4D32BC0474D07052CE8984
七、 参考链接
https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=1283