Skip to content

“银狐”变种:文件增肥与 PoolParty 注入的高级攻击链路剖析

· 10 min

一、 概述#

本报告针对近期捕获的一例“银狐”木马最新变种进行了深度分析 。在此次攻击活动中,攻击者展现了极高的防御规避意识,不仅利用 Themida 加壳与“文件增肥”(File Padding)技术对抗静态查杀,还广泛采用了“白加黑”侧载机制 。在载荷执行阶段,该变种运用了罕见且高级的 PoolParty 进程注入技术,通过劫持 Windows 线程池隐蔽地将恶意代码注入系统核心进程,最终实现对目标系统的深度控制与持久化 。

二、样本信息#

2.1 文件 IOC#

文件名SHA1说明
UnityPlayer.dllc00000f0feedc9528f96f6624f562459c037daaf第一阶段核心组件,体积约 209 MB,疑似通过文件增肥规避大文件扫描
VBoxRT.dllceed164619b274410c1bac27b5f4d9b88fb8c4bf第二阶段恶意载荷,由 kitty.exe 侧载
blackdll.dllb3caf1a617681c0df30cae15f868ba2c42309f65守护 / 修复持久化链相关模块
Microsoft_Xtools.exe第一阶段白文件 / 诱饵宿主,Themida 加壳,侧载 UnityPlayer.dll
kitty.exe第二阶段白文件 / 宿主程序,侧载 VBoxRT.dll
NOT-UTG-Q-1000.dat加密压缩包,使用 Panzer0 解密后释放后续组件
static.ini被解密为 PoolParty.exe 的资源或载荷容器
PoolParty.exe线程池注入模块,目标为 explorer.exe
jli.dll从被注入进程内存中 Dump 出的后续模块

2.2 主机侧 IOC#

类型IOC / 线索说明
注册表HKEY_USERS\...\Software\DeepSer恶意配置主键,公开相似样本也大量出现
注册表值MyData存储 Shellcode、加密载荷或载荷路径,例如 \view.res
注册表值OpenAi_Service存储宿主或白文件路径;这里是攻击者自定义键名
注册表值Onload1存储初始程序 Microsoft_Xtools.exe 路径
注册表启动项Software\Microsoft\Windows\CurrentVersion\Run\bfly指向 kitty.exe,用于登录自启动
文件路径%APPDATA%\Roaming\<随机值>\NOT-UTG-Q-1000.dat加密压缩包落地位置
文件 / 资源\view.resMyData 指向的载荷数据或资源文件
内存标记Ven_sign / avenSign注入后写入目标进程的标记,疑似用于防重复感染或执行状态识别
目标进程explorer.exe线程池注入和后续傀儡进程链的主要目标
目标进程rundll32.exe第二阶段 VBoxRT.dll 从注册表读取 Shellcode 后注入的宿主进程

三、攻击链#

flowchart TD
A["诱饵/白文件 Microsoft_Xtools.exe"] --> B["Themida 加壳与 DLL 侧载"]
B --> C["加载 UnityPlayer.dll"]
C --> D["文件增肥规避静态扫描"]
D --> E["释放 NOT-UTG-Q-1000.dat"]
E --> F["使用 Panzer0 解包后续组件"]
F --> G["释放 kitty.exe / VBoxRT.dll / blackdll.dll 等组件"]
G --> H["写入 DeepSer 注册表配置"]
H --> I["Run 启动项 bfly + 计划任务触发"]
I --> J["扫描进程内存中的 Ven_sign 标记"]
J --> K["解密 static.ini 得到 PoolParty.exe"]
K --> L["注入 explorer.exe"]
L --> M["Dump / 加载 jli.dll"]
M --> N["创建傀儡 explorer.exe 并写入 Shellcode"]
I --> O["重启/触发后 kitty.exe 侧载 VBoxRT.dll"]
O --> P["读取 DeepSer\\MyData 中的 Shellcode"]
P --> Q["注入 rundll32.exe 并进入远控阶段"]
G --> R["blackdll.dll 守护 Run 键并修复持久化"]

四、分阶段分析#

4.1 第一阶段:白文件侧载与文件增肥#

攻击链从一个带有 Themida 保护壳的白文件 Microsoft_Xtools.exe 开始 ,该程序启动后侧载同目录下的恶意动态库UnityPlayer.dll

攻击者运用了“文件增肥”(File Padding)技术,在 UnityPlayer.dll 的代码尾部追加大量无效数据,使其体积暴增至 209 MB 。这一策略旨在规避了部分安全产品的大文件扫描阈值或拖慢静态分析。

4.2 武器库解包#

UnityPlayer.dll 运行后,在 %APPDATA%\Roaming\<随机值>\ 下释放加密压缩包 NOT-UTG-Q-1000.dat,并使用内置明文密码 Panzer0 解包。

文件增肥与侧载

