11:28:51 阅读量:1

【病毒分析】深度剖析粉丝投稿:海莲花APT超级间谍组织最新免杀样本(从白加黑落地到定制化RUST远控)

#APT #威胁情报 #攻击技术 #安全技术

依托 Solar 安全运营响应团队的日常实战沉淀,我们会定期分享在安全运营中处置的典型应急响应事件,涵盖银狐木马、APT 攻击、勒索病毒等各类主流威胁。

作为专业的应急响应中心,Solar 致力于为复杂多变的安全事件提供从深度溯源到闭环处置的全流程支持。针对银狐、APT 等具有高隐蔽性的威胁,我们不仅聚焦于对其攻击行为的深度剖析,更致力于还原其完整的活动链路,并同步输出切实可行的​清除闭环操作方案​。

突发危机干预通道: 若您的核心资产正面临加密锁定或数据勒索风险,请通过文末二维码联系我们。我们提供全天候紧急介入服务,协助您快速切断攻击链路,全力挽回业务损失。

一、背景概述与海莲花组织简介

在深入剖析本次的恶意样本之前,我们有必要先了解本次攻击事件的幕后黑手:**海莲花(Ocean Lotus),**在安全业界也被称为 APT32 或 Canvas Assassin。

自 2012 年首次被安全社区披露以来,海莲花便展现出了极高的组织度与技术演进能力。与那些以直接勒索钱财为目的的黑产团伙不同,海莲花是一个具有明确政治和经济情报收集意图的国家级高级持续性威胁组织。

根据历年威胁情报统计的海莲花组织活跃区域与核心攻击目标分布概览

  1. 核心攻击目标:综合业界(如安天 CERT 等顶尖安全机构)近期的持续追踪与我们的研判分析,该组织的攻击目标具有极强的针对性。他们长期聚焦于东亚地区,尤其是针对我国的政府部门、国防军工、外交机构、核心智库单位以及海事科研企业。近期,更是频频利用“十五五规划”等国家宏观政策热点作为诱饵,向核心岗位的关键人员精准投递鱼叉式钓鱼邮件。
  2. 核心作案诉求与盈利模式:海莲花的行动并非为了短期的资金变现(如加密勒索),而是以长期潜伏、刺探与窃密为主。他们致力于获取目标机构的内部机密文件、战略规划草案、敏感技术参数以及关键人员的通信记录。这些高价值的数字资产在国家层面的博弈中具有不可估量的战略意义。

海莲花组织常利用社会工程学结合时事热点构造的高诱导性钓鱼邮件示例(图片来源:安天CERT)

  • **标志性攻击手法:**在技术战术层面,该组织是利用社会工程学的大师,同时也是“白加黑”(DLL 侧加载/搜索顺序劫持)技术的资深玩家。他们极度擅长将恶意代码隐匿于带有合法数字签名的商业软件背后,并配合多重内存解密、反调试手段,以此穿透企业内部的重重防线。

二、 事件溯源与样本捕获始末

本次进入 Solar 应急响应团队视野的高级免杀样本,来源于一位长期与我们保持密切技术交流的粉丝师傅的授权投稿。

在近期的企业安全应急响应处置中,这位师傅捕获了一组行为极其隐蔽的文件。初步排查发现,该样本在主流的安全沙箱与终端防病毒软件(AV/EDR)环境下几乎处于​隐蔽状态​。基于双方深厚的技术互信,该师傅将样本脱敏后提交给 Solar 应急响应团队进行深度逆向研判,希望能借此完善社区的威胁检测规则。

与粉丝师傅关于捕获高隐蔽性免杀样本的沟通记录,双方确认了授权分析与成果共享意向

三、 样本静态特征与执行链纵览

解压粉丝提交的压缩包后,我们提取到了三个核心组件。从文件结构来看,这是海莲花组织极为经典的一套“白加黑”攻击组件。

解压后的文件示例

执行逻辑流推演:

样本整体执行流程图,展示了从合法程序启动到最终在内存中执行远程控制 Shellcode 的全过程

四、 核心组件深度逆向解析

4.1 白文件滥用:CloudAdapter.exe 逆向分析

