银狐木马应急响应实录:发现、取证与分析
字数 3898
更新时间 2026-02-26 23:53:51
银狐木马应急排查与分析教学文档
一、 背景与发现
在一次安全监测中,发现内部交换机有异常的DNS解析行为,解析了恶意域名 www.sjdxb120.com,得到IP地址 192.238.192.11,该IP被情报中心标记为银狐木马(Silver Fox)。
二、 银狐木马特点概述
此木马样本具备以下典型特征,使其难以定位和清理:
- 常驻内存:核心代码驻留内存,落地文件可能已自删除或难以定位。
- 白利用:大量利用系统白名单程序进行代码注入,以规避检测。
- 隐蔽性强:使用多层加密、隐写术和复杂的持久化机制。
- 模块化攻击链:攻击链清晰,各模块分工明确。
三、 攻击链分析
攻击链按执行顺序如下:
第一阶段:初始入侵与释放
- 初始文件:名为
1234.exe的修改版 Inno Setup 安装包作为投递载体。 - 执行与释放:运行
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的加密数据。
- DIClr.exe:合法的白文件加载器。其唯一作用是利用DLL劫持(DLL Side-Loading)技术,静态导入并加载恶意的
第二阶段:权限提升与持久化
- 辅助工具:捕获到
__setup64.exe,这是一个特权辅助工具,用于修改系统ACL(访问控制列表)和注册COM组件。 - 持久化机制:
- 服务后门:创建了随机名称(如
xr1hh)的恶意Windows服务。 - 守护脚本(Watchdog):该服务会启动
cmd.exe,运行一个位于%SystemRoot%\下的动态生成的.bat脚本。- 脚本逻辑:脚本以死循环(每10秒)检测恶意进程的PID,一旦发现进程结束就立即重启服务,实现“无限复活”。
- 服务后门:创建了随机名称(如
- 进程注入与PPID欺骗:恶意代码会注入到以下系统进程中:
uhssvc.exe(Update Health Service)sihost.exe- 注入失败或进程被结束后,还会尝试注入到
taskhostw.exe等其它系统进程。目的是寄生在可信进程内,隐蔽运行。
四、 应急排查步骤(Windows取证与分析)
第一步:现场保护与数据采集
- 内存快照:
- 木马常驻内存,因此首要操作是拍摄内存快照。快照SHA256示例:
2e7230657e27ed7f47cb8a8018c7bac088bfa7ee20e168e3665385ec35734c01。 - 可将可疑进程挂起,防止其因检测到分析行为而自毁。
- 工具:使用
DumpIt等工具生成完整内存映像(.dmp或.raw文件)。
- 木马常驻内存,因此首要操作是拍摄内存快照。快照SHA256示例:
- 文件系统快照:
- 留意系统休眠文件
hiberfil.sys和页面文件pagefile.sys,它们可能包含内存的转储数据,但结构复杂(如页是乱序存放的),分析难度较大。
- 留意系统休眠文件
第二步:内存分析(使用Volatility3)
- 环境确认:
- 命令:
windows.info - 目的:确认系统版本(如 NT BuildLab
19041对应 Win10 2004),并安装对应版本的调试符号,这是后续分析的基础。
- 命令:
- 网络连接排查(最快定位):
- 命令:
windows.netscan - 目的:查找可疑的对外连接。因为木马完成注入后,分析进程列表很麻烦,直接找网络连接更高效。
- 关注点:
- 状态:重点关注
ESTABLISHED状态的连接,但CLOSE_WAIT或TIME_WAIT状态的短连接也需注意。 - 进程关联性:查看是哪个进程发起的连接。如果发现
notepad.exe、svchost.exe或sihost.exe等系统进程连接外网IP(如192.238.192.11),则高度可疑。案例中发现 PID 4552 与恶意IP建立了连接。
- 状态:重点关注
- 命令:
- 提取并分析恶意代码内存段:
- 命令:
windows.malfind --pid [可疑PID] --dump - 目的:从指定进程的内存空间中寻找和提取被注入的恶意代码段。
- 后续:将提取出的二进制文件放入IDA等反汇编工具进行静态分析。
- 命令:
- 进程与命令行分析:
- 命令:
windows.pstree,windows.psscan,windows.cmdline - 目的:查看进程树关系、扫描进程池、查看所有进程的命令行参数,寻找异常。例如发现
VC_radist.x64.exe是从临时目录C:\Users\admin\AppData\Local\Temp\下的.tmp文件启动的。
- 命令:
第三步:主机行为与痕迹分析
- 文件系统痕迹:
- 释放目录:定位到恶意载荷的释放目录为
C:\ProgramData\latest-b。 - 配置文件:在
C:\ProgramData\3A5CB5D3C6A334EAFDCC8265098F70E1\目录下发现config.ini。 - 隐藏属性:释放的DLL文件被设置为隐藏(H)+系统(S) 属性,需要在文件夹选项中取消“隐藏受保护的操作系统文件”的勾选才能看到。对文件夹进行“压缩”操作也可使其显示。
- 加壳:原样本和释放的DLL均有加壳(如VMProtect)。
- 释放目录:定位到恶意载荷的释放目录为
- 网络行为:
- 会检测本地安全软件进程,如
qqpcTray.exe(腾讯电脑管家)、hipsdaemon.exe(火绒)、360相关进程。 - 通过被注入的
sihost.exe进程持续发起SSH连接到192.238.192.11:22。 - 存在本地换端口连接的行为。
- 会检测本地安全软件进程,如
- 注册表痕迹:
- 系统信息收集:读取多项注册表以收集信息,例如:
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以获取或设置代理服务器信息。
- 系统信息收集:读取多项注册表以收集信息,例如:
- 对抗安全软件:
- 通过命令尝试将自身路径添加到Windows Defender的排除列表:
powershell -Command "Add-MpPreference -ExclusionPath 'C:\ProgramData\latest-b\pstbA'"
- 通过命令尝试将自身路径添加到Windows Defender的排除列表:
- 键盘记录:
- 发现记录键盘和剪贴板信息的日志文件(log文件),记录了包括
[enter],[lshift],[ctrl],[caps]等按键。
- 发现记录键盘和剪贴板信息的日志文件(log文件),记录了包括
第四步:代码逆向分析要点
对提取的恶意代码(如DLL)进行逆向分析时,发现以下特征:
- 字符串混淆:存在大量无意义的乱码字符串(如
pWATUAWAH、D$pE3)和PADDING填充。 - API导入:从
.rdata节区可识别出关键API,如GetCommandLineW、SetConsoleCtrlHandler、OpenProcess,表明程序具备解析命令行、进程操作等能力。 - 命令行参数:样本通过类似
/SPAWNWND=$60032的命令行参数指定窗口句柄进行注入。 - Inno Setup特征:样本中发现了Inno Setup打包工具的痕迹。
五、 处置与加固建议
1. 紧急处置
- 删除文件:
- 删除守护脚本
.bat文件(通常位于系统目录下)。 - 删除恶意文件释放目录
C:\ProgramData\latest-b下的所有内容。
- 删除守护脚本
- 清除服务:
- 停止并删除恶意创建的随机名服务(如
xr1hh)。
- 停止并删除恶意创建的随机名服务(如
- 网络阻断:
- 在防火墙或网络设备上封禁恶意IP
192.238.192.11及相关域名。
- 在防火墙或网络设备上封禁恶意IP
2. 系统加固与预防
- 应用白名单:部署应用程序控制策略,限制非授权程序运行。
- DLL劫持防护:确保关键目录(如System32)的权限设置正确,或使用工具监控异常的DLL加载行为。
- 增强日志审计:启用并集中管理进程创建、网络连接、服务安装等关键安全日志。
- 终端防护:确保终端安全软件(EDR)有效运行,并及时更新特征库。
- 用户意识:警惕来历不明的安装包,尤其是伪装成正常软件的安装程序。
- 内存取证能力:建设自动化内存快照与分析能力,用于应对无文件攻击。
相似文章
相似文章