mcpField
M
malware-analysis

malware-analysis

github.com/tsale安全32572 次安装24 周前更新
代码仓库

关于 malware-analysis

malware-analysis 是面向安全分析师的恶意软件分析 skill,将脚本化样本分诊与指标提取结合起来,并要求基于证据推理、评估置信度和撰写结构化威胁报告。

主要功能

  1. 01静态样本分析
  2. 02威胁情报分诊
  3. 03IOC 提取
  4. 04行为与能力评估
  5. 05置信度和风险评级
  6. 06结构化威胁报告

适用场景

  1. 01分诊可疑文件
  2. 02依据静态指标评估恶意软件能力
  3. 03用证据说明风险

安装

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

$npx skills add https://github.com/tsale/awesome-dfir-skills --skill malware-analysis

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

包含的文件

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

config/
config.json
references/
mitre_techniques.md
report_template.md
scripts/
extract_iocs.py
generate_report.py
static_analysis.py
triage.py

详细介绍

恶意软件分析技能

此技能可生成分析师级威胁报告,而非数据转储。每个结论都必须有证据和推理作为依据。

核心原则

  1. 基于证据进行推理:陈述结论时,必须解释原因
  2. 串联线索:将指标、行为、能力和影响关联起来
  3. 评估置信度:说明你的置信程度以及原因
  4. 输出可采取行动的信息:报告应能支持决策,而不只是提供信息

分析工作流

步骤 1:收集数据

运行所有脚本以收集原始数据:

# Static analysis - get hashes, PE info, strings, APIs, entropy
python3 scripts/static_analysis.py /path/to/sample -f json > static.json

# Threat intelligence - check reputation across sources
python3 scripts/triage.py -t file /path/to/sample -f json > triage.json

# IOC extraction - extract network/host indicators
python3 scripts/extract_iocs.py /path/to/sample -f json > iocs.json
步骤 2:分析并推理(这是关键步骤)

利用收集到的数据,进行分析师级推理:

2.1 威胁情报评估

自问:

  • 此样本是否已知?如果在 MalwareBazaar/ThreatFox 中发现,则为已确认的恶意软件
  • VT 检测率是多少?
    • 0 个检测:新样本、误报或干净文件——需要进行行为分析
    • 1-5 个检测:可能是新变种或针对性攻击——可疑
    • 5-15 个检测:已被多个供应商确认为恶意
    • 15+ 个检测:广为人知的恶意软件
  • 它被归属到哪个家族?调查该家族的典型行为
  • 它最早是在何时被发现的?近期发现 = 活跃的攻击活动

始终解释推理过程:

“MalwareBazaar 将此样本识别为 RedLine Stealer,VT 检测结果为 45/70。高检测率以及它存在于经过筛选的恶意软件仓库中,证实这是已知威胁,而非误报。”

2.2 根据静态指标进行行为分析

API 分析——将 API 映射到行为:

API 模式可能的行为推理依据
VirtualAlloc + VirtualProtect + WriteProcessMemory + CreateRemoteThread进程注入这是典型的注入模式:分配内存、设置为可执行、写入代码,并在目标进程中执行
CredEnumerate, CryptUnprotectData凭据窃取这些 API 专门用于访问 Windows 凭据存储和受 DPAPI 保护的数据(浏览器密码)
InternetOpen + URLDownloadToFile下载器初始化 HTTP 并下载文件——这是典型的投放器行为
RegSetValueEx + 字符串中的 Run 键路径持久化写入 Run 键可确保在启动时执行
IsDebuggerPresent, GetTickCount, NtQuerySystemInformation反分析多项规避检查表明,恶意软件会在分析过程中隐藏其行为
CryptEncrypt + 文件枚举 API可能是勒索软件加密能力结合文件发现行为——但也可能是安全的 C2

始终解释推理过程:

“同时存在 VirtualAlloc、VirtualProtect 和 CreateRemoteThread,强烈表明其具备进程注入能力。这些 API 单独使用时都有合法用途,但这一特定组合是向其他进程注入代码的典型模式。”

加壳分析:

指标含义置信度
熵 > 7.0压缩/加密内容高
节熵 > 7.0(尤其是 .text)加壳代码节高
UPX0、UPX1、.aspack、.packed 节已知加壳器特征很高
RWX 节自修改代码中
导入表较小,且仅包含 GetProcAddress/LoadLibrary动态解析 API高

如果已加壳,请说明其影响:

“此样本显示出多项加壳指标(熵为 7.4,包含 UPX 节)。静态分析结果反映的是解包桩,而非实际载荷。要揭示其真实功能,必须进行动态分析。”

2.3 能力评估

根据证据,判断恶意软件能做什么:

能力所需证据置信度
进程注入2 个或更多注入 API3 个或更多时为高,2 个时为中
凭据窃取任意凭据访问 API高(这些 API 有明确用途)
键盘记录SetWindowsHookEx中(也有合法用途)
网络 C22 个或更多网络 API + 提取出的 URL/IP高
文件下载URLDownloadToFile 或类似 API高
持久化注册表/服务 API + 相关字符串中
加密/勒索软件加密 API + 文件枚举中(需要结合上下文)