攻击者将知名的压缩软件组件 Bandizip.exe 重命名为 CloudAdapter.exe。通过查看其文件属性,可以确认其数字签名完整有效,未遭到任何破坏或篡改。这使得它在执行初期能够轻易骗过多数基于信誉库的杀软拦截。

CloudAdapter.exe 的详细信息,显示其原始文件名为 Bandizip.exe

文件自带 Bandisoft International Inc. 的合法数字签名,且签名状态正常

通过逆向分析可知,由于 Windows 操作系统的 DLL 搜索顺序机制(优先搜索当前执行目录),当 CloudAdapter.exe 启动时,会自动加载同目录下的恶意文件 ark.x64.dll。

白程序在加载 DLL 后,会主动调用其导出函数 CreateArk,并传入了一个特定的十六进制参数 0x20250210。

逆向分析显示,白程序调用 CreateArk 时硬编码传入了参数 0x20250210

4.2 恶意载荷核心:ark.x64.dll 内部机制剖析

该恶意 DLL 包含了两个主要的导出函数:CreateArkCompressor 和 CreateArk。

4.2.1 触发条件校验

CreateArkCompressor 函数的功能非常单一,仅用于校验传入的常量是否匹配预设的魔数。

4.2.2 核心控制流 CreateArk

当参数校验通过后,程序进入 CreateArk 主函数。其内部包含了一套严密的载荷释放逻辑,具体流程如下:

CreateArk 导出函数内部详细执行流转图,涵盖了环境检测到内存加载的全过程

对应的伪代码结构如下,可以清晰看到其调用链路:

4.2.3 基于哈希的 API 动态解析

为了逃避静态分析工具对其导入表的审查,样本使用了一种自定义的哈希算法来动态寻找所需的 Windows API。该算法结合了乘法与截断操作:

通过遍历内存中已加载模块的导出表,比对计算出的哈希值,样本能够在不留下静态字符串记录的情况下,隐蔽地获取函数执行地址,原函数的实现如下:

4.2.4 严苛的反调试与反沙箱环境检测

海莲花组织在该样本中部署了多维度的环境探测机制。一旦任何一项检测命中,程序便会直接退出,极大增加了安全人员动态跟踪的难度。

  1. **PEB.BeingDebugged 检测:**攻击者通过直接读取当前进程环境块(PEB)中的 BeingDebugged 标志位,来判断进程是否正被调试器(如 x64dbg、OllyDbg)附加。
  2. **PEB.NtGlobalFlag 检测:**检查堆调试标志,若程序由调试器启动,该标志位会被赋予特定的值(0x70)。
  3. **NtQueryInformationProcess 调试端口查询:**调用未公开的底层 API,查询进程的 ProcessDebugPort(对应的类别值为 7)。若返回值非零,则确认为被调试状态。
  4. **硬件断点检测:**获取当前线程上下文(GetThreadContext),检查调试寄存器(Dr0 到 Dr3)。如果这些寄存器被设置了值,意味着安全人员正在关键代码处下达硬件断点。
  5. **CPU 性能检测:**恶意代码执行一个百万次的无用循环,并计算执行耗时。在多数自动化沙箱或虚拟机环境中,受限于 CPU 虚拟化或监控钩子(Hook)的开销,此操作耗时将显著超过物理机。若时间超过 100 毫秒,则判定为虚拟分析环境。
  6. 检测系统是否连接内核调试器
  7. 时间流速检测

调用 NtDelayExecution 休眠1秒,然后验证实际流逝时间,如果时间流逝过短的话就结束进程。

4.2.5 载荷解密与内存加载执行

在确认环境安全后,程序会定位到 %localappdata%\AnyViz\bdzsfx.x64.sfx 文件。该文件是被高度混淆的加密数据,样本内置了复杂的密钥,并通过 CLEFIA-256 算法对其进行解密。

载荷解密函数的核心逻辑片段,内存中初始化解密密钥的执行过程

解密得到真正的 Shellcode 后,样本再次利用前文提到的哈希算法获取 kernel32.dll 中的 API,执行该shellcode

4.3 RUST 编写的定制化 C2 Shellcode

接下来执行的是一段具有高度定制化特性的 Shellcode。首先进行重定位修复和导入表解析。

