银狐木马应急响应实录:发现、取证与分析
字数 3898
更新时间 2026-02-26 23:53:51

银狐木马应急排查与分析教学文档

一、 背景与发现

在一次安全监测中,发现内部交换机有异常的DNS解析行为,解析了恶意域名 www.sjdxb120.com,得到IP地址 192.238.192.11,该IP被情报中心标记为银狐木马(Silver Fox)。

二、 银狐木马特点概述

此木马样本具备以下典型特征,使其难以定位和清理:

  1. 常驻内存:核心代码驻留内存,落地文件可能已自删除或难以定位。
  2. 白利用:大量利用系统白名单程序进行代码注入,以规避检测。
  3. 隐蔽性强:使用多层加密、隐写术和复杂的持久化机制。
  4. 模块化攻击链:攻击链清晰,各模块分工明确。

三、 攻击链分析

攻击链按执行顺序如下:

第一阶段:初始入侵与释放

  1. 初始文件:名为 1234.exe 的修改版 Inno Setup 安装包作为投递载体。
  2. 执行与释放:运行 VC_radist.x64.exe,释放以下三个核心文件:
    • DIClr.exe:合法的白文件加载器。其唯一作用是利用DLL劫持(DLL Side-Loading)技术,静态导入并加载恶意的 JNcJW1c.dll
    • JNcJW1c.dll:经过 VMProtect 保护的恶意DLL。它导出了大量无意义的函数供EXE导入。其核心任务是:读取并解密 wBTlc3Jj.e,然后在内存中执行最终的恶意代码。
    • wBTlc3Jj.e:加密的载荷文件。
      • 表面伪装:文件头是标准的PNG格式,包含合法的IDAT(图像数据)块,前面解压后是约1.4MB的合法图像数据流。
      • 真实载荷:真正的恶意代码被拼接在其Zlib压缩数据流的末尾,通过隐写术藏匿了 13.6MB的加密数据

第二阶段:权限提升与持久化

  1. 辅助工具:捕获到 __setup64.exe,这是一个特权辅助工具,用于修改系统ACL(访问控制列表)和注册COM组件。
  2. 持久化机制
    • 服务后门:创建了随机名称(如 xr1hh)的恶意Windows服务。
    • 守护脚本(Watchdog):该服务会启动 cmd.exe,运行一个位于 %SystemRoot%\ 下的动态生成的 .bat 脚本。
      • 脚本逻辑:脚本以死循环(每10秒)检测恶意进程的PID,一旦发现进程结束就立即重启服务,实现“无限复活”。
  3. 进程注入与PPID欺骗:恶意代码会注入到以下系统进程中:
    • uhssvc.exe (Update Health Service)
    • sihost.exe
    • 注入失败或进程被结束后,还会尝试注入到 taskhostw.exe 等其它系统进程。目的是寄生在可信进程内,隐蔽运行。

四、 应急排查步骤(Windows取证与分析)

第一步:现场保护与数据采集

  1. 内存快照
    • 木马常驻内存,因此首要操作是拍摄内存快照。快照SHA256示例:2e7230657e27ed7f47cb8a8018c7bac088bfa7ee20e168e3665385ec35734c01
    • 可将可疑进程挂起,防止其因检测到分析行为而自毁。
    • 工具:使用 DumpIt 等工具生成完整内存映像(.dmp.raw 文件)。
  2. 文件系统快照
    • 留意系统休眠文件 hiberfil.sys 和页面文件 pagefile.sys,它们可能包含内存的转储数据,但结构复杂(如页是乱序存放的),分析难度较大。

