关于 Malware Analysis & Sandboxing
面向恶意软件分析人员的 Claude 技能,支持静态分析样本、解读沙箱行为、编写 YARA 规则和分类恶意软件家族,并提供隔离沙箱配置及 IOC 报告指导。
主要功能
- 01文件与 PE 静态分析
- 02生成并测试 YARA 规则
- 03解读沙箱行为
- 04恶意软件家族分类
- 05提取 IOC 并生成报告
- 06沙箱隔离配置指导
适用场景
- 01初步分析可疑二进制文件或脚本
- 02根据恶意软件指标创建规则
- 03解读 Cuckoo 或 CAPE 报告
- 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.mdscripts/yara_generator.pystatic_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 |
| 网络 C2 | InternetOpenUrl、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 规则:
- 选择稳定、独特的指标 — 避免通用模式;选择此家族特有的字节或字符串
- 优先选择结构性模式 — 文件头魔数、特定偏移量、节名称
- 平衡特异性与覆盖范围 — 避免规则过于具体(只能匹配一个样本)或过于宽泛(产生误报)
- 使用良性文件进行测试 — 规则不应匹配干净的 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 会分析行为报告,查找以下内容:
-
进程树分析:
- 异常的父子进程关系(Word.exe → PowerShell.exe → cmd.exe)
- 进程注入指标(使用不同凭据生成进程)
- 空洞化模式(合法进程具有可疑内存)
-
网络指标:
- DNS 查询:DGA 模式(看似随机的域名)、快速通量
- HTTP:异常的用户代理、编码后的 POST 数据、信标间隔
- 检测 C2 信标:定时间隔回连(检查时间一致性)
-
文件系统更改:
- 删除卷影副本:
vssadmin delete shadows→ 勒索软件指标 - 启动持久化:
\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ - 在临时目录中释放二级载荷
- 删除卷影副本:
-
注册表修改:
- Run 键:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - 安装服务:
HKLM\SYSTEM\CurrentControlSet\Services\ - 安全策略更改:禁用 UAC、Windows Defender
- Run 键:
-
MITRE ATT&CK 映射:
| 观察到的行为 | MITRE 技术 |
|---|---|
| PowerShell 下载器 | T1059.001 — PowerShell |
cmd /c vssadmin delete shadows | T1490 — 禁止系统恢复 |
| 注册表 Run 键持久化 | T1547.001 — 注册表 Run 键 |
| CreateRemoteThread 注入 | T1055.001 — DLL 注入 |
| 创建计划任务 | T1053.005 — 计划任务 |
netsh advfirewall set allprofiles state off | T1562.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. 沙箱环境设置
当用户要求设置恶意软件分析环境时:
最低隔离要求:
- 使用专用 VM(VirtualBox、VMware、KVM)——绝不使用主机
- 使用仅主机或隔离的网络适配器(默认不接入互联网)
- 分析前创建快照——每次分析样本后还原
- 禁用共享文件夹和剪贴板(防止数据外传)
推荐的沙箱技术栈:
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(蓝队防御) |
参考资料
- YARA 文档
- MITRE ATT&CK 框架
- MalwareBazaar
- VirusTotal
- Cuckoo Sandbox 文档
- CAPE Sandbox
- 《实用恶意软件分析》(书籍)
- vx-underground 样本档案
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 进行关联分析,在本地引爆前判定家族归属。
安全规则: 仅在隔离且从快照还原的虚拟机中引爆,确保无法访问生产网络;在报告中记录沙箱配置。