当依赖加载完毕后,程序将步入真实的入口点 rust_main_entry,该函数的执行流程如下。

逆向分析证实,此核心载荷是由 Rust 语言 编写的,这在一定程度上增加了反汇编与人工分析的阻力

该木马的初始化与外联流程极其复杂,充分体现了 APT 武器的工程化水准:

  1. ​二次解密​:利用 TEA 算法变种,对内部包含的 18 块配置数据进行解密。
  2. ​异步框架​:初始化 smol 异步运行时与线程池,用于高效处理多并发任务。
  3. ​高隐蔽通信​:初始化 UDP Socket,并配置 KCP 协议 参数。相比传统的 TCP/HTTP,基于 UDP 的 KCP 协议在复杂的网络环境中能提供更快的传输效率,同时在流量特征上极具迷惑性,容易绕过传统的 HTTP/TCP 行为基线检测。

在其网络初始化函数中,我们精准定位到了其远控服务器(C2)的地址解析过程。

通过动态调试,我们成功获取到了真实 C2 的节点 IP:114.29.236.229。

动态调试时,寄存器 RCX 中明文呈现出解密后的 C2 服务器 IP 地址

紧接着,提取到了目标通信端口 80(0x50)。随后,恶意程序便进入主循环,利用 bincode 序列化格式与 C2 服务端持续交互,随时准备执行诸如命令下发、文件窃取、横向移动等指令。

提取网络配置阶段,寄存器显示目标端口号为 80 (0x50)

五、 威胁情报与 IOC 提取

在我们的分析过程中,同步印证了简报中的情报数据。结合微步在线等情报社区的交叉验证,该 IP 地址被明确标记为海莲花团伙的远控节点。

公开威胁情报证实,提取出的核心 C2 节点属于海莲花组织的恶意基础设施

为便于各企业安全团队在内部设备(如防火墙、NDR、EDR 等)中进行排查,现整理核心妥协指标(IOC)如下:

网络层 IOC (C2 / IP)

  • ​IP 地址​: 114.29.236.229 (TCP/UDP 端口 80,协议涉及隐蔽的 KCP 交互)

主机层 IOC (文件 Hash - SHA256)

六、 安全加固建议

面对海莲花组织这种高度定制化、免杀手段极其老练的 APT 攻击,依赖单一特征码的防病毒体系往往难以发挥有效作用。基于本次深度逆向分析的底层逻辑,Solar 应急响应团队向企业防守方提出以下多维度的加固与排查建议:

  1. 强化终端行为监控(EDR)规则链: 重点关注“​合法签名程序重命名后加载同级目录 DLL​”的旁加载场景。特别是对于内存中敏感 API 的调用监控,如发现非系统级软件频繁调用 VirtualAlloc 配合 VirtualProtect 修改内存执行权限,且紧接着发生执行流跳转,应触发高级别的安全告警。
  2. 多维度的流量基线异常审计: 海莲花开始采用 Rust 结合 KCP 协议构建 C2 通道,传统的 HTTP 态势感知可能产生盲区。建议在 NDR/流量分析设备上,针对异常的 UDP 长连接会话、高频度的非标准业务 UDP 访问(尤其是指向外部非常规 IP 的 UDP 80 端口)进行深度特征捕获与阻断。
  3. 内部白文件防滥用梳理: 企业内网应建立更为严格的应用白名单机制。全面检索是否存在未授权运行的 Bandizip 核心组件,特别是当这些带有合法签名的可执行文件脱离了标准的安装目录,出现在 %APPDATA%、%TEMP% 或用户本地临时目录时,需立即开展人工排查。
  4. 应急响应与隔离取证: 若在内网监测到上述 IOC 或行为特征,切勿急于断电或重启(以免丢失内存中运行的 Shellcode 和临时解密密钥)。应优先从网络层面对主机进行微隔离,切断其向外连接 114.29.236.229 的通道,并第一时间对主机进行内存 Dump 取证分析,以评估数据外泄范围与横向移动风险。

网络攻击发生后的每一分钟都至关重要。Solar 团队提供全天候的紧急介入服务,无论是现在的应急处置,还是未来的常态化防护,我们都随时待命。