harshhhhh10/PDF-Malware-Analysis

GitHub: harshhhhh10/PDF-Malware-Analysis

一个基于Python内置库的PDF恶意软件静态分析工具,通过关键词检测、漏洞模式匹配和IOC提取为可疑PDF文件自动生成风险评分与分析报告。

Stars: 0 | Forks: 0

# PDF 恶意软件分析工具包 一个基于 Python 的静态分析工具,用于检测 PDF 文件内的恶意指标。 作为网络安全实习项目的一部分而开发。 ## 此工具的功能 PDF 文件是用于传递恶意软件的最常见格式之一。 攻击者会在其中隐藏 JavaScript、漏洞利用代码和网络钓鱼链接。 此工具包可分析 PDF 文件并告知您: - 其中包含哪些可疑关键词 - 是否包含 JavaScript(在普通 PDF 中很少见) - 是否存在任何已知的漏洞利用特征 - 可能作为 C2 服务器的 URL 或 IP 地址 - 是否使用了任何混淆技术 - 最终的风险评分和风险等级 ## 功能特性 ### v3(最终版)- 最新版本 - **包含所有 v2 的功能,此外还有:** - 元数据提取(作者、创建日期、生成者) - 可疑关键词检测(`/JavaScript`、`/OpenAction`、`/EmbeddedFile` 等) - 已知漏洞利用模式匹配(基于 CVE) - URL 和 IP 地址提取(IOC) - JavaScript 块提取和预览 - 混淆检测(eval、unescape、base64、hex 编码) - **加密检测** - 检测 /Encrypt、RC4、AES 加密 - **压缩对象检测** - 查找 FlateDecode、ASCIIHexDecode 等 - **流解压** - 解压隐藏在流中的内容 - **嵌入文件提取** - 查找 PDF 中的嵌入文件 - **图像对象检测** - 统计图像对象的数量 - **链式过滤器检测** - 检测多层编码 - **VirusTotal 集成** - 提供直接的 VT 查询链接 - 自动风险评分(低 / 中 / 高 / 严重) - 自动生成分析报告(`.txt` 和 `.pdf`) ### v2(旧版) - 元数据提取 - 可疑关键词检测 - 漏洞利用模式匹配 - URL/IP 提取 - JavaScript 检测 - 混淆检测 - 风险评分 - 文本报告生成 ## 工具与技术 - **编程语言:** Python 3 - **库:** os、re、sys、hashlib、datetime(均为内置,无需安装) - **平台:** 适用于 Kali Linux、Ubuntu、Windows - **分析类型:** 静态分析(不执行文件) ## 如何运行 ### 步骤 1:克隆仓库 ``` git clone https://github.com/yourusername/pdf-malware-analyzer.git cd pdf-malware-analyzer ``` ### 步骤 2:创建测试样本 PDF ``` python3 create_sample_pdf.py ``` ### 步骤 3:运行分析器(v3 - 推荐) ``` python3 pdf_analyzer_v3.py sample_malicious.pdf ``` ### 步骤 3b:运行 v2(旧版) ``` python3 pdf_analyzer_v2.py sample_malicious.pdf ``` ### 步骤 4:查看报告 `.txt` 报告将自动保存在同一文件夹中。 ## 示例输出 ``` ============================================================ PDF MALWARE ANALYSIS TOOLKIT ============================================================ [*] Loading file: sample_malicious.pdf [+] File loaded. Size: 1594 bytes [+] MD5: 7843e311116a40ee1d40471c93e34d35 [*] Scanning for suspicious keywords... [!] Found: /JavaScript (appears 1 time(s)) [!] Found: /OpenAction (appears 1 time(s)) [!] Found: eval( (appears 1 time(s)) [*] Scanning for known exploit patterns... [!!!] EXPLOIT PATTERN DETECTED: Collab.collectEmailInfo [!!!] EXPLOIT PATTERN DETECTED: util.printf [*] Extracting URLs... [!] URL Found: http://malicious-site.xyz/payload/invoice.exe [!] URL Found: http://192.168.1.105/malware.bin RISK SCORE: 134 | RISK LEVEL: CRITICAL ============================================================ ``` ## 项目结构 ``` pdf-malware-analyzer/ │ ├── pdf_analyzer.py # Main analysis toolkit ├── create_sample_pdf.py # Creates a test PDF for demo ├── requirements.txt # Dependencies info ├── sample_malicious.pdf # Sample test file (safe, no real malware) ├── README.md # This file └── report/ └── sample_analysis_report.txt # Auto-generated after analysis ``` ## 风险评分系统 | 分数 | 风险等级 | 含义 | |-------|-----------|---------| | 0 - 20 | 低 | 可能安全 | | 21 - 50 | 中 | 存在部分可疑元素 | | 51 - 80 | 高 | 发现多个危险信号 | | 81+ | 严重 | 极有可能是恶意的 | ## 重要提示 ## 学习成果 在构建此项目后,我学到了: - PDF 文件结构内部是如何运作的 - 攻击者如何在文档中嵌入 JavaScript 和 payload - 如何从文件中提取失陷指标(IOC) - SOC 分析师如何处理文档恶意软件分析 - 如何编写结构化的恶意软件分析报告 ## 作者 网络安全实习生 领域:网络安全 实习:Unified Mentor 项目
标签:CVE特征匹配, DAST, DNS 反向解析, Go语言工具, IOC提取, JavaScript检测, PDF恶意代码检测, Python, VirusTotal集成, 云安全监控, 元数据提取, 后端开发, 命令与控制(C2)提取, 威胁情报, 安全工具开发, 开发者工具, 恶意软件分析, 文件流解压缩, 无后门, 混淆技术识别, 网络信息收集, 网络安全, 网络安全实习项目, 网络安全审计, 网络安全项目, 自动化风险评分, 进程保护, 隐私保护, 静态分析