一、概述
北京观成科技安全研究团队近期对APT组织“海莲花”(OceanLotus)发起的一轮定向攻击活动进行了深入分析,该组织长期针对中国境内目标实施网络攻击。本次攻击中,攻击者通过邮件附件投递了一个伪装成某旅行机票预订网站电子报销凭证的ZIP压缩包,解压后释放同名IMG光盘镜像文件,利用国内机票报销场景诱导用户打开镜像并执行其中文件。从诱饵选择来看,该组织对国内目标的使用习惯和常见业务场景有了更进一步的了解。攻击链采用“白加黑”DLL侧加载技术,通过伪装为Word文档的LNK文件启动恶意脚本,并加载后续恶意模块。样本通过休眠、反调试、内存加载等多层技术规避检测,最终释放出远控木马,研究团队根据其核心模块中的导出函数GetMoyeaException将其命名为Moyea。该木马基于HTTPS协议通信,并对应用层通信载荷采用RC4算法加密,可实现远程命令执行、文件操作、载荷下发、C2地址更新等远程控制能力。下文将从攻击流程、加密通信机制及流量特征三个方面进行详细分析。
二、攻击流程
样本信息如下表所示。
表1样本信息
文件名 | 功能 | SHA256 |
【***网】2026-05-21-ZHI机票订单电子报销凭证.zip | 解压后释放光盘镜像文件 | bbf57549d984975c326af0a9caeb98f684e3af505644e2cc1c8d95d52876c4b3 |
【***网】机票订单电子报销凭证.img | 光盘镜像文件,包含其他恶意文件 | 2cb31d6f254f736381ce61e68e0d93bafd8ae073c23671c0748d026702d10f7d |
机票订单电子报销凭证.pdf.lnk | 执行r3ZImNT.vbs恶意脚本 | ee145d332960e710dbb216eec9c81993267a4fde9f4bec6aacaec259f13ea36f |
机票订单电子报销凭证.pdf | 诱饵文档 | e0314a11fd4d60e090181993df502dbc5bd88c7a119eb8f5abaa8ca9b663f636 |
r3ZImNT.vbs | 复制其他文件至复制到 %USERPROFILE%\AppData\Local\Billfish\,执行analyzer.exe | e319d4eebe7e4b35571af779e4ebfe5c2c0992c86093ef2674d7823c5bebb11a |
analyzer.exe | 加载恶意文件mglobal.dll | 1eff7e3d88323554f73c73e6f4ced30457a5d11c8ed52dda0d923ea96e7368cd |
mglobal.dll | 内存中加载并解密userinit.db和unins000.dat | 38252394c6797d73bd0344975c58c1a10ed275ff511e9387616a869f95237313 |
unins000.dat | LZMA+RC4+Base64加密的最终载荷 | cd8955f51a0e190601e95c9bc4cde33c76f2d6a7bc64870a38b06af5fa98ab45 |
userinit.db | RC4 加密的HiveSwarming.exe,该文件可在无需管理员权限的前提下,实现 .reg 注册表脚本与注册表hive文件的双向互转 | a8e7b6d54419c343981fafa07cab284c7359ad7c7d191a37d411cbba70c6b0e5 |
vcruntime140.dll | 白文件 | e1d6f78a72836ea120bd27a33ae89cbdc3f3ca7d9d0231aaa3aac91996d2fa4e |
vcruntime140_1.dll | 白文件 | 04e7ccbdcad7cbaf0ed28692fb08eab832c38aad9071749037ee7a58f45e9d7d |
LIBEAY32.dll | 白文件,OpenSSL Crypto核心库,包含各种加解密算法实现 | dfe8a0819c1daede4df410f2016d86fb074245794eec5f2e639fd754637bdff3 |
msvcp140.dll | 白文件 | d86ac158123a245b927592c80cc020fea29c8c4addc144466c4625a00ca9c77a |
样本执行流程如下:
图1攻击流程
2.1 诱导执行与载荷释放
攻击者通过伪装为Word文档的LNK文件诱导用户执行。该LNK文件通过相对路径调用同目录下的VBS脚本。VBS脚本将8个组件复制到%USERPROFILE%\AppData\Local\Billfish\目录下,休眠8.4秒以规避沙箱检测,随后从该目录运行带有数字签名的 Analyzer.exe。
图2相关文件
2.2 恶意模块加载与环境检测
Analyzer.exe启动后,通过DLL侧加载方式加载目录下的mglobal.dll,并调用其导出函数GetMoyeaException。mglobal.dll具备多种反分析能力,包括检测BeingDebugged、NtGlobalFlag 等调试标志,检查硬件断点及调试寄存器状态,同时利用Sleep延时机制增加动态分析难度。
图3反分析
该 DLL还会枚举系统服务,检测目标环境是否存在360主动防御相关服务。若未发现相关服务,则向注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Run写入持久化项<USERPROFILE>\Appdata\Local\Billfish\Analyzer.exe。
图4持久化操作
2.3 Shellcode 解密与内存执行
mglobal.dll 从本地文件 unins000.dat 中读取加密数据至内存。首先对数据进行 Base64 解码,随后使用硬编码 RC4 密钥e045427be13865fe8a651da0602cc450进行解密。随后创建新线程,执行解密后的 unins000.decrypt。
图5解密unins000.dat
该 unins000.decrypt 载荷进一步通过 LZMA 算法解压,释放出 Moyea 远控木马。Moyea 远控木马在内存中加载执行,负责后续 C2 通信与远程控制。
图6LZMA解压缩
2.4 C2通信
Moyea远控木马通过HTTPS 协议与C2服务器通信,采用POST请求发送上线数据。样本采集受害主机信息,包括计算机名、用户名、操作系统及 MAC 地址等,并与内置配置数据组合生成上线信息。通信数据采用 RC4 算法加密,每次通信动态生成 16 字节随机密钥,并按照“[16字节RC4密钥][RC4加密数据]”格式封装后发送至 C2 服务器。
建立通信后,攻击者可通过C2下发控制指令,实现远程控制功能,包括文件写入、文件读取、Shell 命令执行、其他载荷执行、休眠及退出等操作。同时,样本支持根据C2指令动态修改通信配置,包括C2地址等参数,实现C2基础设施切换。
三、加密通信分析
3.1 上线及心跳
样本基于HTTPS协议实现C2通信,内置主备C2地址列表,主C2地址为 https://meat-bic-order.jp/storage/siteme.php 和https://www.tone21.mydns.jp/diary/cmn/siteme.php。样本运行后采集受害主机指纹信息,包括计算机名、用户名、操作系统和MAC地址,并将其与内置字段拼接,生成上线及心跳通信数据。在通信过程中,样本动态生成16字节随机RC4密钥,对待发送数据进行加密,并按“16字节RC4密钥 + RC4密文”的格式封装POST请求体,最终通过HTTPS通道发送至C2服务器。
图7请求体数据结构
图8HTTPS解密后的上线信息
解密后的上线信息如下表所示。
表2上线信息
c=计算机名;u=用户名;o=操作系统;p=1;a=1;b=2;e=1;v=3;g=21656;s=MAC地址|用户名 |
3.2控制指令
该样本具备远程控制能力,支持在受害主机上执行多种操作,包括文件写入、文件读取、Shell 命令执行、其他载荷执行、休眠及退出等。同时,样本支持向C2服务器上报当前通信配置信息,并根据C2指令动态修改通信配置参数。其中,这些参数包括C2地址、HTTP User-Agent、请求方法等网络通信相关字段。
表3控制指令
序号 | 命令 | 功能 |
1 | ex | 退出 |
2 | sh | 执行shell |
3 | do | 读取文件 |
4 | up | 写入文件 |
5 | lo | 执行载荷 |
6 | sl | 休眠 |
7 | coc | 配置上报 |
8 | cod | 清空useragent/proxy/headers配置 |
9 | cos | 设置配置useragent/proxy/timeout/headers/urls/retries/keepalive |
指令下发和数据回传的数据格式如下表所示。控制指令由标识符、操作指令及参数组成,数据格式为 <cid> <操作指令> [参数]。例如,C2 服务器可下发“1 sh whoami”指令,要求样本在受害主机上执行 Shell 命令 whoami。样本执行完成后,按固定响应格式将结果返回至 C2 服务器。响应数据包含 f、s、dt 字段:f 表示响应类型码,s 表示执行状态(如 200、400),dt 用于存储具体执行结果。
表4控制指令数据格式
类型 | 格式 | 示例 |
控制指令 | <cid> <指令> <参数> | 1 sh whoami |
回传数据 | <服务器下发的包含id的数据>;cid=<cid>;f=<N>;s=200|400;dt=<结果> | id;cid=1;f=1;s=200;dt=desktop-v53nkfu\\test\ |
f字段的具体值及其意义如下表所示。
表5f字段信息
f值 | 含义 | 相关命令 | dt内容 |
1 | 控制 | ex/sh/sl/cod/cos | 执行结果 |
2 | 读文件 | do | 文件内容 |
3 | 写文件 | up | 空(成功)/ 错误文本(失败) |
4 | 执行 | lo | 空 |
5 | 配置上报 | coc | ur=<URL>;m=<方法>;t=0;ke=<keepalive>;pr=<代理>;ag=<UA>;he=<头>;ls=<上次状态>;re= |
以下发coc控制指令为例,样本与 C2 服务器的交互过程如下:C2 服务器接收到样本上线包后,首先返回包含 id 的数据;样本使用 RC4 加密该数据并回传至 C2 服务器;随后,C2 服务器下发经 RC4 加密的 coc 控制指令,样本解密并执行指令后,将执行结果加密返回至 C2 服务器,完成一次控制指令交互。
图9指令下发过程
客户端发送上线包后,服务器返回明文的“id”。
图10服务器返回包含“id”的字符串
当客户端发送加密后的“id=1”后,服务器下发指令“1 coc x”。
图11指令下发
客户端接收到控制指令后,读取配置信息,发送给C2服务器。
图12上报配置信息
图13上报的配置信息
3.3流量特征
Moyea远控木马通过 TLS 加密通道与C&C服务器进行周期性心跳通信。每个 TLS 单流仅承载一次 HTTP POST 请求,心跳周期约为 1s。客户端完成 TLS 握手后,连续发送两个 TLS Application Data,分别封装 HTTP 请求头与请求体。服务端返回响应后会话结束,形成稳定的请求交互结构。心跳请求携带的系统信息经 RC4 加密后传输,未进行额外填充,因此不同 TLS 会话中对应 Application Data 的长度变化较小,一致性较高。整体表现出高频、短连接、固定ApplicationData长度等特征。
图14心跳请求
四、检测
观成瞰云(ENS)-加密威胁智能检测系统能够对海莲花组织的Moyea远控木马进行有效检出。
图15观成瞰云(ENS)-加密威胁智能检测系统检出结果
- 总结
此次攻击活动中,海莲花组织以国内机票报销凭证为诱饵,利用LNK、VBS、DLL侧加载及多层解密等手法释放Moyea远控木马,并采用HTTPS+RC4加密方式与C2通信,对国内目标发起了一轮较大规模的定向攻击,并且其攻击链还针对国内终端安全环境进行了专门适配与规避。这再次表明,海莲花组织对国内终端安全环境和用户行为习惯有着长期跟踪和深入了解。从高度本土化的诱饵设计,到对国内安全防护体系的针对性规避,均反映出该组织针对国内目标的侦察与潜伏具有高度的持续性和隐蔽性。针对此类远控木马,观成瞰云(ENS)-加密威胁智能检测系统现阶段已具备检出能力。同时,观成科技安全研究团队也将持续跟踪海莲花APT组织的攻击活动演进,及时更新检测策略,以应对该组织针对国内目标的长期威胁。
六、IoC
类型 | 值 |
IP | 3.113.156.133:443 |
文件Hash | bbf57549d984975c326af0a9caeb98f684e3af505644e2cc1c8d95d52876c4b3 2cb31d6f254f736381ce61e68e0d93bafd8ae073c23671c0748d026702d10f7d ee145d332960e710dbb216eec9c81993267a4fde9f4bec6aacaec259f13ea36f e0314a11fd4d60e090181993df502dbc5bd88c7a119eb8f5abaa8ca9b663f636 e319d4eebe7e4b35571af779e4ebfe5c2c0992c86093ef2674d7823c5bebb11a 1eff7e3d88323554f73c73e6f4ced30457a5d11c8ed52dda0d923ea96e7368cd 38252394c6797d73bd0344975c58c1a10ed275ff511e9387616a869f95237313 cd8955f51a0e190601e95c9bc4cde33c76f2d6a7bc64870a38b06af5fa98ab45 a8e7b6d54419c343981fafa07cab284c7359ad7c7d191a37d411cbba70c6b0e5 |
Domain | meat-bic-order.jp www.tone21.mydns.jp |