humerapatel/PDF-Malware-Analysis-Toolkit

GitHub: humerapatel/PDF-Malware-Analysis-Toolkit

一款基于 Python 的自动化 PDF 静态恶意软件分析工具包,通过结构扫描、IOC 提取和风险评分帮助安全团队快速研判可疑 PDF 文档的威胁等级。

Stars: 0 | Forks: 0

# 🛡️ 自动化 PDF 恶意软件分析工具包 一个自动化、基于 Python 的静态分析工具包,旨在检测 PDF 文档内的恶意工件、武器化流、混淆的 JavaScript 以及网络入侵指标 (IOC)。 专为 **Kali Linux** 上的安全运营中心 (SOC) 分析师、事件响应人员和威胁狩猎者开发。 ## 📐 架构与工作流图表 ``` +-------------------------------------------------------+ | START ANALYSIS | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | STEP 1: Load PDF File | | - Validate %PDF Header & Parse Raw Bytes | | - Extract Metadata (/Author, /Producer, /ModDate) | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | STEP 2: Structural Keyword Scanning | | - Search for: /JavaScript, /JS, /OpenAction, /AA, | | /Launch, /EmbeddedFile | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | STEP 3: Object Enumeration | | - Enumerate object structures with pdf-parser | | - Target suspicious objects (e.g., Object 3) | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | STEP 4: IOC & JS Payload Extraction | | - Extract URLs & IP Addresses (Filter XML Schemas) | | - Scan for Obfuscation (eval, unescape, base64) | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | STEP 5: Risk Scoring Engine | | - Keyword presence: +10 to +30 pts | | - Malicious IOC presence: +15 to +20 pts | | - Map Score -> LOW / MEDIUM / HIGH / CRITICAL | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | STEP 6: Generate Structured Report | | - Output summary report to reports/ directory | | - Provide Blue Team mitigation recommendations | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | END PROCESS | +-------------------------------------------------------+ ``` ``` ## 📁 Repository 目录结构 PDF_Malware_Analysis_Project/ │ ├── samples/ # PDF Test Artifacts │ ├── clean_sample.pdf # Safe baseline document │ └── suspicious_sample.pdf # Synthetic weaponized PDF sample │ ├── reports/ # Automated Security Reports │ ├── Report_clean_sample.pdf.txt │ └── Report_suspicious_sample.pdf.txt │ ├── screenshots/ # Analysis Verification Artifacts │ ├── 01_environment_setup.png │ ├── 02_pdfid_manual_scan.png │ ├── 03_pdf_parser_object_extraction.png │ └── 04_automated_toolkit_execution.png │ ├── tools/ # Static Analysis Frameworks │ └── DidierStevensSuite/ # pdfid.py & pdf-parser.py │ ├── pdf_analyzer.py # Core Custom Automation Engine └── README.md # Project Documentation & Guide ``` ## ✨ 功能与特性 - **头部与元数据提取**:识别 `%PDF` 头部合规性、软件制作者、创建/修改日期,以及混淆/缺失的元数据异常。 - **结构性攻击向量检测**:扫描原始流对象以查找高风险 PDF 关键字: - `/JavaScript` & `/JS`(嵌入式脚本引擎) - `/OpenAction` & `/AA`(打开时自动触发执行) - `/Launch` & `/EmbeddedFile`(Payload 投递/执行机制) - **网络 IOC 提取引擎**:提取原始 URL 和 IP 地址,同时过滤无害的标准 XML schema 命名空间(`adobe.com`、`w3.org`)。 - **动态威胁评分矩阵**: - `0 - 14`:**低** 危险等级(良性 / 标准 PDF) - `15 - 29`:**中** 危险等级(包含外部链接或嵌入式结构标签) - `30 - 49`:**高** 危险等级(包含自动触发器或嵌入式代码) - `50+`:**严重** 危险等级(结合了自动触发器、JS Payload 和网络 IOC) - **自动化 SOC 事件报告输出**:输出结构化的 `.txt` 威胁情报报告,并为 SOC 团队提供建议。 ## 🛠️ 使用的工具与技术 - **操作系统**:Kali Linux - **编程语言**:Python 3 - **解析实用工具**: - `pdfid`(关键字异常检测) - `pdf-parser`(深度对象流解析) - `qpdf`(内容解压缩)
标签:DAST, DNS 反向解析, Go语言工具, PDF分析, Python, 云安全监控, 威胁情报, 开发者工具, 恶意软件分析, 无后门, 网络信息收集, 网络调试, 自动化, 静态分析