银狐组织最新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 文件结构

样本包含三个主要文件:

  1. villa.exe:主加载器
  2. 卡尔别墅.pptx:正常文件(诱饵文档)
  3. 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 内存中提取的文件

  1. 上线模块.dll(原始文件)

    • MD5:98C3D0A794084AADB18786C41C088A19
  2. 登录模块.dll(内存版本1)

    • MD5:2E050D2E969CDAD4772DC0D47D577572
    • 大小:314368字节
  3. 登录模块.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 防护措施

  1. 行为监控

    • 监控%temp%目录的可执行文件创建
    • 检测PyInstaller打包文件的异常行为
  2. 网络防护

    • 阻断与香港IP地址的异常连接
    • 监控包含"6666"模式的加密流量
  3. 内存检测

    • 检测多实例DLL加载行为
    • 监控syscall代码修改行为

8. 分析工具总结

  1. 静态分析

    • pyinstxtractor-ng(Python解包)
    • pylingual(反编译)
    • UPX脱壳工具
  2. 动态分析

    • 调试器(OllyDbg/x64dbg)
    • 沙箱环境(微步沙箱等)
  3. 网络分析

    • Wireshark(流量捕获)
    • 自定义解密脚本(XOR解密)

9. 技术要点总结

  1. 多层加载:Python加载器→Native可执行文件→Shellcode→PE文件
  2. 反检测技术:UPX加壳、代码动态修复、多阶段解密
  3. 持久化机制:通过注册表存储插件信息
  4. 通信加密:简单的XOR加密,但密钥设计具有特征性
  5. 模块化设计:支持动态插件下载和更新

本教学文档详细记录了ValleyRAT样本的完整分析过程,涵盖了从初始加载到最终RAT模块执行的全链条技术细节,为安全研究人员提供完整的技术参考。

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 解压执行流程 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 配置信息提取 配置格式 : 关键配置 : 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模块执行的全链条技术细节,为安全研究人员提供完整的技术参考。