大家好,我是ABC_123,公众号正式更名为”希潭实验室”,敬请关注。去年ABC_123跟朋友一起吃饭,听一个朋友兴奋地说道“我们抓到了一个海莲花!”,于是便引起了我对海莲花APT组织的兴趣。本期就分析一下这个长期对我国进行网络攻击的APT组织“海莲花”,又名APT32、OceanLotus或APT-C-00,该组织普遍认为由越南政府支持,至少从2012年4月份开始,长期对中国及其它国家的政府机构、科研机构、大型国企、能源行业、金融行业和重要私企等进行网络攻击,窃取机密情报或技术资料。
注:对于本篇文章,ABC_123参考了大量由微步威胁情报中心、360安全公司、奇安信安全公司、腾讯御见威胁情报中心、安天公司、看雪论坛等公开发布的各种文章及分析报告,在此谢过。从2020年开始,海莲花开始逐步减少常用的鱼叉式钓鱼入侵,转向漏洞挖掘、水坑攻击甚至是攻击上游供应链,这也是为什么这两年出现在公众视野的海莲花样本大幅度减少的原因。
海莲花APT组织常用的攻击手段就是“鱼叉攻击”及“水坑攻击”,本篇文章着重介绍一下海莲花的鱼叉攻击的钓鱼邮件手法,使大家对于海莲花APT组织有一个直观的认识,对日常红队工作也有帮助,也加强大家对于邮件钓鱼攻击的防范意识。
首先贴出一张由ABC_123制作的海莲花APT组织的邮件钓鱼技战术手法示意图:
这里ABC_123列举几封“海莲花”曾经使用过的邮件主题,先让大家有一个直观的认识,后续遇到这类邮件,一定要谨慎点开!例如:《工资制度以及特殊津贴》、《工资待遇政策的通知》、《冠状病毒实时更新》、《公务员工资收入改革方案》、《定-关于报送 2019 年度经营业绩考核目标建议材料的报告》、《组织部干部四处最新通知更新》、《关于 2019 下半年增加工资实施方案的请示(待审)》、《2019 年工作报告提纲 2(第四稿)》、《2019 年 5 月标准干部培训课程通知》、《湖南省家禽H5N1亚型高致病性禽流感疫情情况》、《中国正在追踪来自湖北的旅行者》、《36东盟峰会26-06-2020会议》等等。
以下截图是从微步威胁情报、腾讯御见安全中心的分析报告中摘出来的比较有代表性的“海莲花”APT组织发送的钓鱼邮件。
查看以下海莲花APT组织的木马样本,为了迷惑受害者,将图标更换为常用软件的图标,一旦用户双击点开邮件附件,软件仍然会正常运行,后台却在悄悄地执行恶意代码,导致电脑被控。
接下来看以下样本,海莲花APT组织把钓鱼邮件附件伪装成各种文档,把图标更换为word、excel、pdf或者wps文,欺骗用户双击运行。
海莲花APT组织有时候会在文件名后面加超长空格,而.exe文件后缀就不可见,受害者看起来以为是普通文档文件,或者是命名为readme.pdf.exe后缀,Windows系统默认常见扩展名不显示,会导致用户看到的是readme.pdf后缀。如下图所示:
海莲花APT组织在邮件钓鱼时,非常喜欢释放一个虚假的无实际内容的文档,造成用户点开之后一头雾水,后台就可以悄无声息地执行恶意代码。以下列举几个常用手法:
1、释放一个模糊word文档:
2、释放一个带密码的文档:
3、弹出windows错误信息:
经过谷歌翻译,发现正在欺骗用户启用宏代码。
4、释放一个错误文档:
这是国外安全团队捕捉到的海莲花样本,利用图片隐写技术将木马shellcode核心代码隐藏在怪盗基德卡通图片中,海莲花恶意程序会下载此PNG图片,从图片中提取shellcode后门并运行,导致电脑被控。
海莲花组织曾经投递使用这个漏洞制作的RTF文档,一旦受害者运行,该恶意文档会下载VBScript HTA文件,进一步执行powershell脚本导致电脑被控。
这是海莲花在2018年3月份的一个样本,附件readme.doc其实是一个利用Office CVE-2017-8570漏洞制作的RTF文档,扩展名被改为.doc格式,一旦受害者点开,就会导致恶意代码被运行。
此分析截图来自于奇安信威胁情报中心,这是一封海莲花APT组织发送的以员工薪酬为主题的钓鱼邮件,名为“请查收8月和9月的工资单.doc”,通过Office的CVE-2017-8759漏洞制作,点开后是一篇模糊不清的word文档,在左上角有一个清晰的空白框框,一旦受害者点击这个小方框(部分情况下不需要点击,打开doc文件即可),就会从远程加载恶意木马文件,导致电脑被控。
此分析截图根据微步威胁情报的截图进行修改,CVE-2017-11882是存在于Office公式编辑器中的一个内存破坏漏洞,如下海莲花样本,文档内容被模糊化。一旦受害者运行该word文件,会释放一个包含Symantec签名的白文件exe程序,通过“白加黑”加载恶意程序rastls.dll。
接下来看来自于奇安信威胁情报中心的一个类似的样本,一旦用户点开此文档就会执行恶意代码,然后加载以图片形式存放在远程服务器上的powershell脚本,进一步下载释放McAfee及dll文件,利用McAfee白加黑加载恶意dll文件导致电脑被控。
Word 模板注入是利用Word文档加载附加模板时的缺陷,加载的模板是带宏的恶意模板,从而间接执行宏代码,该漏洞与宏病毒类似,但利用的是Office的模板功能而非宏,因此不受宏设置和防护机制的影响。
以下海莲花APT样本将加密数据存于母体DOCX文件中,通过远程模板中的宏代码解密执行,会去加载一个含有恶意脚本的png文件。
将此word文档以压缩包格式解压,查看其中的settings.xml.rels,可以发现隐藏在其中的恶意链接地址。
接下来看腾讯御见威胁情报中心给出的样本截图,“2019年1月交付会材料.doc”这个样本并未使用office漏洞,利用的宏处理功能,通过文档内容模糊化处理去诱骗受害者点击运行恶意宏代码,最终解密出shellcode,添加注册表、注入winword.exe进程无文件落地导致电脑被控。
以下截图源于腾讯御见威胁情报中心。此样本是一个伪装成word文档的exe文件,文件属性描述里添加了“Microsoft DOCX”。一旦受害者点击此exe文件,会释放一个内容模糊不清的word文档并打开,诱骗受害者启用宏代码,实际上启用宏之后,仍然看不清楚文档的内容。恶意样本会释放恶意文件dll文件,然后使用rundll32命令加载执行。
打开具有此功能的文档时,即便禁用了宏,Microsoft Word也会尝试下载外部图像,海莲花APT组织会监控Web日志以跟踪用于请求远程图片的公共IP地址,可以密切关注钓鱼邮件的传播及成功率,并对受害组织进行下一步的分析。
传统的恶意宏word文档容易被检测到,后续海莲花开始频繁使用ActvieMime格式文档。大致是将包含恶意宏代码的Office文档,转成成”.mht”格式,然后再将扩展名改为.doc格式,附加到电子邮件中投放给目标。
这是一个来自于奇安信威胁情报中心的2022年的样本截图,打开后会提示受害者启用宏,一个文档可能有35–65 MB大小,文档中隐藏着精心制作的适合于不同系统的恶意dll文件。
一旦受害者启用了宏, 则该恶意文件会打开一个word文档,而该文档实际并无具体内容,仅有一段错误信息:
接着VBA宏代码继续运行,从文档中提取并释放恶意dll文件,添加计划任务实现持久化,将shellcode注入到傀儡进程执行。
在2019年初,WinRAR压缩软件爆出CVE-2018-20250漏洞,该漏洞影响:
1、WinRAR<5.70 Beta1
2、Bandizip<=6.2.0.0
3、好压(2345压缩)<=5.9.8.10907
4、360压缩<=4.0.0.1170
随后海莲花APT组织专门依据此漏洞构造特殊的压缩包文件,使正常用户在不知情的情况下,将恶意程序解压至系统的启动目录或者释放恶意dll文件,劫持其它软件执行,造成用户电脑被控。
接下来看一个海莲花利用压缩包目录穿越漏洞制作的样本(来自于腾讯御见威胁情报中心):
该压缩包解压后,会出现打开一个经过模糊化处理的word文档。
随后在启动目录释放一个自解压文件:
该文件为一个自解压程序,等到用户重启电脑后,会释放一个.ocx 文件,然后执行命令 regsvr32 /s /i .ocx 执行:
海莲花APT组织除了在压缩包中投放迷惑word文档之外,还会放置一些诱惑图片:
以下诱惑图片我就打马赛克了。
受害者还在浏览图片的时候,该样本已经在系统启动目录下放置了一个自解压文件,一旦用户重启电脑,恶意代码将会执行。
接下来看freebuf的文章中给出的一个样本分析,这是一个自解压文件,名为“李建香 (个人简历).exe”,图标被换成了pdf文档的图标。一旦受害者点开运行之后,首先释放并打开一个正常的pdf文件,但是却提示输入密码,然后执行“regsvr32”命令注册运行恶意ocx控件,在内存中解密和调用最终的后门程序。
接下来看来自于微步威胁情报中心分析的另一个海莲花样本,exe格式的自解压文件中,含有一个.docx的正常文档和一个恶意的.ocx的控件。一旦用户双击运行此自解压程序,后台会通过regsvr32程序注册.ocx控件,第二次执行regsvr32命令时,会改变执行流程解密shellcode执行恶意代码导致电脑被控,同时会打开正常.docx文档,欺骗用户以为这是一个正常文档文件。
以下这个样本与上述大同小异,所不同的是用宗教图片替换了原有的word文档,针对特定用户进行鱼叉攻击。
接下来看一个来自于微步威胁情报的较新的海莲花样本,自解压文件中有一个.docx文档,与之前不同的是还有一个.pkg文件和.bin文件。一旦受害者点击次自解压文件,程序会打开正常的docx格式的word文档,提示“error!!!”文档出错,受害者被迷惑期间,程序会在后台通过regsvr32命令加载.pkg文件,然后.pkg会加载.bin,解密其中的恶意代码并加载执行,导致电脑被控。
图中New Microsoft Word Document.docx文档内容如下:
.hta文件是一种基于HTML和VBScript的应用程序。.lnk文件的图标会从网络获取,只要打开lnk所在的目录,explorer解析lnk文件会去解析文件的图标,如果此图标存放在网络上,那么会去自动加载获取图标文件,从而泄露受害者自身的ip地址。
以下截图来源于腾讯御见威胁情报中心:海莲花在一段时间内,每个钓鱼压缩包样本中,都会放置一个恶意的lnk文件,如下图所示:
右键点击查看属性,发现其会调用mshta.exe命令,去http://www.xxx.com/feed/news.html加载恶意的vbs代码。
一旦受害者点击此快捷文件,news.html的恶意代码就会执行,在Temp目录下释放一个.tmp文件,实际上是一个dll格式的文件,然后调用系统自带的odbcconf.exe程序加载此dll文件,解密执行shellcode导致电脑被控。
接下来看一个海莲花APT组织的较新样本,邮件主题是“环境议题资料”,在邮件压缩包中放置了一些图片和一个.hta网页文件,受害者为了看更多的内容,点开.hta格式的网页文件,这个样本中的hta文件与上述不同,直接实现了加载shellcode实现无文件落地,导致受害者电脑被控。
接下来看另外一个海莲花样本,这个样本的图标被更换成了word文档的图标,快捷方式中的命令进行了一部分的加密混淆,说明海莲花组织一直在想各种方法绕过杀软的防护。
使用 dll 侧加载(DLL Side-Loading)技术来执行载荷,是海莲花构建恶意样本的核心攻击技术。就是我们常说的白加黑执行,白文件指的是国内的,带有正常数字签名的常见的应用软件程序,黑文件指的是攻击者嵌入恶意代码的同名的dll文件。早期的海莲花样本,一般劫持Windows系统dll,如搜索功能相关的msfte.dll文件,较新版本的海莲花样本,一般都是劫持拥有合法签名的程序所加载的dll文件。
以下截图来源于腾讯御见威胁情报中心,这种手法的好处是,利用word安装包本身的程序winword.exe进行白加黑,自带word图标,更容易迷惑对手。
本篇文章参考“雷神众测”的Prowes5作者的文章。该文件为一个自解压文件,图标替换成了word文档图标,用来迷惑受害者进行点击。Word可执行文件自带Word文档图标,可同时伪装成文档文件进行钓鱼攻击。
一旦受害者点击之后,该程序首先会释放并打开一个不知道密码的word文档,迷惑用户。
当用户还在到处寻找文档密码时,该程序会悄悄地在Roaming文件夹中释放qq.exe和Plugin文件夹,伪装成qq程序的样子,将恶意的dll文件存放到plugin文件夹中。
同时新增定时任务,定时任务的名称为QQIntlUdt和QQIntlUdt_用户名,用作触发木马执行和权限维持。
接下来看一个较新的海莲花APT组织样本,同样使用了白+黑的加载方式,样本伪装成DOC文档图标,EXE后缀的自解压程序,如下所示:
运行样本之后,释放白+黑程序,并启动白程序,然后利用升级程序MicrosoftUpdate.exe,加载恶意程序SoftwareUpdateFilesLocalized.dll,读取SoftwareUpdateFiles.locale文件并解密,同时释放一个doc文件并打开,迷惑受害者。
一旦SoftManager.exe被运行,恶意dbghelp.dll文件会随着运行,导致电脑被控。
接下来看另一个海莲花样本,使用了Google的升级程序Google_Install.exe白加黑的加载方式加载恶意程序goopdate.dll文件:
运行Google_Install.exe,会加载goopdate.dll:
APT样本包含lenovodrvtray.exe和DgBase.dll两个文件,其中lenovodrvtray.exe是带有正规数字签名的联想驱动自动安装软件,在启动时会加载恶意文件DgBase.dll。
如下样本adobe-font-pack.exe是一个伪装成adobe字体补丁文件的恶意样本,该程序会首先运行字体补丁迷惑用户,同时会释放3个文件rastlsc.exe、rastls.dll和OUTLFLTR.DAT。其中rastlsc.exe文件拥有Symantec公司的签名,是典型的“白利用”技术,一旦该程序运行,rastls.dll恶意文件也会随着运行,导致电脑被控。
首先看微步威胁情报中心的报告分析中的样本文件,诱饵“2019 年第一季度工作方向附表.rar”为一个压缩文件,其中“2019 年第一季度工作方向附表.EXE”为包含有效数字签名的 Word 2007 可执行程序, 一旦此程序被运行,那么被设置为系统隐藏的恶意的wwlib.dll也会被执行。
以下截图来源于微步威胁情报中心:
如下图所示,该“2019 年第一季度工作方向附表.EXE”文件含有正常的微软合法签名。
wwlib.dll文件通过白利用被加载后,会在Temp目录下释放一个带密码的word文档蒙骗受害者,误以为这是一个正常的word文件。
当受害者还一头雾水时,wwlib.dll文件会继续释放360se.exe、chrome_elf.dll文件,然后360se.exe也是一个带有正常数字签名的文件,一旦被运行,恶意文件chrome_elf.dll也会被运行。
chrome_elf.dll文件会远程下载一个direct.jpg图片文件,该图片文件实际是一段可以在内存中执行的恶意代码,进一步解密出cs木马的shellcode并加载运行,从而导致电脑被控。而在最新的攻击活动中,海莲花组织进行了修正,如果远程下载shellcode不成功,那么会解密并加载预先设定好的后门程序,以此提升攻击成功率。
接下来看腾讯御见威胁情报中心的报告中的截图,以下是海莲花制作的一个chm文档,chm内嵌恶意脚本,点开会提示Windows安全警告,提示“您想允许这种交互吗?”。
一旦用户点击“是”,该chm文档中隐藏的恶意脚本会执行,释放一个恶意的dll文件bcdsrv.dll,接着创建名为MonthlyMaintenance的计划任务,循环执行msiexe.exe命令加载bcdsrv.dll文件,导致电脑被控。
1. 通过分析总结以往海莲花APT组织的钓鱼邮件手法发现,该组织会及时跟进最新出的1day漏洞,并结合社会工程学将这些公开或者半公开的漏洞的利用发挥到了极致,并取得了很好的效果。
2. 海莲花APT组织特别热衷于释放一个虚假文档或模糊文档诱骗受害者,多年以来,一直热衷于dll侧加载(白加黑)去制作攻击载荷。
3. 海莲花尤其擅长社会工程学,从他们以往发送的针对中国的钓鱼邮件发现,他们时刻关注中国大陆的热点新闻事件,及时更新钓鱼邮件内容,加大钓鱼成功率。
4. 从最近几年的海莲花组织的样本来看,他们所用的第二阶段后门都是根据所在机器属性定制,因此每个样本的hash值都是不一样的,即使安全分析人员拿到样本,没有所在机器的属性信息,也解密不了其中的恶意payload代码。
5. 不要打开来历不明的邮件附件,及时更新系统补丁和重要软件补丁,特别是不被大家重视的Office软件补丁,点开office文档,一定要尽量避免启用宏代码。
公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。
Contact me: 0day123abc#gmail.com(replace # with @)