Skip to content

“银狐”木马深度逆向:无文件加载与多维对抗的高级隐蔽战术

· 7 min

一、 前言#

本报告针对一例银狐木马样本进行了深度分析。该攻击活动以钓鱼诱饵作为初始突破口,其核心载荷大量运用了无文件内存加载、白加黑伪装、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)。

image-20260308212654759

内存加载与武器库解包#

下载的 bai.png 实际上是一段 Shellcode 。该段代码由开源工具 DLLToShellCode 生成,其目的是将 DLL 转换为可执行的 Shellcode,以此实现基于内存的执行,成功绕过传统的 DLL 加载监控 。

在内存展开过程中,该 Shellcode 释放了 4 个有效文件 。

image-20260308205703953

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

image-20260308205802620

环境探测与诱饵掩护#

核心模块 Shellcode.dll 运行后,通过导出函数 hanshu 展开行动 。

image-20260308205812162

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

image-20260308205912560

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

image-20260308211543270

权限提升与防御规避#

恶意代码首先判断当前进程是否具备管理员权限 。

image-20260308211559572

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

image-20260308211622247

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

image-20260308211633363

image-20260308211639729

进程注入与 C2 通信#

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

image-20260308210146338

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

image-20260308210137020

image-20260308210227366

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

image-20260308211709497

最终,该 Shellcode 会连接 C2 服务器,导致受害终端被攻击者远程完全操控 。

深度逃逸与后备机制#

为了保证攻击的成功率,攻击者还设计了极为周密的后备执行计划:

如果未能成功关闭 360,恶意程序会退而求其次,在 C 盘根目录下释放一批文件,包括 in64.exeaa.dllbb.dllin.exeMSNDetourDLL_X64.dll 以及 rundll.dll

image-20260308210327200

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

image-20260308210343666

在启动新进程时,攻击者利用了 Malseclogon 技术,并结合 Spoof PID(父进程欺骗)技术,将新启动进程的父进程 ID 伪装成 explorer.exe,以此躲避进程链监控 。

在此后备流程中,aa.dll 发挥了关键的寻址与注入作用 :它首先尝试从 \\OneDrive\\cache 文件夹路径读取 bb.jpg

image-20260308210411373

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

image-20260308210418383

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

image-20260308210429419

附录#

银狐木马 MITRE ATT&CK TTPs 映射表#

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