第二步:内存分析(使用Volatility3)

  1. 环境确认
    • 命令:windows.info
    • 目的:确认系统版本(如 NT BuildLab 19041 对应 Win10 2004),并安装对应版本的调试符号,这是后续分析的基础。
  2. 网络连接排查(最快定位)
    • 命令:windows.netscan
    • 目的:查找可疑的对外连接。因为木马完成注入后,分析进程列表很麻烦,直接找网络连接更高效。
    • 关注点
      • 状态:重点关注 ESTABLISHED 状态的连接,但 CLOSE_WAITTIME_WAIT 状态的短连接也需注意。
      • 进程关联性:查看是哪个进程发起的连接。如果发现 notepad.exesvchost.exesihost.exe 等系统进程连接外网IP(如 192.238.192.11),则高度可疑。案例中发现 PID 4552 与恶意IP建立了连接。
  3. 提取并分析恶意代码内存段
    • 命令:windows.malfind --pid [可疑PID] --dump
    • 目的:从指定进程的内存空间中寻找和提取被注入的恶意代码段。
    • 后续:将提取出的二进制文件放入IDA等反汇编工具进行静态分析。
  4. 进程与命令行分析
    • 命令:windows.pstree, windows.psscan, windows.cmdline
    • 目的:查看进程树关系、扫描进程池、查看所有进程的命令行参数,寻找异常。例如发现 VC_radist.x64.exe 是从临时目录 C:\Users\admin\AppData\Local\Temp\ 下的 .tmp 文件启动的。

第三步:主机行为与痕迹分析

  1. 文件系统痕迹
    • 释放目录:定位到恶意载荷的释放目录为 C:\ProgramData\latest-b
    • 配置文件:在 C:\ProgramData\3A5CB5D3C6A334EAFDCC8265098F70E1\ 目录下发现 config.ini
    • 隐藏属性:释放的DLL文件被设置为隐藏(H)+系统(S) 属性,需要在文件夹选项中取消“隐藏受保护的操作系统文件”的勾选才能看到。对文件夹进行“压缩”操作也可使其显示。
    • 加壳:原样本和释放的DLL均有加壳(如VMProtect)。
  2. 网络行为
    • 会检测本地安全软件进程,如 qqpcTray.exe(腾讯电脑管家)、hipsdaemon.exe(火绒)、360相关进程。
    • 通过被注入的 sihost.exe 进程持续发起SSH连接192.238.192.11:22
    • 存在本地换端口连接的行为。
  3. 注册表痕迹
    • 系统信息收集:读取多项注册表以收集信息,例如:
      • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Sorting\Versions(系统语言版本)
      • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Security(IE安全设置)
      • HKEY_CURRENT_USER\Control Panel\International\Geo(地理区域)
      • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName(计算机名)
      • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography(机器GUID)
    • 代理设置:检查 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings 以获取或设置代理服务器信息。
  4. 对抗安全软件
    • 通过命令尝试将自身路径添加到Windows Defender的排除列表:
      powershell -Command "Add-MpPreference -ExclusionPath 'C:\ProgramData\latest-b\pstbA'"
      
  5. 键盘记录
    • 发现记录键盘和剪贴板信息的日志文件(log文件),记录了包括 [enter], [lshift], [ctrl], [caps] 等按键。

第四步:代码逆向分析要点

对提取的恶意代码(如DLL)进行逆向分析时,发现以下特征:

  • 字符串混淆:存在大量无意义的乱码字符串(如 pWATUAWAHD$pE3)和PADDING填充。
  • API导入:从 .rdata 节区可识别出关键API,如 GetCommandLineWSetConsoleCtrlHandlerOpenProcess,表明程序具备解析命令行、进程操作等能力。
  • 命令行参数:样本通过类似 /SPAWNWND=$60032 的命令行参数指定窗口句柄进行注入。
  • Inno Setup特征:样本中发现了Inno Setup打包工具的痕迹。

五、 处置与加固建议

1. 紧急处置

  • 删除文件
    • 删除守护脚本 .bat 文件(通常位于系统目录下)。
    • 删除恶意文件释放目录 C:\ProgramData\latest-b 下的所有内容。
  • 清除服务
    • 停止并删除恶意创建的随机名服务(如 xr1hh)。
  • 网络阻断
    • 在防火墙或网络设备上封禁恶意IP 192.238.192.11 及相关域名。

2. 系统加固与预防

  • 应用白名单:部署应用程序控制策略,限制非授权程序运行。
  • DLL劫持防护:确保关键目录(如System32)的权限设置正确,或使用工具监控异常的DLL加载行为。
  • 增强日志审计:启用并集中管理进程创建、网络连接、服务安装等关键安全日志。
  • 终端防护:确保终端安全软件(EDR)有效运行,并及时更新特征库。
  • 用户意识:警惕来历不明的安装包,尤其是伪装成正常软件的安装程序。
  • 内存取证能力:建设自动化内存快照与分析能力,用于应对无文件攻击。
相似文章
相似文章
 全屏