mcpField
M
Malware Analysis & Sandboxing

Malware Analysis & Sandboxing

github.com/masriyan安全530144 次安装1 周前更新
代码仓库

关于 Malware Analysis & Sandboxing

面向恶意软件分析人员的 Claude 技能,支持静态分析样本、解读沙箱行为、编写 YARA 规则和分类恶意软件家族,并提供隔离沙箱配置及 IOC 报告指导。

主要功能

  1. 01文件与 PE 静态分析
  2. 02生成并测试 YARA 规则
  3. 03解读沙箱行为
  4. 04恶意软件家族分类
  5. 05提取 IOC 并生成报告
  6. 06沙箱隔离配置指导

适用场景

  1. 01初步分析可疑二进制文件或脚本
  2. 02根据恶意软件指标创建规则
  3. 03解读 Cuckoo 或 CAPE 报告
  4. 04提取 IOC 用于威胁狩猎

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/masriyan/claude-code-cybersecurity-skill --skill malware-analysis-&-sandboxing

安装后在 Claude Code 中输入/malware-analysis-&-sandboxing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
example_usage.md
scripts/
yara_generator.py
static_analyzer.py

详细介绍

恶意软件分析与沙箱

目的

让 Claude 能够协助处理恶意软件分析工作流,包括文件属性和代码的静态分析、动态行为分析结果解读、YARA 规则生成、沙箱配置以及恶意软件家族识别。Claude 会直接分析提供的样本,并编排脚本进行自动化处理。

安全警告:切勿在隔离、受控环境之外执行可疑文件。请使用具备网络隔离和快照功能的专用虚拟机或沙箱。


激活条件

当用户提出以下请求时,此技能会激活:

  • 分析可疑文件、二进制文件或脚本
  • 生成用于恶意软件检测的 YARA 规则
  • 设置恶意软件分析沙箱
  • 解读 Cuckoo/CAPE/AnyRun 沙箱报告
  • 识别恶意软件家族或行为
  • 从恶意软件样本中提取 IOC
  • 对 PE/ELF 文件进行静态分析
  • 分析恶意软件样本的内存取证数据
  • 进行行为分析(进程创建、网络、注册表、文件更改)

前提条件

pip install yara-python pefile python-magic requests ssdeep

推荐的分析工具:

  • Cuckoo Sandbox / CAPE — 自动化动态分析
  • VirusTotal API — 多引擎扫描和情报
  • YARA — 模式匹配引擎
  • Ghidra / IDA Pro — 深入的二进制分析(→ Skill 04)
  • Volatility 3 — 内存取证
  • DIE (Detect-It-Easy) — 加壳程序/编译器检测
  • Pestudio — Windows PE 静态分析

核心能力

1. 恶意软件静态分析

当用户提供可疑文件或哈希值进行分析时:

Claude 按以下顺序进行分析:

步骤 1 — 文件识别:

file malware.exe              # File type from magic bytes
md5sum malware.exe            # MD5 hash (legacy, for lookups)
sha256sum malware.exe         # SHA-256 (primary identifier)
python scripts/static_analyzer.py --file malware.exe --hashes

步骤 2 — 威胁情报查询:

  • 查询 VirusTotal(需要 API 密钥,或在浏览器中粘贴哈希值)
  • 检查 MalwareBazaar、AbuseIPDB、URLhaus
  • 搜索已有的分析报告
# VirusTotal hash lookup via API
curl "https://www.virustotal.com/api/v3/files/<sha256>" -H "x-apikey: YOUR_KEY"

步骤 3 — PE 分析(Windows 可执行文件):

python scripts/static_analyzer.py --file malware.exe --strings --imports --output report.json

检查输出中的以下指标:

可疑导入函数:

类别可疑 API
进程注入CreateRemoteThread、WriteProcessMemory、VirtualAllocEx、NtMapViewOfSection、RtlCreateUserThread
持久化RegSetValueEx、CreateService、SHFileOperation、ITaskScheduler
反分析IsDebuggerPresent、CheckRemoteDebuggerPresent、GetTickCount、QueryPerformanceCounter、GetSystemInfo
网络 C2InternetOpenUrl、HttpSendRequest、WSAStartup、socket、URLDownloadToFile、WinHttpOpen
加密操作CryptEncrypt、CryptDecrypt、BCryptEncrypt、CryptHashData
凭据访问SamOpenDatabase、LsaOpenPolicy、NtlmGetUserInfo
键盘记录SetWindowsHookEx、GetAsyncKeyState、GetKeyboardState
防御规避VirtualProtect、NtSetInformationProcess、Wow64DisableWow64FsRedirection

步骤 4 — 字符串提取与分析:

strings -a malware.exe | grep -E "(http|ftp|/[a-z]|[0-9]{1,3}\.[0-9]{1,3}|HKEY|reg|cmd|powershell)"

对提取出的字符串进行分类:

  • 网络指标:URL、IP、域名、用户代理
  • 文件系统:路径、文件名、注册表项
  • 加密:base64 数据块、十六进制字符串(可能是密钥/载荷)
  • 反分析:VM/沙箱检测字符串(VMware、VirtualBox、Sandboxie)
  • 互斥体名称:防止重复感染的唯一标识符

