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), 无后门, 逆向工具, 静态分析