rohan815/PDFXRay
GitHub: rohan815/PDFXRay
一款用于教育和研究目的的 Python PDF 恶意软件静态分析工具,能够检测 PDF 文件中的各类可疑指标并生成风险评估报告。
Stars: 1 | Forks: 0
# PDFXRay
PDFXRay 是一个基于 Python 的 PDF 恶意软件分析工具,专为教育和研究目的而设计。该工具对 PDF 文件执行静态分析,并检测潜在的可疑指标,例如 JavaScript 动作、OpenAction 触发器、嵌入文件、URL、IP 地址、可疑字符串和压缩流。
本项目是作为 PDF 恶意软件分析学习和 CEHv13 实践的一部分而开发的。
## 功能
* PDF 结构分析
* 对象枚举
* 流枚举
* FlateDecode 流解压
* JavaScript 检测
* OpenAction 检测
* Launch Action 检测
* 嵌入文件检测
* URL 提取
* IP 地址提取
* 可疑字符串检测
* PDF 元数据检查
* JSON 报告生成
* Excel 报告生成
* 风险评估报告
## 项目结构
```
PDFXRay/
│
├── deep_analyze.py
├── create_samples.py
├── README.md
├── requirements.txt
│
├── reports/
│ └── PDFxray_report.py
│
└── samples/
├── benign_sample.pdf
└── malicious_sample.pdf
```
## 环境要求
* Python 3.10+
* Windows 或 Linux
安装所需的依赖项:
```
pip install -r requirements.txt
```
## requirements.txt
```
openpyxl>=3.1.5
pdfminer.six>=20231228
PyMuPDF>=1.26.0
yara-python>=4.5.0
pefile>=2024.8.26
```
## 用法
### 深度 PDF 分析
```
python deep_analyze.py sample.pdf
```
示例:
```
python deep_analyze.py "C:\Users\User\Downloads\sample.pdf"
```
### 生成分析报告
生成 JSON 和 Excel 报告:
```
python reports/PDFxray_report.py sample.pdf
```
示例:
```
python reports/PDFxray_report.py "C:\Users\User\Downloads\sample.pdf"
```
## 样本生成
生成测试 PDF 样本:
```
python create_samples.py
```
生成的文件:
```
samples/
├── benign_sample.pdf
└── malicious_sample.pdf
```
## 检测能力
| 指标 | 检测 |
| ------------------ | --------- |
| JavaScript | ✅ |
| OpenAction | ✅ |
| Launch Action | ✅ |
| 嵌入文件 | ✅ |
| URL | ✅ |
| IP 地址 | ✅ |
| 可疑字符串 | ✅ |
| 压缩流 | ✅ |
| PDF 对象 | ✅ |
| PDF 元数据 | ✅ |
## 生成的报告
报告生成器会自动创建:
* JSON 报告
* Excel 报告 (.xlsx)
示例:
```
sample_report.json
sample_report.xlsx
```
## 输出示例
```
============================================================
PDFXRay REPORT
============================================================
filename: sample.pdf
size_bytes: 121137
pdf_version: 1.4
javascript: 0
open_action: 0
embedded_files: 0
verdict: BENIGN
JSON Saved : sample_report.json
Excel Saved: sample_report.xlsx
```
## 教育目的
创建此项目旨在帮助学生了解:
* PDF 内部原理
* 静态恶意软件分析
* PDF 威胁狩猎
* CEHv13 概念
* 安全文档检查
* 恶意软件分析方法论
## 免责声明
本项目严格仅供教育、研究和授权的安全测试目的使用。
未经适当授权,请勿将此软件用于任何系统、文件或环境。
作者对滥用此软件的行为不承担任何责任。
## 未来改进
* YARA 规则扫描
* VirusTotal 集成
* IOC 提取
* 熵分析
* 嵌入文件提取
* PDF 风险评分引擎
* GUI 版本 (Tkinter / PyQt)
## 作者
Rohan Kumar
网络安全学生
CEHv13 学习者
PDF 恶意软件分析研究项目
GitHub 作品集项目
标签:DAST, DNS 反向解析, Go语言工具, PDF分析, Python, 云安全监控, 恶意软件分析, 无后门, 逆向工具, 静态分析