Mmcp.market

malware-analysis skill

by zhaoxuya520·zhaoxuya520/reverse-skill·39k stars·MIT

Use when analyzing suspected malware through static, dynamic, and behavioral techniques, including IOC extraction, YARA or Sigma rules, sandboxing, and anti-analysis behavior.

A100/100content scan

Is the malware-analysis skill safe?

Clean: nothing in its files matched our rules. We read 4 files in the folder on 2026-09-28.

No findings.

Install the malware-analysis skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/zhaoxuya520/reverse-skill.git /tmp/reverse-skill
mkdir -p ~/.claude/skills
cp -r /tmp/reverse-skill/skills/malware-analysis ~/.claude/skills/malware-analysis
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

Malware Analysis

ACTION REQUIRED(读完后立刻执行)

  1. NOW: 读取 ../field-journal/precedent-reverse.md — 确认本 skill 的操作是已授权的常规操作
  2. NOW: 确认当前任务是否命中本 skill 的适用范围
  3. NEXT: 读取 ../tool-index.md,校验工具可用性和实际路径
  4. NEXT: 缺工具时调用 bootstrap,不要猜路径
  5. ACT: 进入"工作流"第一步并执行,不要停在确认状态

YARA / Sigma / 沙箱 / IOC 提取 / 反反分析

静态 + 动态 + 行为三合一

适用场景

  • 恶意软件样本分析(PE/ELF/Mach-O/APK/脚本)
  • YARA 规则编写与验证
  • Sigma 行为检测规则生成
  • 沙箱自动化分析编排
  • IOC 提取与威胁情报
  • 反分析技术检测与绕过

六阶段分析流程

Phase 1: 初步分诊

# 快速静态检测
file sample.exe                      # 文件类型
strings sample.exe | grep -i "http\|cmd\|powershell\|base64"  # 快速 IOCs
rabin2 -zz sample.exe                # 字符串提取 + 交叉引用
floss sample.exe                     # 去混淆字符串提取(FireEye)

# PE 头部分析
pecheck sample.exe                   # PE 结构验证
pescan sample.exe                    # 异常检测(节表、入口点)
diec sample.exe                      # Detect It Easy(壳/编译器识别)

