关于 analyzing-malicious-pdf-with-peepdf
这是面向安全分析人员的技能指南,介绍使用 peepdf 和辅助工具检查可疑 PDF。流程涵盖恶意对象定位、内容提取、JavaScript 分析及 IOC 整理。
主要功能
- 01扫描可疑 PDF 关键字
- 02交互式检查 PDF 对象
- 03提取并解码数据流
- 04分析嵌入式 JavaScript
- 05整理威胁 IOC
适用场景
- 01分诊钓鱼邮件中的 PDF 附件
- 02分析 PDF 漏洞利用文档
- 03提取 PDF 中的脚本或文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-malicious-pdf-with-peepdf安装后在 Claude Code 中输入/analyzing-malicious-pdf-with-peepdf确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdscripts/agent.py详细介绍
使用 peepdf 分析恶意 PDF
适用场景
- 对来自钓鱼邮件的可疑 PDF 附件进行初步分析时
- 分析基于 PDF 的漏洞利用文档中的恶意软件时
- 从 PDF 中提取嵌入的 JavaScript、shellcode 或可执行文件时
- 对武器化文档样本进行取证检查时
- 构建针对基于 PDF 的威胁的检测特征时
前置条件
- 安装了 peepdf-3 的 Python 3.8+(
pip install peepdf-3) - 来自 Didier Stevens 工具套件的 pdfid.py 和 pdf-parser.py
- 隔离的分析环境(VM 或沙箱)
- 可选:用于在 peepdf 中模拟 JavaScript 的 PyV8
- 可选:用于分析 shellcode 的 Pylibemu
工作流
- 使用 pdfid 初步分析:扫描 PDF 中的可疑关键字(/JS、/JavaScript、/OpenAction、/Launch、/EmbeddedFile)。
- 交互式分析:在 peepdf 交互模式下打开 PDF,探索对象结构。
- 识别可疑对象:定位包含 JavaScript、流或编码数据的对象。
- 提取内容:转储可疑流并解码过滤器(FlateDecode、ASCIIHexDecode)。
- 反混淆 JavaScript:分析提取的 JS,查找 shellcode、堆喷射或漏洞利用代码。
- 查询 VirusTotal:使用 peepdf vtcheck,将文件哈希与 AV 检测结果进行交叉比对。
- 生成 IOC:提取 URL、域名、哈希和 shellcode 特征。
核心概念
| 概念 | 描述 |
|---|---|
| /OpenAction | 打开 PDF 时执行的自动操作 |
| /JavaScript /JS | PDF 对象中嵌入的 JavaScript 代码 |
| /Launch | 启动外部应用程序的操作 |
| /EmbeddedFile | 嵌入 PDF 结构中的文件 |
| FlateDecode | 用于隐藏内容的 zlib 压缩过滤器 |
| 对象流 | 存储在压缩流中的 PDF 对象 |
工具和系统
| 工具 | 用途 |
|---|---|
| peepdf / peepdf-3 | 通过 JS 模拟进行交互式 PDF 分析 |
| pdfid.py | 快速扫描可疑关键字,进行初步分析 |
| pdf-parser.py | 深入解析 PDF 对象 |
| VirusTotal | 查询哈希,并交叉比对 AV 检测结果 |
| CyberChef | 解码并转换提取的载荷 |
输出格式
Analysis Report: PDF-MAL-[DATE]-[SEQ]
File: [filename.pdf]
SHA-256: [hash]
Suspicious Keywords: [/JS, /OpenAction, etc.]
Objects with JavaScript: [Object IDs]
Extracted URLs: [List]
Shellcode Detected: [Yes/No]
Embedded Files: [Count and types]
VirusTotal Detections: [X/Y engines]
Risk Level: [Critical/High/Medium/Low]
评论
支持 Markdown