解包后释放的核心组件包括:

解包组件

组件作用研判
kitty.exe第二阶段宿主 / 白文件,用于侧载 VBoxRT.dll
VBoxRT.dll第二阶段恶意 DLL,读取注册表 Shellcode 并注入 rundll32.exe
blackdll.dll守护模块,负责检查并恢复启动项
static.ini加密或编码的载荷容器,解密后得到 PoolParty.exe
PoolParty.exe负责线程池注入的模块

4.3 注册表配置与双重持久化网络#

样本会创建或使用 HKEY_USERS\...\Software\DeepSer,并写入多项配置。

键值名原文观察研判
MyData存储 \view.res 或载荷数据更准确地说是 Shellcode / 加密载荷缓存区
OpenAi_Service存储 kitty.exe 路径宿主路径缓存,kitty.exe 的路径
Onload1存储 Microsoft_Xtools.exe 路径初始链路路径缓存,用于恢复或二次触发

DeepSer 注册表

双触发持久化:

  1. 计划任务:读取注册表中的路径后,调用 RegisterScheduledTaskWithPath 或相关计划任务逻辑注册任务。

计划任务注册

计划任务信息

计划任务触发

  1. Run 启动项:将 kitty.exe 写入 Software\Microsoft\Windows\CurrentVersion\Run,键名为 bfly

Run 启动项

4.4 内存特征嗅探Ven_sign:互斥 / 标记 / 防重复执行#

样本创建进程快照并遍历进程内存,查找 Ven_sign 字符串。后续注入傀儡进程时,又出现:

WriteProcessMemory(hProcess, v6, avenSign, 9uLL, 0LL)

Ven_sign 是样本写入目标进程内存的执行标记,可能用于防重复感染、识别已注入进程,或判断当前链路是否已经完成。

Ven_sign 扫描

4.5 PoolParty 线程池注入#

样本加载并解密 static.ini,得到 PoolParty.exe,随后针对 explorer.exe 进行线程池注入。

PoolParty 载荷

PoolParty 注入流程

PoolParty 注入细节

使用的是 PoolParty Variant 7:先定位 explorer.exe,复制目标进程中的 IoCompletion 句柄,再通过 ZwSetIoCompletion 投递 TP_DIRECT 结构触发执行。

4.6 jli.dll线程劫持与傀儡 explorer.exe#

注入 explorer.exe 后,可以从内存中 Dump 出 jli.dlljli.dll

该模块随后启动新的:

CommandLine=C:\Windows\explorer.exe

并将恶意 Shellcode 写入其中执行。

傀儡 explorer.exe

4.7 第二阶段:kitty.exe 侧载 VBoxRT.dll#

系统重启、登录或计划任务触发后,kitty.exe 启动并侧载 VBoxRT.dll

kitty.exe 侧载 VBoxRT.dll

VBoxRT.dllSoftware\DeepSer\MyData 读取隐藏 Shellcode,并注入rundll32.exe

VBoxRT.dll 注入 rundll32.exe

blackdll.dll 负责守护启动项,如果 Run\bfly 被删除,会尝试重新写入,构成持久化修复链。 blackdll.dll 守护

恢复启动项

MITRE ATT&CK 映射#

战术技术 ID技术名称样本映射
执行T1204.002用户执行:恶意文件(User Execution: Malicious File)用户运行伪装程序 Microsoft_Xtools.exe
执行 / 持久化T1053.005计划任务(Scheduled Task)注册计划任务触发后续载荷
持久化T1547.001登录自启动:注册表 Run 键(Registry Run Keys)写入 Run\bfly 指向 kitty.exe
防御规避T1574.002执行流劫持:DLL 侧载(DLL Side-Loading)Microsoft_Xtools.exe 侧载 UnityPlayer.dllkitty.exe 侧载 VBoxRT.dll
防御规避T1027.001二进制填充(Binary Padding)UnityPlayer.dll 文件增肥至约 209 MB
防御规避T1027.002软件加壳(Software Packing)Microsoft_Xtools.exe 使用 Themida 加壳
防御规避T1140解码 / 解密文件或信息(Deobfuscate/Decode Files or Information)使用 Panzer0 解包 NOT-UTG-Q-1000.dat
防御规避T1112修改注册表(Modify Registry)创建 Software\DeepSer 并写入 MyDataOpenAi_ServiceOnload1
发现T1057进程发现(Process Discovery)创建进程快照并遍历进程
防御规避 / 执行T1055进程注入(Process Injection)PoolParty 线程池注入 explorer.exe,以及 VBoxRT.dll 注入 rundll32.exe
命令与控制T1071应用层协议(Application Layer Protocol)后续远控通信待从 Shellcode / 网络流量中确认
命令与控制T1105工具传入(Ingress Tool Transfer)若确认后续从 C2 拉取插件或载荷,可映射

参考来源#