银狐样本母体加载过程详细分析
字数 1607 2025-08-24 16:48:07
银狐样本母体加载过程详细分析教学文档
1. 前言概述
银狐(SilverFox)是一种活跃的黑产团伙使用的恶意软件工具,近年来持续更新并采用多种免杀技术逃避安全检测。本文档将详细分析银狐样本母体的加载过程,重点讲解其技术实现和反分析手段。
2. 样本加载流程分析
2.1 初始执行阶段
-
入口点分析:
- 样本从start函数开始执行
- 通过跳转指令转移到恶意代码区域
-
延时执行机制:
- 在初始阶段设置了延时执行功能
- 目的是干扰分析人员的动态调试流程
2.2 ShellCode加载与执行
-
内存分配:
- 使用内存分配函数创建新的内存空间
- 将恶意ShellCode代码拷贝到新分配的内存区域
-
ShellCode跳转:
- 通过跳转指令执行内存中的ShellCode
- 动态调试显示ShellCode被成功加载到内存
-
ShellCode解密过程:
- ShellCode包含解密例程
- 解密后续加密的恶意代码部分
- 解密完成后继续执行核心功能
2.3 核心功能验证
-
DLL验证:
- 调用pid.DllGetClassObject
- 检查返回值是否为0x80040111
- 不符合条件则直接退出程序
-
二次延时:
- 核心功能前再次设置延时
- 增加分析难度
-
内存分配验证:
- 调用kernel32.VirtualAllocExNuma
- 验证分配是否成功
- 失败则退出程序
3. 反分析与反调试技术
3.1 环境检测
-
进程与SID检查:
- 遍历系统进程信息
- 检查进程SID信息
- 不符合条件则退出
-
互斥量检测:
- 使用计算机名创建互斥变量
- 检测程序是否已运行
- 防止重复感染
-
权限验证:
- 检查进程Token信息
- 验证是否为管理员权限
- 不符合则使用参数重新调用程序
3.2 文件系统检测
- INI文件检测:
- 检查c:\xxxx.ini文件属性
- 存在则退出程序
- 可能是沙箱环境检测
3.3 调试器检测
-
时间间隔检测:
- 通过时间差检测调试行为
- 发现调试则退出
-
RDTSC指令:
- 使用RDTSC指令进行反调试
- 检测代码执行时间异常
3.4 安全软件对抗
-
360安全软件检测:
- 遍历360进程信息
- 检测360程序窗口
- 发现则弹出错误对话框并退出
-
安全工具检测:
- 遍历系统进程查找安全检测工具
- 包括但不限于常见杀毒软件进程
-
免杀目录设置:
- 发现安全工具进程时
- 将恶意程序目录添加到非检测目录
- 实现免杀效果
4. 网络通信分析
4.1 C2通信流程
-
URL解密:
- 加密的远程URL链接信息
- 通过特定解密函数还原
- 解密后显示真实C2地址
-
HTTP请求:
- 使用HTTP函数向服务器请求数据
- 包含标准的HTTP头信息
-
数据解密:
- 接收到的数据经过加密
- 使用特定解密函数处理
- 解密后为可执行恶意代码
5. 威胁情报与总结
-
团伙活跃度:
- 银狐团伙近年来持续活跃
- 不断更新攻击样本
- 免杀技术持续升级
-
技术特点:
- 多层加密的ShellCode加载
- 多重反分析、反调试技术
- 针对安全软件的专门对抗
- 灵活的C2通信机制
-
防御建议:
- 监控异常的内存分配行为
- 检测RDTSC指令的异常使用
- 分析进程中的异常互斥量
- 监控不常见的URL解密行为
6. 附录:关键函数与API列表
| 函数/API | 用途描述 |
|---|---|
| start函数 | 样本入口点 |
| ShellCode解密函数 | 解密后续恶意代码 |
| pid.DllGetClassObject | 环境验证 |
| kernel32.VirtualAllocExNuma | 内存分配验证 |
| RDTSC指令 | 反调试技术 |
| HTTP请求函数 | C2通信 |
| URL解密函数 | 还原C2地址 |
| 数据解密函数 | 解密恶意载荷 |
本教学文档详细解析了银狐样本母体的完整加载流程和关键技术点,可作为恶意软件分析和逆向工程的参考材料。