说明置信度和判断理由:

"凭据窃取能力:高置信度——存在 CryptUnprotectData,它专门用于解密 DPAPI 保护的数据,包括浏览器密码。此 API 在大多数软件中没有合法用途。"

2.4 风险评估

确定风险等级并说明理由:

风险等级标准
CRITICAL凭据窃取 API、进程注入,或确认属于已知会窃取数据/实施勒索的软件家族
HIGH存在多种恶意能力、网络 C2、持久化机制
MEDIUM存在可疑迹象,但未确认恶意能力;或通过加壳隐藏真实行为
LOW迹象很少;可能是带有可疑特征的合法软件
UNKNOWN证据不足、经过重度加壳,或未命中 TI
步骤 3:撰写报告

按以下结构撰写报告:

# Threat Analysis Report: [MALWARE_NAME or "Unknown Sample"]

| | |
|---|---|
| **Risk Level** | [CRITICAL/HIGH/MEDIUM/LOW] |
| **Confidence** | [High/Medium/Low] |
| **Analysis Date** | [DATE] |

---

## Executive Summary

[2-3 sentences: What is this? Is it malicious? What can it do? How do we know?]

**Key Finding:** [One sentence bottom line]

---

## Threat Intelligence Assessment

[What do TI sources tell us? Explain what each finding means]

- **VirusTotal:** [X/Y detections] — [what this means]
- **MalwareBazaar:** [Found/Not found] — [what this means]  
- **Family Attribution:** [Family name] — [what this family typically does]

**Assessment:** [Your reasoned conclusion based on TI]

---

## Behavioral Analysis

### Identified Capabilities

#### [Capability 1: e.g., "Process Injection"]
- **Confidence:** [High/Medium/Low]
- **Evidence:** [List the specific APIs/strings found]
- **Reasoning:** [Explain WHY this evidence indicates this capability]

#### [Capability 2: e.g., "Credential Theft"]
...

### Packing Assessment

[Is it packed? What does this mean for the analysis?]

### Anti-Analysis Techniques

[What evasion techniques were identified?]

---

## MITRE ATT&CK Mapping

| Tactic | Technique | ID | Evidence |
|--------|-----------|----|---------| 
| [Only include techniques you can justify with evidence] |

---

## Indicators of Compromise

### File Indicators
[Hashes]

### Network Indicators  
[Defanged IPs, domains, URLs - only if extracted]

### Host Indicators
[Registry keys, file paths, mutexes - only if found]

---

## Risk Assessment

**Overall Risk: [LEVEL]**

This assessment is based on:
1. [Reason 1]
2. [Reason 2]
3. [Reason 3]

**Confidence in Assessment: [High/Medium/Low]**
- [Why this confidence level]

---

## Recommendations

### Immediate Actions
[What should be done RIGHT NOW based on risk level]

### Detection Opportunities
[How to detect this threat]

### Further Analysis Needed
[What questions remain unanswered]
熵值解读
熵值含义
0-1结构高度规整(空内容、重复内容)
4-5纯文本、可读字符串
5-6已编译代码(正常的 .text 节)
6-7压缩数据、部分混淆
7-8加密/压缩(已加壳)
文件签名
字节类型
4D 5A (MZ)PE 可执行文件
50 4B (PK)ZIP/Office 文档
7F 45 4C 46ELF 可执行文件
D0 CF 11 E0OLE/旧版 Office
25 50 44 46PDF

分析推理示例

不佳(数据罗列):

"发现的 API:VirtualAlloc、CreateRemoteThread、RegSetValueEx。熵值:7.2。VT:34/70。"

良好(分析师推理):

"根据 VirtualAlloc 和 CreateRemoteThread 的存在,此样本表现出进程注入能力(高置信度)。这些 API 配合使用时,会构成经典的代码注入模式:先在目标进程中分配内存,再创建线程来执行注入的代码。较高的熵值(7.2)表明载荷经过加壳,这意味着观察到的 API 可能属于解包存根,而不是最终载荷。VirusTotal 的检测率为 34/70,证实该样本已被识别为恶意软件;多个厂商将其识别为 Agent Tesla 的一个变种。Agent Tesla 是一种专门窃取信息、以收集凭据而闻名的恶意软件。鉴于该样本具有注入能力,且与窃取凭据的软件家族有关,因此它会对任何运行它的系统上的凭据安全构成 CRITICAL 级风险。"

脚本参考

static_analysis.py
python3 scripts/static_analysis.py <file> -f [text|json]

提取:哈希、文件类型、PE 头、节、熵值、导入项、字符串、可疑指标

triage.py
python3 scripts/triage.py <ioc> -f [text|json]
python3 scripts/triage.py -t file <filepath> -f json
python3 scripts/triage.py --status  # Check API config

查询:MalwareBazaar、ThreatFox、URLhaus、VirusTotal、AbuseIPDB

extract_iocs.py
python3 scripts/extract_iocs.py <file> -f [text|json|csv]

提取:IP、域名、URL、电子邮件、哈希、注册表项、文件路径、加密货币钱包、互斥体

评论

支持 Markdown