步骤 5 — 熵分析:

python scripts/static_analyzer.py --file malware.exe --entropy
熵范围说明
0.0 – 1.0几乎为空或全零的节
1.0 – 5.0正常的代码/数据节
5.0 – 7.0压缩数据或代码
7.0 – 8.0已加密或加壳的数据——需要调查
7.9 – 8.0高度可疑——很可能是加密载荷
2. YARA 规则生成

当用户要求根据样本或指标创建 YARA 规则时:

Claude 会按照以下方法生成 YARA 规则:

  1. 选择稳定、独特的指标 — 避免通用模式;选择此家族特有的字节或字符串
  2. 优先选择结构性模式 — 文件头魔数、特定偏移量、节名称
  3. 平衡特异性与覆盖范围 — 避免规则过于具体(只能匹配一个样本)或过于宽泛(产生误报)
  4. 使用良性文件进行测试 — 规则不应匹配干净的 Windows 系统文件

YARA 规则模板:

// Tier 1: Specific sample (hash-based)
rule MalwareFamily_Variant_Hash {
    meta:
        author = "Analyst Name"
        date = "2025-05-28"
        description = "Detects [MalwareFamily] [Variant] — specific sample"
        sha256 = "aabbcc..."
        tlp = "GREEN"
        reference = "https://example.com/analysis"
    
    condition:
        hash.sha256(0, filesize) == "aabbcc..."
}

// Tier 2: Family-level detection (behavioral strings)
rule MalwareFamily_Generic {
    meta:
        author = "Analyst Name"
        date = "2025-05-28"
        description = "Detects [MalwareFamily] family by strings and structure"
        tlp = "GREEN"
    
    strings:
        // C2 patterns
        $c2_ua   = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" ascii
        $c2_uri  = "/gate.php?id=" ascii
        
        // Crypto constants
        $rc4_key = { 52 43 34 5F 4B 45 59 }  // "RC4_KEY" hex
        
        // Mutex
        $mutex   = "Global\\MSDTC_MUTEX_" ascii wide
        
        // Registry persistence key
        $reg_key = "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" ascii wide nocase
        
        // Anti-analysis check
        $vm_check = "VBOX" ascii wide nocase
    
    condition:
        uint16(0) == 0x5A4D and          // MZ header (PE file)
        filesize < 2MB and
        (
            (2 of ($c2_*)) or
            ($mutex and 1 of ($reg_key, $rc4_key))
        )
        and not $vm_check               // Exclude sandbox-aware variants
}

// Tier 3: Network IOC detection (for NIDS integration)
rule MalwareFamily_Network_C2 {
    meta:
        description = "Detects [MalwareFamily] C2 communication patterns"
        type = "network"
    
    strings:
        $beacon_path = "/api/v1/ping?uid=" ascii
        $beacon_ua   = "MalBot/1.0" ascii
        $checkin_hdr = "X-Command-Key: " ascii
    
    condition:
        any of them
}
# Generate YARA rules using the script
python scripts/yara_generator.py --samples ./malware_samples/ --output rules.yar
python scripts/yara_generator.py --file single_sample.exe --rule-name "MalwareFamily" --output rule.yar

# Test rules against benign files
yara -r generated_rule.yar /usr/bin/ 2>/dev/null | wc -l  # Should be 0
yara generated_rule.yar malware.exe                         # Should match
3. 动态/行为分析

当用户提供沙箱分析输出或询问动态分析时:

解读 Cuckoo/CAPE 沙箱报告:

Claude 会分析行为报告,查找以下内容:

  1. 进程树分析:

    • 异常的父子进程关系(Word.exe → PowerShell.exe → cmd.exe)
    • 进程注入指标(使用不同凭据生成进程)
    • 空洞化模式(合法进程具有可疑内存)
  2. 网络指标:

    • DNS 查询:DGA 模式(看似随机的域名)、快速通量
    • HTTP:异常的用户代理、编码后的 POST 数据、信标间隔
    • 检测 C2 信标:定时间隔回连(检查时间一致性)
  3. 文件系统更改:

    • 删除卷影副本:vssadmin delete shadows → 勒索软件指标
    • 启动持久化:\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
    • 在临时目录中释放二级载荷
  4. 注册表修改:

    • Run 键:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • 安装服务:HKLM\SYSTEM\CurrentControlSet\Services\
    • 安全策略更改:禁用 UAC、Windows Defender
  5. MITRE ATT&CK 映射:

观察到的行为MITRE 技术
PowerShell 下载器T1059.001 — PowerShell
cmd /c vssadmin delete shadowsT1490 — 禁止系统恢复
注册表 Run 键持久化T1547.001 — 注册表 Run 键
CreateRemoteThread 注入T1055.001 — DLL 注入
创建计划任务T1053.005 — 计划任务
netsh advfirewall set allprofiles state offT1562.004 — 禁用主机防火墙
UAC 绕过(fodhelper.exe)T1548.002 — 绕过 UAC
访问 LSASS 内存T1003.001 — LSASS 内存
4. 恶意软件家族分类

