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, 云安全监控, 云资产可视化, 恶意软件分析, 无后门, 逆向工具, 静态分析