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, 教育用途, 数字取证, 流解码, 网络安全, 自动化分析, 自动化脚本, 跨站脚本, 逆向工具, 隐私保护, 静态分析