dorcasjames/pdf-malware-analysis-toolkit
GitHub: dorcasjames/pdf-malware-analysis-toolkit
该工具包通过整合多种 PDF 静态分析工具,实现对恶意 PDF 文件的自动化检测、IOC 提取与风险评分。
Stars: 0 | Forks: 0
# 🔍 PDF 恶意软件分析工具包
**作者:** Adebamigbe Dorcas Adeyemi
**指导者:** Mr Gbaminiyi Elijah
**日期:** 2026年5月
**环境:** Python 3.13 | Android 上的 Termux
## 📌 项目概述
PDF 文件是攻击者最常利用的文档格式之一,常用于:
- 钓鱼活动
- 基于 JavaScript 的漏洞利用
- 嵌入式恶意软件投递
- 社会工程学攻击
本工具包对 PDF 文件执行**静态分析**——这意味着 PDF 绝不会被执行或打开。相反,该工具会检查其内部结构以检测恶意内容。
## 🛠️ 使用工具
| 工具 | 用途 |
|------|---------|
| `pdfid.py` | 基于关键字的 PDF 扫描(检测 /JavaScript、/OpenAction、/Launch) |
| `pdf-parser.py` | 深度对象级解析——追踪完整攻击链 |
| `strings` | 原始二进制字符串提取——查找隐藏的 URL 和 IOC |
| `pdf_analyze.py` | **自定义自动化工具包**——通过一条命令运行全面分析 |
## 📁 仓库结构
```
pdf-malware-analysis-toolkit/
│
├── pdf_analyze.py # Main automated analysis script
├── pdfid.py # Didier Stevens PDF keyword scanner
├── pdf-parser.py # Didier Stevens PDF deep parser
│
├── samples/
│ ├── test.pdf # Sample 1 — Basic JS + OpenAction
│ ├── test2.pdf # Sample 2 — JS + Malicious URL
│ ├── test3.pdf # Sample 3 — Launch action (malware.exe)
│ ├── test4.pdf # Sample 4 — URL encoding obfuscation
│ └── real1.pdf # Sample 5 — Real Maxis phishing PDF
│
├── reports/
│ ├── report_test.pdf.txt
│ ├── report_test2.pdf.txt
│ ├── report_test3.pdf.txt
│ ├── report_test4.pdf.txt
│ └── report_real1.pdf.txt
│
└── README.md
```
## ⚙️ 安装说明
### 前置条件
- Python 3.x
- Termux (Android) 或任何 Linux 环境
### 第 1 步 — 克隆仓库
```
git clone https://github.com/dorcasjames/pdf-malware-analysis-toolkit.git
cd pdf-malware-analysis-toolkit
```
### 第 2 步 — 安装依赖项
```
pip install pdfminer.six requests colorama
```
### 第 3 步 — 下载分析工具
```
curl -O https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/pdfid.py
curl -O https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/pdf-parser.py
```
## 🚀 使用方法
### 运行全自动化分析
```
python pdf_analyze.py
```
**示例:**
```
python pdf_analyze.py samples/real1.pdf
```
### 仅运行关键字扫描
```
python pdfid.py samples/test.pdf
```
### 运行深度对象解析器
```
python pdf-parser.py samples/test.pdf
```
### 搜索 JavaScript 对象
```
python pdf-parser.py --search javascript samples/test.pdf
```
### 手动提取 IOC
```
strings samples/test.pdf | grep -Ei "http|ftp|eval|unescape|exe|powershell"
```
## 📊 示例输出
```
==================================================
ANALYZING: samples/real1.pdf
Date: 2026-05-21 12:35:59
==================================================
[PDFID SCAN]
PDF Header: %PDF-1.6
obj 94
stream 39
/Page 3
[IOCs FOUND]
- /URI (https://www.maxis.com.my/en/payment/)
- /URI (https://care.maxis.com.my/)
- >ftp:Z:0d
[RISK SCORE]: 125/100 — HIGH
[REASONS]:
- JavaScript detected
- OpenAction detected
- Embedded file found
- Launch action found
- 3 IOCs found
[REPORT SAVED]: report_real1.pdf.txt
```
## 🔴 所有样本中检测到的 IOC
| 样本 | IOC 类型 | 值 | 严重程度 |
|--------|----------|-------|----------|
| test.pdf | JavaScript | `app.alert("Hello");` | 中 |
| test2.pdf | 恶意 URL | `http://malware-c2.ru/payload.exe` | 高 |
| test3.pdf | 可执行文件 | `malware.exe via /Launch` | 高 |
| test4.pdf | 混淆 URL | `http://evil.com (encoded)` | 高 |
| real1.pdf | 钓鱼 URL | `maxis.com.my/en/payment/` | 高 |
## 📈 风险评分系统
| 分数 | 等级 | 含义 |
|-------|-------|---------|
| 0–24 | 🟢 低 | 极少威胁指标 |
| 25–49 | 🟡 中 | 存在部分可疑元素 |
| 50+ | 🔴 高 | 检测到多个活跃威胁 |
**评分明细:**
- 检测到 `/JavaScript` → +30 分
- 检测到 `/OpenAction` → +25 分
- 检测到 `/EmbeddedFile` → +20 分
- 发现 `/Launch` 操作 → +30 分
- 发现 IOC → +20 分
## 🛡️ 缓解建议
1. 在 PDF 阅读器设置中**禁用 JavaScript**
2. 绝不**打开**来自未知或不受信任发件人的 PDF
3. 在打开之前,将可疑的 PDF **上传**至 VirusTotal
4. 通过电子邮件网关策略**阻止 /Launch 和 /EmbeddedFile**
5. 使用沙箱分析(如 Any.run、Cuckoo)进行行为分析
6. 对所有接收到的 PDF 附件**运行 pdfid.py**
## ⚠️ 免责声明
本工具包严格仅供**教育和道德安全研究目的**使用。
所有使用的恶意软件样本均在**受控环境**中进行分析。
真实的恶意软件样本均来自 **MalwareBazaar**,仅供学术分析使用。
**切勿将此工具用于您不拥有或未获授权测试的系统。**
## 📚 参考资料
- [Didier Stevens PDF 工具](https://blog.didierstevens.com/programs/pdf-tools/)
- [MalwareBazaar](https://bazaar.abuse.ch)
- [VirusTotal](https://www.virustotal.com)
- [PDF 规范](https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf)
*PDF 恶意软件分析工具包 — Adebamigbe Dorcas Adeyemi | 2026年5月*
# pdf-malware-analysis-toolkit
标签:DAST, PDF分析, Python, 云安全监控, 恶意软件分析, 搜索语句(dork), 无后门, 逆向工具, 静态分析