海莲花(OceanLotus)组织,似越南政府背景,攻击活动至少可追溯到2012年,长期针对中国及其他东亚国家(地区)政府、科研机构、海运企业等领域进行攻击。其会对在越南制造业、科技公司、消费品行业和酒店业中有既得利益的外国企业进行了长时间的入侵与渗透,以及一直会以外国政府和对越南持不同政治意见的个人和媒体为主要目标。从2012年至今,持续对中国政府、科研院所、海事机构、海域建设、航运企业等相关重要领域进行长时间 不间断攻击。一直至今该组织针对中国境内的攻击活动依然存在。
1.概述
2023年11月,知道创宇404高级威胁情报团队成功捕获到海莲花组织最新的攻击样本。该样本以购买BMW汽车为主题,诱导攻击目标执行恶意文件。与此同时,该攻击与今年APT29的诱导主题和木马加载流程有相似之处,初步分析表明这可能是攻击者故意模仿的结果。
2.攻击释放链
攻击释放链
3.样本功能综述
原始样本为“BMW_2023年机构及院士销售价格框架.pdf.lnk”。该文件内置了四部分内容,分别是:lnk参数、诱饵文档、dropper程序和hta文件,四部分内容通过相互配合完成既定功能目标。
原始LNK文件
整体指令流程为:lnk参数执行hta文件,hta文件执行dropper程序&诱饵文档,Shellcode加载执行最终Cobalt_Strike RAT程序,各部分功能细节描述如下:
3.1 LNK文件
LNK文件为原始载荷,用于整体释放链的启动工作,通过ShellExec执行CMD指令,其中CMD指令的功能是:
- 确保360安全卫士相关文件不存在
- 将自身拷贝到%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf,并通过mshta.exe进行启动。拷贝逻辑根据是否存在原始文件名称的LNK文件区分为两种,若是原始文件名称的LNK文件存在则直接拷贝;若不存在则遍历%USERPROFILE%路径查找原始文件名称的LNK文件,找到之后将文件拷贝到%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf并通过mshta.exe启动。该部分的区分代码可用于以下功能的检测:
- (1)文件名称是否被更改
- (2)可能原始落地文件在%USERPROFILE%路径下
两个LNK文件参数基本一致
3.2 NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf
该文件存放于LNK文件尾部,通过mshta.exe程序进行启动。根据行为猜测,mshta.exe通过定位标记点启动HTA,故不需要通过提取HTA文件来启动HTA文件。
根据代码来看,HTA文件存在四部分功能。其分别为:定位并保存白加黑程序、定位并保存诱饵文档、运行诱饵文档、修复白加黑程序,各功能模块描述如下:
1.定位并保存白加黑程序
首先加载自身(NTUSER.DAT{
9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf)并将文件游标设置为 offset:11598 读取249374大小数据,保存读取的数据至%appdata%\Lenovo\devicecenter\extends\modules\showdesk\LenovoDesk.exe,接着读取1032190大小数据保存至%appdata%\Lenovo\devicecenter\extends\modules\showdesk\QuickDeskBand.dll:
设置游标并读取白加黑内容&文档内容
白加黑程序起始地址
2.定位并保存诱饵文档
保存诱饵文档数据至本地%temp%\BMW_2023年机构及院士销售价格框架.pdf,启动BMW_2023年机构及院士销售价格框架.pdf文件。
诱饵文件
3.运行诱饵文档
运行诱饵文档内容
4.修复白加黑两个程序,添加MZ文件头
修复白加黑程序
3.3 诱饵文档
诱饵文档内容如下:
3.4 白加黑&COBALT_STRIKE Beacon
先前保存的白加黑程序用于解密并启动Cobalt_Strike,白程序的启动在lnk参数部分实现:
启动白文件
白文件信息
白文件(LenovoDesk.exe)在运行后,通过加载QuickDeskBand.dll并调用其ShowBatteryGauge函数:
加载黑文件
黑文件加载后,其DllMain函数中执行解密操作,解密出后续的载荷。同时,通过ShowBatteryGauge导出主要功能,将LenovoDesk.exe写入注册表的启动项中,实现自动启动。
设置run启动项
黑文件QuickDeskBand.dll 被加载后,进入 DllMain 函数中执行初始化。在 DllMain 中,首先会获取主程序路径,然后使用该路径的后15位字符作为密钥来解密相关数据。攻击者使用当前运行主程序的后15位字符作为解密key,在一定程度上能够反沙箱和反分析调试,只有当主程序名为LenovoDesk.exe时才能够解密出后续的点分十进制数据。如果分析人员以任意文件名进行加载,则无法正确解密后续的CS载荷。
使用文件名作为key解密数据
解密后的数据为IP点分十进制数据,通过 RtlIpv4StringToAddressA 函数将点分十进制IP地址转化为HEX地址形式数据,HEX地址形式的数据为COBALT_STRIKE数据,之后通过设置枚举字体的回调立即启动Cobalt_Strike.
解码CS数据
Cobalt_Strike是一款付费渗透测试产品,允许攻击者在受害机器上部署名为“Beacon”的代理。Beacon 为攻击者提供了丰富的功能,包括但不限于命令执行、按键记录、文件传输、SOCKS 代理、特权升级、mimikatz、端口扫描和横向移动。Beacon 是内存中(无文件)的,因为它由无阶段或多阶段的 shellcode 组成,一旦通过利用漏洞或执行 shellcode 加载程序进行加载,就会反射性地将自身加载到进程的内存中,而不会触及磁盘。
支持通过 HTTP、HTTPS、DNS、SMB 命名管道以及正向和反向TCP进行C2和分段,信标以菊花链式连接。Cobalt Strike带有一个用于开发shellcode加载器的工具包,称为 Artifact Kit。
由于该平台强大的功能及兼容性,许多APT组织也将CS列入自己的武器库中,在以往的APT32攻击活动中我们也经常发现其使用CS作为RAT程序。
文件最终的CS Beacon关键配置信息如下:
CS Beacon 配置信息
从Metadata元数据中可发现其HTTP Header围绕dhgate相关进行伪造。
- Host: www.dhgate.com
- Host: shoppingcart.dhgate.com
Dhgate(敦煌网)是一家国内的跨境小额外贸B2B电商平台,由世纪富轩科技发展有限公司运营,名字来源于丝绸之路重镇敦煌市。
4.IOC
- 38e227fa505dfcf5ccda226eb81c97ad
- 2bc84a0b16d76ffa04acd3ee423cad8dbe6b4fcc
- acf612349fb6ee5d88e2a7da3d39afb3e0699a4ad95ab6a5ff708353498ce76d
- f3a79156daa75a2c09c46309f68c3de7
- c42e5fd854a1d5556bf1f26e50143dfccc2acc55
- b05693f7a6b1f3d323ae65ca2e77115ff8d9ed233c9f192a49d4bbdea7d6be7d
- dd502ea523877af9d4b819c17b4079a8
- 0bc0dd0e6ece375decaa858702c7df5f17c11f58
- db0e5a869b63f4ee5ce17e58a35b42ecb9889f9ab4fb7d2d591ff029a0363751
- 08efe8c1385e8f77a510aced92392afb
- 8ee66b0f2b08e35c845d38164969072a8a22a87b
- 0241b90dff6b2c76bcae2c50ff1b4a1d8957ffedd6b316ec9d4f0d454748959b
5.关联分析
根据公开报告(链接如下),可以得知 APT29 也使用BMW汽车购买相关主题文档攻击过多国外交官。
- https://unit42.paloaltonetworks.com/cloaked-ursa-phishing/
- https://www.mandiant.com/resources/blog/apt29-evolving-diplomatic-phishing
木马加载流程如下:Html -> iso -> link->恶意dll文件->shellcode,其中link文件到恶意dll加载shellcode部分与此次攻击非常类似。
转载来源于
https://paper.seebug.org/3078/
如何防护呢?#网络安全##数据泄露##评论区晒图挑战赛##头条辩论大赛#
该组织拥有非常高的社会工程学技巧,并且常用鱼叉攻击和水坑攻击,并且会利用和修改公开的攻击工具和开源项目。常用PowerShell脚本、COM scriptlets,恶意代码使用C++编写,也有C#编写的恶意代码。
相关攻击战术: 1. 邮件鱼叉攻击,附带包括伪装成文档的PE文件、HTA文件、MHT文件
2. 水坑攻击,在水坑网站植入webshell后门,并且webshell使用Javascript,并控制失陷域名运行两套不同的Javascript框架,用来跟踪和辨识目标受害者
3. 使用Cobalt Strike结合PowerShell脚本实现在内网的横向移动
4. 会在发起攻击前收集攻击目标的信息,并长期跟踪相关热点新闻事件 相关攻击技术: 1. 利用知名官方应用的名称、路径实现恶意模块的运行和躲避检测,如QQ 2. 利用官方应用的DLL劫持技术 3. 在HTTP协议头部的Host字段填充官方域名,并在cookie字段传输加密的内容 4. 使用Safebrowsing Beacon
5. DNS Tunneling
6. 计划任务执行恶意载荷,恶意载荷通常以图片格式下载
7. 常用PowerShell,并利用Invoke-Obfuscation实现混淆
8. 将恶意载荷伪装成常用软件更新或安装程序
9. 使用Outlook宏实现CC后门,其替换VbaProject.OTM为恶意宏
10. 该组织常用的木马被称为Denis木马
大家一起说说