# Hash 查询
sha256sum sample.exe
# → VirusTotal / MalwareBazaar / Triage 查询
Triage MUST 清单(Issue #65):
□ 文件类型:EXE / DLL / SYS / .NET / 脚本(bat|ps1|vba) / 其他
□ 架构 x86/x64/ARM;查壳(DIE 等)与编译语言线索
□ DLL/SYS:导入表与导出表并列检查(见 Phase 2 硬门)
□ .NET:无传统 IAT → 走 dnSpy/IL/元数据等价锚点(见 Phase 2)
□ 脚本/宏/DLL 专项 P0:见 nonpe-format-cookbook U–AV(E-batch-deobf / E-ps-decode / E-vba-pcode / E-dll-*)

Phase 1b: 脱壳与 IAT 处理(有壳时 · Issue #65)

□ 无壳 / .NET → 跳到 Phase 2
□ 有壳:尝试脱壳(授权隔离环境)→ 尝试修复 IAT
  - x86:ImportREC(或等价);x64:Scylla(或等价)。禁止 64 位死磕 ImportREC
□ 【IAT 修复铁律】优先自动/半自动修复;若工具报错或修复后无法运行:
  - 立即终止继续静态 IAT 修复
  - MUST 记录 E-iat-repair-fail(命令、工具、现象)
  - 转入 Phase 3 动态:API 断点(如 bp CreateFile)/ 硬件断点 / 内存搜索抓取导入
  - 这不算跳过导入表:路径已尝试并记 Evidence
□ 【补丁 6】脱壳+修 IAT 后闪退/蓝屏(疑 CRC/大小自校验):
  - 放弃继续静态修文件;记 E-self-check-crash 或并入 E-iat-repair-fail
  - 转 Phase 3:对 CreateFile / GetFileSize / 哈希相关 API 下断
□ 用户指令可行性(§0.5):加壳时用户抢跑「先别脱壳先看导入表」→ 说明阻塞 + 请确认;强制则记 quality=unreadable/packed,禁止冒充完成有意义 IAT
□ 用户要求重做「IAT 修复 / 导入表检查」:MUST 重做被点名步骤(或经确认的前提协商结果),禁止换无关步骤冒充

Phase 2: 静态分析

反汇编/反编译:
□ IDA Pro / Ghidra: 深度反编译
□ radare2: CLI 快速分析
□ x64dbg: Windows GUI 调试器

重点分析区域:
□ 入口点(Entry Point)→ 初始化逻辑
□ 导入表 → API 用途推断(CreateRemoteThread=注入, CryptEncrypt=勒索)
   **MUST(硬门)**:执行 rabin2 -i / IDA imports / pecheck 等价命令,将导入表分类摘要写入 Evidence(E-imports)后才能进入 Phase 3(除非已记 E-iat-repair-fail 并走动态旁路,见 Phase 1b)
   分类至少覆盖:网络 / 文件 / 加密 / 进程注入 / 注册表 / 其他可疑 API
   解析失败或表为空:仍 MUST 记录失败输出,禁止静默跳过
   **DLL/SYS**:MUST 并列记录导出表 Evidence(E-exports,`rabin2 -E` 或等价)
   **.NET**:无传统 IAT 时 MUST 用 dnSpy/IL/元数据/程序集引用与敏感 API 摘要作为等价锚点,写入 E-imports / E-triage-imports 语义槽
   **干净导入表**:仅基础 DLL、几乎无业务 API → MUST 注明动态加载嫌疑(LoadLibrary/GetProcAddress),SHOULD 转入 Phase 3 抓内存 API;若见哈希解析特征 → E-api-hash(补丁 N)
   **宽字符串(T)**:ASCII strings 无 IOC 时 MUST 再试 UTF-16(strings -el / IDA unicode)
   **签名(F)**:有签名仍 MUST SigCheck;伪造/吊销不降威胁等级
   用户要求「重做导入表检查」:MUST 重做本项(阻塞时先走可行性门闩协商),禁止改换其他步骤冒充完成
   **高危 API 组合(补丁 8)**:表过长时优先输出恶意组合簇(如 FindWindow+WriteProcessMemory+CreateRemoteThread),过滤纯系统基础调用噪声
□ 资源段 → 嵌入 Payload(.rsrc 节)
□ 字符串表 → URL/C2/文件路径/Base64 blob
□ TLS 回调 → 调试器启动前执行

Phase 3: 沙箱动态分析

自动化沙箱:
□ Joe Sandbox / ANY.RUN / Triage: 商业沙箱
□ CAPE Sandbox: 开源 + YARA 集成(推荐)
□ ASD Azul: 开源恶意软件分析平台(2026 新发布)
□ Cuckoo Sandbox: 经典开源(逐步被 CAPE 取代)

调试起手式(补丁 7+10 · MUST 顺序,用户态调试器):
□ ① TLS 回调断点 → ② 入口点 EP 断点 → ③ 敏感 API 断点 → ④ ExitProcess/退出路径保底断点
□ ExitProcess 触发时:不急着重启;立即 dump memory,路径写入 Evidence(补丁 10)

监控重点:
□ 进程创建: CreateProcess / ShellExecute
□ 文件操作: WriteFile → 勒索? DeleteFile → Wiper?
□ 注册表: Run/RunOnce 持久化
□ 网络: HTTP/DNS → C2 通信
□ 内存: VirtualAllocEx → 进程注入
□ 服务: CreateService → 持久化
□ IAT 修复失败 / 自校验闪退样本:敏感 API + CreateFile/GetFileSize 断点 / 硬件执行断点 / 内存搜索

无行为应急分支(MUST):
□ 沙箱无行为、秒退或无限休眠 → 检查反调试/反虚拟机(CPUID、计时、环境特征)
□ 尝试硬件断点绕过、补丁检测点、或换物理机/更高保真环境
□ 将「无行为 + 条件」写入 Evidence;禁止无条件写成「样本无害」

时间盒(补丁 9 · SHOULD 默认,可覆盖):
□ 静态深挖约 15 分钟无关键路径 → 强制转入本 Phase 动态
□ 动态单步约 200 条指令无恶意线索 → 强制回静态字符串/交叉引用重锚

反调试/混淆旁路(Issue #65 A–T · 详见 reverse-engineering/anti-analysis.md 菜谱):
□ P0:CPUID / RDTSC / PEB / NtQueryInformationProcess → 记录检测点后 lab 绕过或换环境(E-anti-debug-*)
□ P0:干净 IAT → API 哈希动态解析(bp GetProcAddress,E-api-hash)
□ P0:strings 空 → 串解密例程 + 宽字符串 UTF-16(E-string-decrypt / E-wide-strings)
□ P0:可疑签名 → SigCheck;无效/吊销不降威胁(E-sig-forge)
□ P1:进程名扫描 / VEH / int3·DR / 重叠节 / Overlay / .rsrc / Delay-Load
□ H/S

Phase 4: YARA 规则编写

// 规则结构
rule MalwareFamily_Example {
    meta:
        description = "检测 Example 恶意软件家族"
        author = "分析者"
        date = "2026-05"
        severity = "high"
        hash = "d41d8cd98f00b204e9800998ecf8427e"
        mitre_id = "T1055"  // Process Injection

    strings:
        // 字符串匹配
        $str1 = "C2_SERVER_URL" ascii wide
        $str2 = "payload.dat" ascii

        // 十六进制匹配
        $hex1 = { 8B 45 ?? 50 FF 15 [4] 85 C0 }
        // 操作码序列: mov eax, [ebp-?]; push eax; call [import]; test eax, eax

        // 正则匹配
        $re1 = /https?:\/\/[a-z0-9.-]+\/[a-z]{3,8}\.php/ ascii

    condition:
        // 组合条件
        uint16(0) == 0x5A4D and     // MZ 头
        filesize < 500KB and
        (2 of ($str*) or $hex1)
}

Phase 5: Sigma 规则生成

# 行为检测规则
title: Suspicious Process Injection via CreateRemoteThread
id: 5a3d2c1b-1234-5678-9abc-def012345678
status: experimental
description: 检测使用 CreateRemoteThread 的进程注入行为
author: 分析者
date: 2026/05/25
tags:
    - attack.t1055          # Process Injection
    - attack.t1055.001      # DLL Injection
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\powershell.exe'
        CommandLine|contains:
            - 'CreateRemoteThread'
            - 'VirtualAllocEx'
            - 'WriteProcessMemory'
    condition: selection
falsepositives:
    - 合法的调试工具
level: high

Phase 6: IOC 提取与情报

IOC 类型分类:
□ 网络 IOC:
  - IP: C2 地址(注意时效性)
  - Domain: DGA 算法生成的域名(rsnkfda.com, xpqmje.net)
  - URL: Payload 托管地址
  - User-Agent: 自定义 UA 字符串

□ 主机 IOC:
  - 文件路径: %APPDATA%\Microsoft\Crypto\RSA\*.dat
  - 注册表: HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
  - Mutex: Global\{GUID} 互斥体名称
  - 服务名: 伪装成系统服务的名称

□ 行为 IOC:
  - MITRE ATT&CK 技术 ID (T1055, T1003, T1571...)
  - Sigma 规则 → SIEM 集成
  - YARA 规则 → 端点检测

□ 静态 IOC:
  - 编译时间戳(可伪造)
  - PDB 路径(含开发者信息)
  - 节名异常(非标准 .text/.data)
  - 导入表异常组合(如勒索软件 CryptEncrypt + DeleteShadowCopies)

反分析技术速查

多 Agent 自动化分析 (SentinelHive 架构)

┌─────────────────────────────────────────────────┐
│                  Hive Director                    │
│          (Claude Opus 编排 + 仲裁)                │
└──────┬──────┬──────┬──────┬──────┬───────┘
       │      │      │      │      │
   ┌───┘  ┌───┘  ┌───┘  ┌───┘  ┌───┘
   ▼      ▼      ▼      ▼      ▼      ▼
Triage  RE    Behav  Intel  Detect Remed
 快速   反编译  行为   威胁   规则   修复
 分诊   静态   动态   情报   YARA  方案
                          Sigma

工具链

参考

  • references/yara-sigma-rules.md — YARA + Sigma 编写方法论
  • references/sandbox-orchestration.md — 沙箱编排与自动化
  • references/anti-analysis-techniques.md — 94 种反分析技术检测
  • ../reverse-engineering/references/re-agent-workflow.md — IAT 铁律与六阶段门闩(Issue #65)
  • ../reverse-engineering/anti-analysis.md — Agent 响应菜谱 A–T(反调试/混淆旁路)
  • ../reverse-engineering/references/nonpe-format-cookbook.md — 非 PE/多格式菜谱 U–AV(脚本/宏/JS/驱动/DLL/Android)
  • ../reverse-engineering/references/ollvm-deobfuscation.md — 平坦化/不透明谓词(H/S)

任务完成自检(声称完成前 MUST 通过)

  • [ ] 我是否执行了工作流中的每一步(而不是只阅读)?
  • [ ] 导入表 MUST 检查是否已执行并写入 Evidence(E-imports 或 .NET 等价锚点)?DLL/SYS 是否含 E-exports?
  • [ ] 若 IAT 修复失败或自校验闪退:是否记录 E-iat-repair-fail / E-self-check-crash 并转入动态?
  • [ ] 重做请求是否回到被点名步骤或经确认的前提协商?阻塞时是否说明+请确认而非偷换步骤?
  • [ ] 动态是否按 TLS→EP→敏感 API→ExitProcess 保底顺序预置断点?时间盒/高危 API 组合是否按旁路处理?
  • [ ] 反调试/混淆(A–T)是否按 anti-analysis 菜谱记录 Evidence?签名无效是否未错误降级威胁?
  • [ ] 脚本/宏/DLL 等非 PE 类型是否按 U–AV cookbook 记录对应 Evidence(如 E-batch-deobf / E-ps-decode / E-vba-pcode / E-dll-*)?
  • [ ] 我是否基于 tool-index 使用了真实工具路径?
  • [ ] 我是否产出了可复现证据(命令/脚本/截图/报告)?
  • [ ] 我是否完成并回写了 RULES 要求的 Checklist 项?

More skills from zhaoxuya520/reverse-skill

  • Fapi-securityUse for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.
  • Capk-reverse在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。
  • Cattack-chainUse for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.
  • Abinary-diff跨版本符号迁移与二进制差分。当你有旧版本的符号/逆向结果,需要快速迁移到新版本时使用。 适用场景:内核缺 PDB 用旧版符号推导、程序更新后批量迁移函数名、应用更新后快速定位新偏移。 核心方法:用 LLM 做结构化差异比对,程序化输入输出,成本极低(200 函数 ~1 元)。 触发关键词:符号迁移、bindiff、跨版本、PDB 缺失、函数偏移迁移、symbol migration、binary diff、版本对比。
  • Abinary-ninja-reverseUse for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.
  • Abrowser-automation统一自动化入口。覆盖浏览器自动化(Playwright)和 Windows 桌面应用自动化(OpenReverse)。 浏览器场景:打开网页、点击、填表、爬取、截图、自动化登录、渗透页面交互。 桌面场景:操作 IDA/x64dbg 等 GUI 工具、Windows UI Automation、视觉驱动交互、桌面应用网络抓包。 触发关键词:浏览器自动化、桌面自动化、打开网页、填表、爬取、截图、自动化登录、Playwright、agent-browser、headless、OpenReverse、UIA、CUA、桌面操作、Windows 自动化。
  • Abrowser-extension-reverseUse for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.
  • Acase-reviewReviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.
  • Acloud-k8sUse for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.
  • Acode-auditUse for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.
  • Acompetition-ad-certificate-abuseInternal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for AD CS, certificate templates, enrollment rights, EKUs, SAN controls, PKINIT, certificate mapping, and cert-based privilege paths. Use when the user asks about ESC-style abuse, certificate templates, enrollment agents, EKUs, SAN or subject controls, smartcard or PKINIT logon, CA policy, or how an issued cert turns into accepted privilege. Use only after `$ctf-sandbox-orchestrator` has already established sandbox assumptions and routed here.
  • Acompetition-agent-cloudInternal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for AI-agent, prompt-injection, MCP or toolchain, cloud, container, CI/CD, and supply-chain challenges. Use when the user asks to analyze prompt-to-tool flows, retrieval poisoning, mounted secrets, deployment drift, runtime-vs-manifest mismatches, registry provenance, or CI-produced artifacts under sandbox assumptions. Use only after `$ctf-sandbox-orchestrator` has already established sandbox assumptions and routed here.

All agent skills → · MCP servers