Skip to content

InKu0721/malware-re-skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Platform Architecture Format Binary Ninja MCP MITRE ATT&CK

Malware Reverse Engineering Skills

基于 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 中配置了自动触发策略,以下场景自动激活分析:

  1. Binary Ninja 中已加载二进制文件
  2. 用户提供文件并要求分析
  3. 用户提到逆向/脱壳/静态分析等关键词
  4. 用户提到恶意软件/病毒/木马/后门
  5. 检测到 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. 防御建议          — 分层加固建议

支持的分析类型

Windows PE

能力 覆盖率
壳检测 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

Linux ELF

能力 覆盖率
壳/保护 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 操作 / 内核模块

macOS Mach-O

能力 覆盖率
壳/保护 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

About

一行命令,从样本加载到完整分析报告,全流程自动化。覆盖 Windows PE / Linux ELF / macOS Mach-O 三平台,映射 MITRE ATT&CK 框架,生成可执行应急响应方案。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors