有什么方法可以检查 PDF 中的漏洞吗?我大部分时间都在 Linux 上,但有时我也必须在 Windows 上阅读 PDF,所以我必须格外确保 PDF 是干净的。我在 Windows 上使用 Acrobat Reader,在 Linux 上使用 Evince。
以下是远程漏洞利用论坛版主( Lupin)的帖子,我发现它非常有帮助。
以下是我在分析恶意 PDF 时使用的方法:
我使用的工具
pdfid是pdf-parser从这里开始的。过去我也用过pdftk,但最近我发现它不太有用。流程:
- 用于
pdfid分析pdf文档。pdfid可以告诉您 pdf 是否包含 Javascript 以及自动运行功能以及它有多少页。具有 JavaScript 和自动运行功能的一页文档是可疑的。- 如果存在 Javascript,请从文档中提取它以确定其用途。有时 Javascript 包含在纯文本中,在这种情况下,您可以使用字符串实用程序来提取它。否则,您可以使用 pdf-parser 来提取某些类型的编码 Javascript。
- 恶意 Javascript 通常包含混淆以掩盖其真实目的。为了消除这种混淆,我稍微修改了脚本以方便调试(例如将 eval 语句中的代码分配给变量),并使用 Rhino Javascript 调试器向我展示代码在运行时如何转换。
- 许多基于 Javascript 的 PDF 漏洞通常涉及缓冲区溢出,并且 shellcode 通常采用 unicode 格式。我编写了一个perl 脚本,用于将这种类型的 shellcode 转换为 C 程序(实际上只是带有一些包装器代码的 C 风格 shellcode),然后可以对其进行编译,以便使用标准二进制分析技术进行进一步分析。
我要指出的是,PDF 漏洞利用无需 Javascript 也是可能的,但实际上,大多数野外攻击似乎都在使用它。当然我见过的人都有。
| 归档时间: |
|
| 查看次数: |
1699 次 |
| 最近记录: |