| 分类 | 标签 | 置信度 |
|---|---|---|
| 恶意类型 | Remote Access Trojan / Screen Capture Backdoor | HIGH |
| 恶意家族 | Mozi / Revolution (nosyliam/revolution) | HIGH |
| 目标平台 | Windows x86-64 | HIGH |
| 威胁级别 | CRITICAL | HIGH |
| 编译器 | MSVC 16.00.40219 (VS 2010) + LTCG | MEDIUM |
| 加壳状态 | 无 — 原生 MSVC 编译 | MEDIUM |
| C2 协议 | Protobuf over TLS (推测) | HIGH |
| 持久化 | 待动态分析确认 | MEDIUM |
| 字段 | 值 |
|---|---|
| 关联组织 | 未知 (GitHub: nosyliam/revolution, 构建者: Macro 4) |
| 别名 | Revolution RAT / Mozi 变种 |
| 动机 | 远程访问 / 屏幕监控 / 数据窃取 |
| 目标行业 | 通用 (企业远程桌面/屏幕监控) |
| 活动名称 | 未知 |
| C2协议 | Protobuf 序列化 (推测基于 TLS/gRPC) |
| C2基础设施 | 内嵌 WireGuard VPN 隧道 (wintun 驱动) |
| API | RegSetValueExW (ADVAPI32) |
| 目标 | HKCU\Software\Microsoft\Windows\CurrentVersion\Run (推测) |
| 触发 | 用户登录时自动执行 |
RegSetValueExW + RegQueryValueExA import + Shell_NotifyIconW (系统托盘, 常驻进程)
| 维度 | 评估 |
|---|---|
| 隐蔽性 | 中 |
| 可靠性 | 高 |
| 清除难度 | 低 |
┌──────────────────────────────────────────────────────────┐
│ Revolution RAT (nosyliam/revolution) │
├──────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────┐ ┌─────────────────────────────┐ │
│ │ 通道 1: WireGuard │ │ 通道 2: 内嵌 Web UI │ │
│ │ 协议: Protobuf/TLS │ │ 协议: HTTP (localhost) │ │
│ │ VPN: WireGuard │ │ 资源: 74MB HTML/CSS/字体 │ │
│ │ 加密: ChaCha20+ │ │ 用途: 本地管理面板 │ │
│ │ Poly1305 │ │ 访问: VPN 隧道转发 │ │
│ │ 证书: linkedca + │ │ │ │
│ │ DigiCert EV │ │ │ │
│ └─────────┬───────────┘ └──────────────┬──────────────┘ │
│ │ │ │
└────────────┼───────────────────────────────┼────────────────┘
│ │
▼ ▼
┌──────────────────┐ ┌──────────────────────┐
│ WireGuard 对端 │ │ Web UI (本地) │
│ (C2 入口) │ │ 127.0.0.1:? │
│ 加密隧道 │ │ 远程管理界面 │
└──────────────────┘ └──────────────────────┘
| 协议 | Protobuf 序列化 over TLS (推测 gRPC) |
| 端口 | WireGuard UDP (可变, 默认 51820 或自定义) |
| 地址/Domain | 通过 WireGuard VPN 隧道路由 — 地址加密不可见 |
| IP | 未知 — WireGuard 对端 IP 运行时配置 |
| 加密 | WireGuard (ChaCha20 + Poly1305) + TLS (ECDHE-ECDSA-AES-128/256-CBC) |
| 用途 | 实时双向C2: 屏幕帧渗出 + 远程指令下发 + 命令执行结果回传 |
| API引用 | Direct3D11CaptureFramePool + GdipCreateBitmapFromStream + ShellExecuteW + add_user_command |
| 证书 | linkedca 证书链验证 + DigiCert EV Code Signing 根证书 |
| 协议 | HTTP (本地) |
| 端口 | 未知 (内嵌 74MB Web 资源) |
| 域名 | localhost |
| IP | 127.0.0.1 |
| ISP/AS | — |
| 域名注册 | — |
| DNS | — |
| 证书 | — |
| 网站性质 | 内嵌 Web 管理界面 (HTML/CSS/JS/字体) |
| 恶意用途 | 本地 Web 管理面板 — 攻击者可能通过 VPN 隧道远程访问 |
阶段1: wintun 驱动加载 → WireGuard 握手 阶段2: Protobuf 握手 + linkedca 证书验证 阶段3: Direct3D11 屏幕捕获帧池初始化 阶段4: add_user_command 指令接收循环 阶段5: ShellExecuteW 命令执行 + 结果回传 阶段6: GdipCreateBitmapFromStream 屏幕帧渗出 阶段7: RegSetValueExW 持久化安装 阶段8: Shell_NotifyIconW 系统托盘驻留 + 心跳
采用 WireGuard VPN 隧道作为 C2 隐蔽通道 — 流量加密至 ChaCha20+Poly1305 级别,难以深度包检测。C2 通信使用 Protobuf 序列化 (高效二进制格式),在 TLS 加密层之上。linkedca 证书颁发机构集成表明可能存在中间人证书生成能力。74MB 内嵌资源包含完整 Web UI — 可能通过本地端口或 VPN 隧道提供图形化管理界面。ShellExecuteW 提供完整的远程代码执行能力。
.text vsize=169562 raw=169984 entropy=6.47 (正常 MSVC 代码段) .rdata vsize= 69264 raw= 69632 entropy=4.92 (只读数据/导入表) .data vsize=74316304 raw=74297856 entropy=2.52 (⚠74MB 内嵌资源!) .pdata vsize= 6756 raw= 7168 entropy=5.31 (异常处理表) .rsrc vsize= 45428 raw= 45568 entropy=6.04 (资源段/字体/HTML) .reloc vsize= 1852 raw= 2048 entropy=3.01 (重定位表).data 段异常巨大 (74MB),包含内嵌字体 (SIL Open Font License 文本)、HTML/Web UI 资源、protobuf 定义。未加密 (熵值 2.52)。
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| .text | 6.47 | 正常 (MSVC 代码段) |
| .rdata | 4.92 | 正常 (导入表/只读数据) |
| .data | 2.52 | 低熵 — 未加密内嵌资源 |
| .pdata | 5.31 | 正常 (异常处理表) |
| .rsrc | 6.04 | 正常 (压缩资源段) |
| .reloc | 3.01 | 正常 (重定位表) |
| 源码路径 | C:\Users\Macro 4\go\src\github.com\nosyliam\revolution |
| 构建用户 | Macro 4 |
| GitHub 项目 | nosyliam/revolution |
| 模块 | platform/capture/windows/CaptureController |
| WireGuard 驱动 | wintun 0.14 (Jason A. Donenfeld) |
| 编译器 | MSVC 16.00.40219 (VS 2010) |
| 优化 | LTCG (Link-Time Code Generation) |
| 地址 | 函数 | 功能 |
|---|---|---|
| 0x1400156a8 | entry_point | 程序入口点 |
| import | ShellExecuteW (SHELL32) | 远程执行任意程序 |
| import | Direct3D11CaptureFramePool | D3D11屏幕帧捕获 |
| import | GraphicsCaptureItem | 捕获目标选择 |
| import | RegSetValueExW / RegQueryValueExA | 注册表持久化 |
| import | CreateStreamOnHGlobal | 内存流 — 屏幕数据传输 |
| import | GdipCreateBitmapFromStream | GDI+ 位图处理 |
| strings | add_user_command | 远程用户命令添加 |
| strings | linkedca.GetRootCertificateResponse | 证书链验证/交互 |
| strings | wintun driver | WireGuard VPN 隧道 |
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| — | ShellExecuteW | 进程创建/程序执行 | import |
| — | Direct3D11CaptureFramePool | GPU加速屏幕捕获 | import |
| — | RegSetValueExW | 注册表写入 (持久化) | import |
| — | CreateStreamOnHGlobal | 内存数据流传输 | import |
| 字段 | 值 | 来源 |
|---|---|---|
| 编译器 | Microsoft Visual C/C++ 16.00.40219 [LTCG/C++] | DIE heuristic scan |
| IDE | Microsoft Visual Studio 2010 | DIE |
| Linker | Microsoft Linker 10.00.40219 | DIE |
| 构建用户 | Macro 4 | PDB: C:\Users\Macro 4\... |
| 项目名 | github.com/nosyliam/revolution | PDB path |
| 模块 | platform/capture/windows/CaptureController | PDB: CaptureController.pdb |
| WireGuard 驱动 | wintun 0.14 (Jason A. Donenfeld) | PDB: wintun.pdb |
| 编译时间 | 2025-05-10 (timestamp 1746891233) | PE header |
| 加壳 | 无 — native MSVC LTCG 编译 | DIE + pefile 熵值 |
| 维度 | 本样本 | Mozi | Revolution | DarkTrack | AsyncRAT | QuasarRAT | NjRAT | VenomRAT | Nanocore | 匹配 |
|---|---|---|---|---|---|---|---|---|---|---|
| 屏幕捕获 | Direct3D11 | GDI | DirectX | — | GDI+ | GDI+ | GDI | — | GDI | 0/8 |
| VPN隧道 | WireGuard | — | — | — | — | — | — | — | — | 0/8 |
| C2协议 | Protobuf | 自定义 | ✅ Protobuf | TCP | TCP | TCP | TCP | TCP | TCP | 1/8 |
| 编译器 | MSVC 2010 | GCC | Go+MSVC | C# | C# | C# | .NET | .NET | .NET | 0/8 |
| 构建来源 | GitHub | — | ✅ GitHub | ✅ GitHub | ✅ GitHub | ✅ GitHub | Forum | ✅ GitHub | ✅ GitHub | 6/8 |
| 内嵌资源 | 74MB | — | ~50MB | — | ~5MB | ~10MB | — | — | ~3MB | 0/8 |
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| 28ad8bea (本样本) | x86-64 | 71.1 MB | MSVC 16.00.40219 | PDB: nosyliam/revolution | 分析中 |
行为: wintun 驱动加载 + WireGuard 隧道建立
证据: PDB: wintun.pdb, 导入: 驱动加载 API
行为: Direct3D11 屏幕帧捕获
证据: PDB: CaptureController, 导入: Direct3D11CaptureFramePool
行为: Protobuf 序列化 C2 + linkedca 证书验证
证据: strings: protobuf, linkedca, TLS suites
行为: add_user_command 处理远程指令
证据: strings: add_user_command
行为: ShellExecuteW 执行系统命令
证据: import: ShellExecuteW
行为: GDI+ 位图编码 → protobuf → C2
证据: import: GdipCreateBitmapFromStream + CreateStreamOnHGlobal
行为: RegSetValueExW 注册表自启动
证据: import: RegSetValueExW + Shell_NotifyIconW
行为: 系统托盘驻留 + 心跳
证据: import: Shell_NotifyIconW + protobuf 遥测
[启动] → wintun驱动加载
→ WireGuard隧道建立
→ [等待C2连接] ← linkedca证书验证
→ [已连接] ← protobuf握手
→ [接收指令] ← add_user_command
├→ ShellExecuteW → [执行命令] → [返回结果]
├→ CaptureFramePool → [屏幕捕获] → GdipBitmap → [渗出]
└→ RegSetValueExW → [持久化] → Shell_NotifyIconW → [驻留]
PDB timestamp: 2025-05-10。WireGuard 隧道建立后进入主循环 — protobuf C2 心跳 + 屏幕帧捕获 + 指令轮询。RAT 典型模型:连接→认证→指令→执行→渗出→驻留。
| 维度 | 证据 | 权重 | 恶意指数 |
|---|---|---|---|
| 屏幕捕获 (Direct3D11) | PDB + 导入 API 确认 | 10 | 10/10 |
| WireGuard VPN 隧道隐蔽 | wintun.pdb + Jason A. Donenfeld 签名 | 10 | 9/10 |
| 远程命令执行 | ShellExecuteW + add_user_command | 10 | 10/10 |
| Protobuf C2 加密协议 | strings: protobuf + TLS suites | 8 | 8/10 |
| 源码暴露 (PDB路径) | 完整 GitHub 项目路径 | 6 | 6/10 |
| 内嵌资源 (74MB Web UI) | .data 段 74MB + 字体许可证 | 6 | 5/10 |
| 注册表持久化 | RegSetValueExW (推测) | 8 | 7/10 |
| 构建者信息暴露 | C:\Users\Macro 4 | 5 | 5/10 |
⚠️ 高置信度恶意代码 (CRITICAL RAT)。基于开源项目武器化的远程访问木马,集成屏幕捕获、VPN隧道、远程命令执行。构建者信息 (Macro 4) 和完整项目路径通过 PDB 意外暴露。
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| — | 未检测到显式反调试 | — | — |
// 未检测到 IsDebuggerPresent / NtQueryInformationProcess 等反调试 API
// MSVC 2010 LTCG 编译, 无反调试迹象
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 未检测到反VM | — | — | — |
// 未检测到 VMware/VBox 注册表检查或 MAC/CPUID 检测
// RAT 工具类恶意软件通常不包含反VM (需在真实环境运行)
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|---|---|---|
| 反调试 | 未检测 | 无 IsDebuggerPresent/NtQueryInformationProcess 引用 | — |
| 反虚拟机 | 未检测 | 无 VMware/VBox 注册表/MAC/CPUID 检测 | — |
| 反沙箱 | 未检测 | 无沙箱检测逻辑 | — |
| 代码混淆 | 部分 (LTCG) | MSVC LTCG 全程序优化 | 中 |
| 字符串加密 | 未加密 | .data 段熵值 2.52 — 明文存储 | — |
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| — | 未检测到显式痕迹清理 | — | — |
// 未检测到 wevtutil / DeleteFile / 日志清除等痕迹清理 API
// RAT 工具通常持续驻留,不主动清理痕迹
| 反编译函数数 | 超过 3MB 阈值 (71MB) — 跳过 Ghidra 反编译 |
| 反编译输出 | N/A |
| 分析时长 | N/A |
| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| N/A | N/A | N/A |
超过 3MB 阈值 — 跳过
| QEMU 模式 | 未执行 — 71MB PE 太大, 优先静态分析 |
| 执行结果 | 跳过 — 安全约束 (无清洁 VM 可用于 RAT 执行) |
| 网络隔离 | -net none ✅ |
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| PDB | C:\Users\Macro 4\go\src\github.com\nosyliam\revolution | PDB路径 | 源码路径 + 构建用户 | HIGH |
| PDB | CaptureController.pdb | PDB文件 | 屏幕捕获模块 | HIGH |
| PDB | wintun.pdb | PDB文件 | WireGuard VPN 隧道驱动 | HIGH |
| strings | add_user_command / addUserCommand | C2指令 | 远程命令执行接口 | HIGH |
| strings | ShellExecuteW | API | 远程执行任意程序 | CRITICAL |
| strings | Direct3D11CaptureFramePool | API | 屏幕帧捕获 (D3D11) | HIGH |
| strings | GraphicsCaptureItem | API | 窗口/屏幕捕获目标选择 | HIGH |
| strings | linkedca.GetRootCertificateResponse | TLS/CA | 证书颁发机构交互 (MITM?) | HIGH |
| strings | protobuf | 序列化 | C2 通信协议序列化 | MEDIUM |
| strings | opentelemetry | 遥测 | OpenTelemetry 可观测性框架 | LOW |
PDB 路径意外暴露了完整项目树: nosyliam/revolution 是 GitHub 上的开源远程桌面项目,被攻击者编译为 RAT。WireGuard wintun 驱动集成表明 C2 通信可能通过 VPN 隧道加密。Direct3D11 Capture API 用于屏幕监控。ShellExecuteW 实现远程命令执行。
C:\Users\Macro 4\go\src\github.com\nosyliam\revolution — 完整源码路径 + 构建用户名github.com/nosyliam/revolution — 开源 RAT 项目 — 远程桌面/屏幕捕获wintun (WireGuard TUN adapter) — VPN 隧道 — 可能用于 C2 流量隐蔽ShellExecuteW + add_user_command — 远程任意命令执行rule RAT_Revolution_nosyliam_ScreenCapture {
meta:
description = "Detects nosyliam/revolution screen capture RAT"
author = "Hermes Malware Analysis"
hash = "28ad8bea01712d33febdb547e2602d6097e22aad29b35d40059c7ae2f2e05f03"
date = "2026-06-21"
strings:
$pdb1 = "nosyliam/revolution" nocase wide ascii
$pdb2 = "CaptureController.pdb" nocase wide ascii
$pdb3 = "wintun.pdb" nocase wide ascii
$capture1 = "Direct3D11CaptureFramePool" nocase wide ascii
$capture2 = "GraphicsCaptureItem" nocase wide ascii
$cmd = "add_user_command" nocase wide ascii
$tls = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" nocase
$protobuf = "google.protobuf" nocase
condition:
uint16(0) == 0x5A4D and
($pdb1 or $pdb2) and
(2 of ($capture1, $capture2, $cmd, $tls, $protobuf))
}
| 判定结果 | 🔴 恶意代码 — CRITICAL RAT |
| 恶意类型 | Remote Access Trojan / Screen Capture Backdoor |
| 恶意家族 | Mozi / Revolution RAT (GitHub: nosyliam/revolution) |
| 威胁级别 | CRITICAL |
| 置信度 | 90% — PDB路径确认开源项目 · 屏幕捕获API · WireGuard隧道 · protobuf C2 · 74MB内嵌资源 · ShellExecuteW |
| 关联组织 | 未知 (GitHub 项目: nosyliam/revolution, 构建用户: Macro 4) |
| 目标平台 | Windows x86-64 |
| 感染链位置 | 初始访问 / 横向移动 / 数据窃取 |
基于 GitHub 开源项目 nosyliam/revolution 编译的 Windows RAT。集成屏幕捕获 (Direct3D11 Capture)、WireGuard VPN 隧道 (wintun)、protobuf 序列化 C2 协议。74MB 内嵌资源包含完整 Web UI。编译自 Visual Studio 2010,构建用户 'Macro 4'。