msaad1704/PDF_Malware_Analysis

GitHub: msaad1704/PDF_Malware_Analysis

基于 Python 的静态 PDF 恶意软件分析框架,无需执行即可检测可疑指标、嵌入式 JavaScript、漏洞利用模式和 YARA 规则匹配,并自动生成分析报告。

Stars: 1 | Forks: 0

# PDF 恶意软件分析工具包 ## 概述 **PDF 恶意软件分析工具包** 是一个基于 Python 的静态恶意软件分析框架,旨在无需执行即可检查可疑的 PDF 文档。该工具包能够识别钓鱼文档、漏洞利用 PDF 以及恶意软件投递活动中常见的恶意指标。 它支持执行元数据分析、关键词扫描、JavaScript 检测、对象枚举、IOC 提取、漏洞利用模式检测、YARA 规则扫描、自动化风险评分、日志记录,并生成详细的 TXT 和 PDF 报告。 ## 主要功能 - PDF 元数据提取 - SHA-256 哈希生成 - 可疑关键词检测 - PDF 对象枚举 - 嵌入式 JavaScript 检测 - 妥协指标 (IOC) 提取 - 漏洞利用模式检测 - YARA 规则扫描 - 自动化风险评分 - TXT 报告生成 - PDF 报告生成 - 扫描日志记录 - 模块化 Python 架构 ## 项目架构 ``` User │ ▼ main.py │ ┌────────────┼────────────┐ │ │ │ Metadata Keyword Scan Objects │ │ │ └────────────┼────────────┘ │ JavaScript Analysis │ IOC Extraction │ Exploit Detection │ YARA Rule Scan │ Risk Assessment │ ┌────────────┴────────────┐ ▼ ▼ TXT Report Generator PDF Report Generator │ ▼ Analysis Logs ``` ## 分析工作流 ``` Start ↓ Load PDF File ↓ Extract Metadata ↓ Keyword Scan ↓ Object Enumeration ↓ JavaScript Detection ↓ IOC Extraction ↓ Exploit Detection ↓ YARA Rule Scanning ↓ Risk Assessment ↓ Generate TXT Report ↓ Generate PDF Report ↓ Save Logs ↓ End ``` ## 项目结构 ``` PDF_Malware_Analysis/ ├── main.py ├── README.md ├── LICENSE ├── requirements.txt ├── .gitignore ├── modules/ │ ├── metadata.py │ ├── keyword_scan.py │ ├── object_analysis.py │ ├── javascript_detector.py │ ├── exploit_detector.py │ ├── ioc_extractor.py │ ├── yara_scanner.py │ ├── risk_engine.py │ ├── report_generator.py │ ├── pdf_report.py │ └── logger.py ├── utils/ ├── rules/ ├── samples/ ├── reports/ ├── logs/ ├── screenshots/ ├── tests/ ├── tools/ └── DidierStevensSuite/ ``` ## 使用的技术 - Python 3 - PyPDF - YARA Python - ReportLab - Colorama - Didier Stevens PDF Tools ## 安装说明 克隆代码仓库: ``` git clone https://github.com/msaad1704/PDF_Malware_Analysis.git ``` 进入项目目录: ``` cd PDF_Malware_Analysis ``` 安装所需的包: ``` pip install -r requirements.txt ``` ## 使用说明 分析 PDF 文档: ``` python3 main.py samples/clean.pdf ``` 示例: ``` python3 main.py samples/malicious.pdf ``` ## 生成的输出 该工具包会自动生成: - 终端分析摘要 - TXT 分析报告 - PDF 分析报告 - 分析日志 报告存储在: ``` reports/ ``` 日志存储在: ``` logs/ ``` ## 检测模块 | 模块 | 用途 | |---------|---------| | Metadata Analyzer | 提取 PDF 元数据和 SHA-256 哈希 | | Keyword Scanner | 检测可疑的 PDF 关键词 | | Object Enumerator | 统计并检查 PDF 对象 | | JavaScript Detector | 检测嵌入式 JavaScript 和可疑函数 | | IOC Extractor | 提取 URL、IP 地址、电子邮件和域名 | | Exploit Detector | 识别已知的漏洞利用指标 | | YARA Scanner | 使用 YARA 规则匹配恶意签名 | | Risk Engine | 计算总体严重性评分 | | Report Generator | 生成 TXT 和 PDF 报告 | | Logger | 维护分析日志 | ## 未来改进 - 动态 PDF 分析 - VirusTotal API 集成 - 沙箱集成 - 批量 PDF 分析 - Web Dashboard - GUI 界面 - 电子邮件附件扫描器 - 威胁情报集成 ## 示例截图 您可以将截图添加到 `screenshots/` 文件夹中,并在此处引用它们。 示例: ``` screenshots/ ├── toolkit_execution.png ├── pdf_report.png ├── txt_report.png └── folder_structure.png ``` ## 学习成果 本项目展示了以下方面的实际应用: - 静态恶意软件分析 - PDF 文件结构分析 - 恶意软件指标检测 - 威胁追踪概念 - YARA 规则开发 - Python 自动化 - 报告生成 - 安全软件开发 ## 作者 **Mohammad Saad** 计算机科学与工程(网络安全)B.Tech Bennett University GitHub: https://github.com/msaad1704 ## 许可证 本项目基于 MIT 许可证授权。 ### ⭐ 如果您觉得这个项目有用,请考虑给它点个 Star。
标签:DAST, PDF分析, Python, YARA, 云安全监控, 云资产可视化, 恶意软件分析, 无后门, 逆向工具, 静态分析