银狐组织最新ValleyRAT样本分析
字数 2716 2025-11-21 12:52:20
ValleyRAT恶意样本分析教学文档
1. 样本概述
1.1 基本信息
- 样本名称:villa.exe
- 文件大小:18031013字节
- 哈希值:
- MD5:14521699F0184011A3F083DDFBBB0BCA
- SHA1:0D32CF02611A158E4D9A955D13F26680DB836E3E
- CRC32:25C8AD9F
1.2 攻击背景
- 归属组织:银狐组织(SilverFox)
- 恶意软件家族:ValleyRAT
- 攻击目标:中国地区用户
- 相关事件:Chrome Installer Impersonation Campaign
2. 样本结构分析
2.1 打包方式
- 打包工具:PyInstaller(Python 3.11版本)
- 特征字符串:PyInstaller相关标识
- 反编译工具:
- pyinstxtractor-ng:提取pyc文件
- pylingual:转换pyc为py文件
2.2 文件结构
样本包含三个主要文件:
- villa.exe:主加载器
- 卡尔别墅.pptx:正常文件(诱饵文档)
- BGL.exe:核心恶意组件
3. 技术分析流程
3.1 Python反编译分析
3.1.1 提取ZIP压缩包
- 位置:文件末尾16字节
- 数据结构:
- ZIP文件大小:8字节(0x99EED6)
- Magic Number:8字节(0xDEADBEEFCAFEBABE)
3.1.2 解压执行流程
# 创建临时目录
temp_dir = 'packer_temp_{os.getpid()}_{uuid.uuid4().hex}'
# 解压文件并执行
3.2 BGL.exe分析
3.2.1 保护机制
- 加壳方式:UPX壳
- 脱壳方法:标准UPX脱壳工具
3.2.2 代码修复技术
- 修复内容:syscall调用代码
- 原始字节:6B 00 00 73 6B 00 00 74
- 修复后字节:0F 05 90 90 C3 90 CC CC
- 技术原理:动态修改内存中的系统调用指令
3.3 Shellcode解密流程
3.3.1 Shellcode1
- 长度:0xBBA字节
- 解密方式:自定义解密算法
- 加载函数:
- NtAllocateVirtualMemory
- NtProtectVirtualMemory
- NtCreateThreadEx
- NtQuerySystemTime
3.3.2 配置信息提取
配置格式:
|p1:108.187.7.15|o1:447|t1:1|p2:108.187.7.15|o2:448|t2:1|p3:127.0.0.1|o3:80|t3:1|dd:1|cl:1|fz:默认|bb:1.0|bz:2025.11.8|jp:0|bh:0|ll:0|dl:0|sh:1|kl:1|bd:0|
关键配置:
- C&C服务器:108.187.7.15:447、108.187.7.15:448
- 生成时间:2025年11月8日
- 备用地址:127.0.0.1:80
3.3.3 通信机制
- 通信方式:TCP连接
- 初始数据:发送"64"字节
- 数据加密:XOR算法加密
3.4 Shellcode2分析
3.4.1 PE文件加载
- 文件类型:DLL(上线模块.dll)
- 加载方式:自加载技术
- 入口函数:DllMain → load函数
3.4.2 ValleyRAT特征
- 注册表路径:Console \ 1
- 插件存储键:d33f351a4aeea5e608853d1a56661059
4. 网络通信分析
4.1 通信数据解密
- 加密方式:XOR加密
- 密钥特征:"6666"字符串重复模式
- 解密验证:可通过密钥成功解密通信内容
4.2 插件下载机制
- 插件名称:登录模块.dll
- 下载方式:C&C服务器动态下发
- 配置更新:运行时自动更新外联地址
5. 内存取证分析
5.1 内存中提取的文件
-
上线模块.dll(原始文件)
- MD5:98C3D0A794084AADB18786C41C088A19
-
登录模块.dll(内存版本1)
- MD5:2E050D2E969CDAD4772DC0D47D577572
- 大小:314368字节
-
登录模块.dll(内存版本2)
- MD5:47ED16D677AF0DC440B79E233625D5C4
- 大小:313856字节
5.2 内存驻留技术
- 多实例加载:同一模块在内存中存在多个副本
- 配置动态更新:不同实例具有不同的外联配置
6. 溯源分析
6.1 同源分析
- 代码特征:与已知ValleyRAT样本高度相似
- 攻击手法:与银狐组织WinOS样本存在关联
- 平台识别:多个沙箱平台标记为ValleyRAT
6.2 时间线分析
- 样本编译时间:2025年11月8日
- 诱饵文档时间:2025年11月8日02:18:17
- 恶意组件时间:2025年11月8日01:53:25
7. 检测与防护建议
7.1 检测指标(IOCs)
网络指标:
- 108.187.7.15:447(中国香港)
- 108.187.7.15:448(中国香港)
文件指标:
| 文件名 | MD5 | 类型 |
|--------|-----|------|
| villa.exe | 14521699F0184011A3F083DDFBBB0BCA | 加载器 |
| 卡尔别墅.pptx | F21AE39CF0B937D5BE8B76CBD3E76A97 | 诱饵文档 |
| BGL.exe | 471D308CDD98A7D99CC35AF15505719D | 恶意组件 |
| 上线模块.dll | 98C3D0A794084AADB18786C41C088A19 | RAT模块 |
| 登录模块.dll | 695485ECA04998D2E4D7BDE212465F45 | 插件 |
7.2 防护措施
-
行为监控:
- 监控%temp%目录的可执行文件创建
- 检测PyInstaller打包文件的异常行为
-
网络防护:
- 阻断与香港IP地址的异常连接
- 监控包含"6666"模式的加密流量
-
内存检测:
- 检测多实例DLL加载行为
- 监控syscall代码修改行为
8. 分析工具总结
-
静态分析:
- pyinstxtractor-ng(Python解包)
- pylingual(反编译)
- UPX脱壳工具
-
动态分析:
- 调试器(OllyDbg/x64dbg)
- 沙箱环境(微步沙箱等)
-
网络分析:
- Wireshark(流量捕获)
- 自定义解密脚本(XOR解密)
9. 技术要点总结
- 多层加载:Python加载器→Native可执行文件→Shellcode→PE文件
- 反检测技术:UPX加壳、代码动态修复、多阶段解密
- 持久化机制:通过注册表存储插件信息
- 通信加密:简单的XOR加密,但密钥设计具有特征性
- 模块化设计:支持动态插件下载和更新
本教学文档详细记录了ValleyRAT样本的完整分析过程,涵盖了从初始加载到最终RAT模块执行的全链条技术细节,为安全研究人员提供完整的技术参考。