AKARSH-2K26/Pdf-Malware-Analysis
GitHub: AKARSH-2K26/Pdf-Malware-Analysis
PMAT是一个自动化检测PDF文件中恶意指示器的静态分析工具包。
Stars: 0 | Forks: 0
# PMAT — PDF恶意软件分析工具包 v1.0
**用于恶意PDF检测的自动化静态分析引擎**
*网络安全项目 | 仅限教育用途*
## 概述
PMAT 是一个基于Python的静态分析工具包,可自动检测PDF文件中的恶意指示器。它实现了一个8步分析流程:
1. **PDF加载器** — 文件验证、哈希计算 (MD5/SHA1/SHA256)
2. **元数据提取器** — 作者、日期、生产者、异常检测
3. **对象枚举器** — PDF对象树分析、可疑类型检测
4. **关键词扫描器** — 使用加权评分的攻击关键词检测
5. **流解码器** — FlateDecode/ASCIIHex/ASCII85/Base64 解码
6. **IOC提取器** — URL、IP、CVE、嵌入文件、电子邮件
7. **JavaScript分析器** — JS提取、混淆检测、反混淆
8. **风险评分器** — 加权0-100分 → CLEAN/LOW/MEDIUM/HIGH/CRITICAL
9. **报告生成器** — 包含IOC和缓解措施的JSON + TXT结构化报告
## 系统要求
```
Python 3.8+
pip install pikepdf pdfminer.six pypdf
```
## 快速开始
```
# 生成测试样本
python generate_samples.py
# 扫描单个 PDF
python pmat.py scan samples/sample_malicious_invoice.pdf
# 扫描自定义输出目录
python pmat.py scan invoice.pdf --output ./my_reports
# 批量扫描整个文件夹
python pmat.py batch ./samples/ --output ./reports
# 机器可读 JSON 输出
python pmat.py scan invoice.pdf --json
```
## 风险严重性等级
| 分数 | 严重性 | 含义 |
|--------|----------|---------------------------------------------------|
| 90-100 | CRITICAL | 存在主动攻击指标 — 需立即响应 |
| 70-89 | HIGH | 存在强烈恶意指标 — 视为威胁处理 |
| 40-69 | MEDIUM | 存在可疑内容 — 需要进一步分析 |
| 10-39 | LOW | 存在轻微异常 — 需要监控和调查 |
| 0-9 | CLEAN | 未检测到有意义的威胁 |
## 项目结构
```
pmat/
├── pmat.py ← Main entry point (CLI)
├── generate_samples.py ← Generate test PDFs
├── modules/
│ ├── loader.py ← Step 1: File loader & hasher
│ ├── metadata.py ← Step 2: Metadata extractor
│ ├── objects.py ← Step 3: Object enumerator
│ ├── keywords.py ← Step 4: Keyword scanner
│ ├── streams.py ← Step 5: Stream decoder
│ ├── ioc.py ← Step 6: IOC extractor
│ ├── javascript.py ← Step 7: JavaScript analyzer
│ ├── scoring.py ← Step 8: Risk scoring engine
│ └── reporter.py ← Step 9: Report generator
├── utils/
│ └── display.py ← Terminal color/display helpers
├── samples/ ← Test PDF samples
└── reports/ ← Generated analysis reports
```
## 示例输出
```
RISK SCORE : 82/100
SEVERITY : HIGH
[CRITICAL] /JavaScript count=3 (+10 pts)
[HIGH] /OpenAction count=1 (+8 pts)
[HIGH] eval( count=2 (+7 pts)
[IOC] URL: http://malicious-c2-server.ru/payload.exe
[IOC] Embedded file: invoice_attachment.exe
```
## 法律声明
此工具包**仅用于教育和授权的安全研究**。
请勿用于分析您不拥有或没有明确分析权限的系统或文件。
标签:IOC提取, PDF恶意软件分析, PDF解析, 云安全监控, 威胁情报, 开发者工具, 恶意PDF, 教育用途, 数字取证, 流解码, 网络安全, 自动化分析, 自动化脚本, 跨站脚本, 逆向工具, 隐私保护, 静态分析