当用户要求识别或分类恶意软件样本时:

根据行为模式分类:

家族指标可能的家族类别
删除卷影副本 + 文件加密 + 勒索说明勒索软件
定时 HTTP 信标 + 命令执行 + 横向移动RAT/僵尸网络
窃取浏览器凭据 + 银行木马覆盖层银行木马
键盘记录 + 截屏 + 数据外传间谍软件/信息窃取程序
进程空洞化 + 隐蔽持久化Rootkit/后门
生成加密货币挖矿进程加密货币挖矿程序
通过网络共享传播的蠕虫蠕虫
下载载荷的宏文档投放器/下载器

相似性分析:

# SSDeep fuzzy hash comparison
ssdeep -l malware.exe > hash.txt
ssdeep -m hash.txt similar_sample.exe
# Similarity > 70% → likely same family/variant
5. 沙箱环境设置

当用户要求设置恶意软件分析环境时:

最低隔离要求:

  1. 使用专用 VM(VirtualBox、VMware、KVM)——绝不使用主机
  2. 使用仅主机或隔离的网络适配器(默认不接入互联网)
  3. 分析前创建快照——每次分析样本后还原
  4. 禁用共享文件夹和剪贴板(防止数据外传)

推荐的沙箱技术栈:

Analysis VM (Windows 10/11 or Ubuntu):
├── FakeNet-NG or INetSim — Simulate network services
├── Wireshark — Capture network traffic
├── ProcessMonitor (Windows) / strace (Linux) — Monitor syscalls
├── Regshot (Windows) — Compare registry before/after
├── Autoruns (Windows) — Monitor persistence locations
└── Cuckoo/CAPE Agent — Automated collection

Network Layer:
└── Host-only adapter → no real internet → INetSim captures C2 attempts

反反 VM 措施:

  • 安装 VMware Tools(某些恶意软件会检查是否缺少工具)
  • 设置合理的 RAM(4GB+)和 CPU 数量(2+)
  • 添加一些良性用户文件和浏览器历史记录
  • 设置真实的屏幕分辨率(1920x1080)
  • 移除明显的 VM 痕迹(注册表键、设备名称)

IOC 提取与输出格式

针对每个分析的样本,生成:

## Malware Analysis Report — [Sample Name]

**Hashes:**
- MD5:    [hash]
- SHA1:   [hash]
- SHA256: [hash]
- SSDeep: [fuzzy hash]

**Classification:** [Ransomware / RAT / Infostealer / etc.]
**Confidence:** [High / Medium / Low]
**Family:** [Family Name, if identified]
**First Seen:** [Date from TI sources]

**Network IOCs:**
- IPs: [list]
- Domains: [list]
- URLs: [list]
- User-Agent: [string]

**Host IOCs:**
- File Paths: [list]
- Registry Keys: [list]
- Mutex Names: [list]
- Services: [list]

**MITRE ATT&CK Mapping:**
- [Tactic]: [Technique ID] — [Technique Name]

**YARA Rules:** [Attached]
**Sigma Rules:** [Attached, for Skill 12]

脚本参考

static_analyzer.py
python scripts/static_analyzer.py --file malware.exe --output report.json
python scripts/static_analyzer.py --file sample.dll --hashes --strings --imports --entropy
yara_generator.py
python scripts/yara_generator.py --samples ./malware_samples/ --output rules.yar
python scripts/yara_generator.py --file single_sample.exe --rule-name "MyMalware" --output rule.yar

技能集成

条件相邻技能
需要更深入地反汇编→ 技能 04(逆向工程)
IOC 已准备好进行全环境狩猎→ 技能 06(威胁狩猎)
IR 期间收集到恶意软件← 技能 07(事件响应)
创建检测特征→ 技能 15(蓝队防御)

参考资料


v3.0 改进(2026 年更新)

与当前威胁态势保持一致:

  • 主要家族/TTP(2025-26) — 信息窃取程序(Lumma、Redline 后继者)、加载器(初始访问经纪人)和勒索软件附属团伙;Linux/ESXi 勒索软件;跨平台 Go/Rust 载荷。
  • EDR 规避与 BYOVD — 检测自带易受攻击驱动程序、EDR 杀手工具、直接/间接系统调用、解除挂钩以及 AMSI/ETW 补丁。
  • 无文件/仅内存 — 优先进行内存取证(→ 技能 07);狩猎 LOLBins(rundll32、mshta、regsvr32、msbuild)以及 PowerShell/.NET 反射式加载。
  • 配置提取 — 从常见家族中提取 C2 配置(解码字符串/密钥、转储信标配置文件),并将 IOC 导出为 STIX/CSV,供技能 06 使用。
  • AI 生成的恶意软件 — 留意高变异性、共享代码较少的样本;依靠行为分析和基于行为的 YARA,而不是哈希匹配。
  • 引爆服务 — 通过 MalwareBazaar、Triage 和 Hybrid Analysis 进行关联分析,在本地引爆前判定家族归属。

安全规则: 仅在隔离且从快照还原的虚拟机中引爆,确保无法访问生产网络;在报告中记录沙箱配置。

评论

支持 Markdown