一、 前言#
本报告针对一例银狐木马样本进行了深度分析。该攻击活动以钓鱼诱饵作为初始突破口,其核心载荷大量运用了无文件内存加载、白加黑伪装、Restart Manager 强杀杀软、以及多重进程注入与父进程伪造(Spoof PID)等高级防御规避(Defense Evasion)技术。最终目的是将 C2 控制模块注入系统核心进程,实现对受控终端的长期远程控制。
二、 样本信息#
文件名:setup6018.exe MD5:2da5a13a58e66c99c0ff4fbc6f998c9e SHA1:d3d54020263765105eba2fea55a4d66ed42168f6
文件名:bai.png MD5:0a9b77193d11deb202813106f4c0f0b9 SHA1:51b32e17da130bdb8b4684761c0e833cfe990549
文件名:bb.jpg MD5:6a984f9693da68b9579a8a0755591cb8 SHA1:a81cc525cc375a0d6a17ddf4f46434801d149703
文件名:aa.dll MD5: 206e912da49cbd0e4f8c8bebe3988047 SHA1: bf381890026cdc55cda72bf19f5e9dccebf5d096
三、 攻击链路解析#
初始突破与载荷投递#
攻击者以钓鱼网站、钓鱼邮件或钓鱼文档为传播途径 。
受害者点击钓鱼链接进入页面后,系统会自动下载一个木马下载器(setup6018.exe)。
木马下载器运行后,会从远端拉取一个伪装成 png 图片格式的文件(bai.png)。

内存加载与武器库解包#
下载的 bai.png 实际上是一段 Shellcode 。该段代码由开源工具 DLLToShellCode 生成,其目的是将 DLL 转换为可执行的 Shellcode,以此实现基于内存的执行,成功绕过传统的 DLL 加载监控 。
在内存展开过程中,该 Shellcode 释放了 4 个有效文件 。

其中 Overwatch.exe 与 active_desktop_render_x64.dll 未在后续攻击中起作用,而真正的恶意行为由另外两个核心模块驱动:充当提权武器库的 Akagi64.dll,以及执行主要恶意功能的 Shellcode.dll 。

环境探测与诱饵掩护#
核心模块 Shellcode.dll 运行后,通过导出函数 hanshu 展开行动 。

它首先会检测当前进程是否处于被调试状态,以对抗安全分析 。

为了掩人耳目,恶意代码调用 InternetOpenUrlW 下载并执行一款正常的税务开票软件 。这一“白加黑”策略起到了极好的伪装作用,降低了受害者的警惕性 。

权限提升与防御规避#
恶意代码首先判断当前进程是否具备管理员权限 。

随后调用 Akagi.dll 进行提权操作:若提权失败,程序将调用系统函数睡眠 10 秒后静默退出;若提权成功,则开始检测系统中是否存在 360 杀毒软件 。

在对抗杀软阶段,攻击者调用了 Windows 原生的 Restart Manager 服务来管理 360tray.exe 资源,一旦发现该进程存在便将其强行结束 。


进程注入与 C2 通信#
在持久化阶段,恶意程序将一段 Shellcode 写入注册表 HKEY_CURRENT_USER\Console 路径下,键值名以 huorong 拼接一段随机值构成 。

程序会根据标识符(如 6001、6002 等)释放文件 bb.jpg,该文件同样是一段包含 C2 配置信息的 Shellcode 。


如果前面成功关闭了 360 进程,程序将执行 Inject2Explorer 函数,把 bb.jpg (Shellcode) 直接注入到系统核心进程 Explorer.exe 中并运行 。

最终,该 Shellcode 会连接 C2 服务器,导致受害终端被攻击者远程完全操控 。
深度逃逸与后备机制#
为了保证攻击的成功率,攻击者还设计了极为周密的后备执行计划:
如果未能成功关闭 360,恶意程序会退而求其次,在 C 盘根目录下释放一批文件,包括 in64.exe、aa.dll、bb.dll、in.exe、MSNDetourDLL_X64.dll 以及 rundll.dll 。

程序通过 in.exe、MSNDetourDLL_X64.dll、rundll.dll 分别尝试载入上述 DLL,若载入失败则调用命令行强制执行 。

在启动新进程时,攻击者利用了 Malseclogon 技术,并结合 Spoof PID(父进程欺骗)技术,将新启动进程的父进程 ID 伪装成 explorer.exe,以此躲避进程链监控 。
在此后备流程中,aa.dll 发挥了关键的寻址与注入作用 :它首先尝试从 \\OneDrive\\cache 文件夹路径读取 bb.jpg 。

若文件读取失败,则转而读取注册表 HKEY_CURRENT_USER\Console 下之前写入的 huorong 键值数据 。

获取到载荷数据后,aa.dll 最终依然会尝试将数据强制注入到 explorer.exe 进程中执行 。

附录#
银狐木马 MITRE ATT&CK TTPs 映射表#
| 战术 (Tactic) | 技术编号 (ID) | 技术名称 (Technique) | 样本具体恶意行为映射 |
|---|---|---|---|
| 初始访问 (Initial Access) | T1566 | Phishing (钓鱼) | 以钓鱼网站、钓鱼邮件、钓鱼文档为传播途径,诱导用户点击下载木马 。 |
| 执行 (Execution) | T1059.003 | Command and Scripting Interpreter: Windows Command Shell | 在 DLL 载入失败的后备机制中,启用命令行(cmd.exe)强制执行载荷 。 |
| 防御规避 (Defense Evasion) | T1027 | Obfuscated Files or Information | 使用开源工具 DLLToShellCode 将 DLL 转换为可执行 Shellcode,实现基于内存的执行,绕过传统加载 。 |
| 防御规避 (Defense Evasion) | T1036 | Masquerading (伪装) | 下载并执行正常的税务开票软件,以此伪装正常软件运行,降低用户警惕 。 |
| 防御规避 (Defense Evasion) | T1622 | Debugger Evasion (反调试) | 执行初期检查当前进程是否处于被调试状态 。 |
| 防御规避 (Defense Evasion) | T1112 | Modify Registry (修改注册表) | 将 Shellcode 以 huorong 加一段随机值为键值名,隐蔽写入到 HKEY_CURRENT_USER\Console 注册表路径下 。 |
| 防御规避 (Defense Evasion) | T1562.001 | Impair Defenses: Disable or Modify Tools | 滥用 Windows Restart Manager 服务管理并强行结束 360tray.exe 进程 。 |
| 防御规避 (Defense Evasion) | T1134.004 | Access Token Manipulation: Parent PID Spoofing | 利用 Malseclogon 及 Spoof PID 技术,将新启动进程的父进程 ID 伪装成 explorer.exe 。 |
| 权限提升 (Privilege Escalation) | T1548.002 | Bypass User Account Control (绕过 UAC) | 使用 Akagi64.dll(提权武器库)进行本地权限提升 。 |
| 发现 (Discovery) | T1518.001 | Security Software Discovery | 提权成功后,检测系统中是否存在 360 杀毒软件 。 |
| 进程注入 (Process Injection) | T1055 | Process Injection (进程注入) | 将名为 bb.jpg 的核心 Shellcode 注入到系统核心进程 Explorer.exe 中并运行 。 |
| 命令与控制 (Command and Control) | T1071 | Application Layer Protocol | Shellcode 成功执行后连接 C2 服务器,使终端被远程操控 。 |