使用通用登录页面定制 Captive Portal

Beginner
立即练习

引言

在本实验中,你将探索如何使用一个通用登录页面来增强 captive portal 攻击。Captive portal 是公共访问网络的用户在获得访问权限之前,必须查看和交互的网页。虽然它们经常用于接受服务条款等合法目的,但也可以被钓鱼攻击所欺骗,以窃取凭据。

使用通用模板,例如标准的路由器登录页面,可以使虚假 portal 对更广泛的用户更具可信度,因为它不针对特定品牌。我们将使用 wifipumpkin3 工具来创建和部署一个带有自定义 captive portal 的虚假 Wi-Fi 接入点。在本实验结束时,你将成功启动一个具有通用登录页面的 captive portal,并观察它是如何捕获用户凭据的。

启动 Captive Portal 攻击

在此步骤中,我们将首先启动 wifipumpkin3 工具。这个强大的框架允许我们创建各种类型的 Wi-Fi 攻击,包括我们将要设置的 captive portal。我们将使用 sudo 权限来启动该工具,因为它需要管理网络接口。

首先,打开一个终端。你的默认路径已经是 ~/project。现在,运行以下命令来启动 wifipumpkin3

sudo wifipumpkin3

运行命令后,你将看到 wifipumpkin3 的启动画面,并进入其交互式 shell,提示符为 wp3 >。在这里,我们将发出所有后续命令来配置和启动我们的攻击。

[21:47:18] INFO     starting wifipumpkin3...
...
wifipumpkin3 v1.1.4
Wireless-Pumpkin - Framework for Rogue Wi-Fi Access Point Attack
Codename: "The Pumpkin-King"
wp3 >

现在,要开始 captive portal 设置过程,输入 start 并按 Enter。此命令将启动攻击并引导你完成必要的配置选择。

wp3 > start

当提示选择 Portal 时,选择一个通用品牌

在此步骤中,在通过 start 命令发起攻击后,wifipumpkin3 会提示你选择一个 captive portal 模板。该工具将模板分类以便于选择。为了我们的目的,我们希望使用一个不特定于任何特定服务(如 Facebook 或 Google)的登录页面,因为这增加了欺骗用户的几率。

该工具将显示一个 Portal 分类列表。我们将选择“Generic”类别。查找与下方所示类似的选项,并输入其对应的数字。

Please select a portal category:
[1] Social Media Logins
[2] Email Provider Logins
[3] Generic Brands
[4] Terms of Service
...
Enter the number of your choice:

在提示符处,输入与 Generic Brands 对应的数字并按 Enter。在本示例中,我们假设它是 3

3

这告诉 wifipumpkin3 你想使用其通用、无品牌登录页面集合中的一个模板。

选择类似“通用路由器登录”的 Portal

在此步骤中,在选择“Generic Brands”类别后,wifipumpkin3 将显示该类别中可用模板的子列表。我们的目标是选择一个模仿典型路由器或网络设备登录页面的 Portal。这是一个常见且有效的诱饵,因为用户在连接新网络时经常会看到此类页面。

你将看到一个带有特定通用 Portal 列表的新提示。

Please select a generic portal:
[1] Generic Router Login
[2] Generic Wi-Fi Terms of Service
[3] Generic Hotel Wi-Fi Login
...
Enter the number of your choice:

在此列表中,通过输入对应的数字并按 Enter 来选择 Generic Router Login。在本示例中,我们将输入 1

1

通过选择此选项,你已将 captive portal 配置为使用标准的通用路由器登录页面作为其钓鱼模板。该工具现在已基本准备好发起攻击。

发起攻击并连接客户端设备

在此步骤中,在选择了 Portal 模板后,wifipumpkin3 将自动完成配置并启动伪造的接入点 (AP)。终端将显示日志,表明 AP 已激活并等待客户端连接。

现在,我们需要模拟一个客户端设备连接到我们的恶意网络,并被重定向到 captive portal。在 LabEx VM 环境中,我们可以使用内置的 Firefox 浏览器来完成此操作。

首先,观察你的 wifipumpkin3 终端中的输出。你应该会看到表明 AP 已成功启动的消息。

[21:48:10] INFO     roguehostd: service is running...
[21:48:10] INFO     dhcpd: service is running...
[21:48:11] INFO     accesspoint: setting up AP on wlan0
[21:48:12] INFO     accesspoint: AP [Free-WiFi] started at (channel 6)

接下来,打开一个新的终端标签页或窗口,然后输入以下命令启动 Firefox 浏览器:

firefox http://neverssl.com &

我们使用 http://neverssl.com 是因为它是一个非 HTTPS 网站,这可以确保 captive portal 重定向正常工作。出于安全原因,现代浏览器通常会阻止在 HTTPS 网站上进行重定向。末尾的 & 会将进程置于后台运行,允许你继续使用终端。

观察所选通用 Portal 的外观

在最后一步中,你将观察攻击的结果。你启动的 Firefox 浏览器应该已经被自动重定向到你选择的 captive portal 页面。

在 Firefox 窗口中,你将看到“Generic Router Login”页面。它将是一个简单的表单,要求输入用户名和密码,旨在看起来像网络路由器的标准管理页面。

为了测试凭证捕获功能,请在表单中输入一些虚假数据。例如:

  • Username: admin
  • Password: password

提交表单后,切换回 wifipumpkin3 终端窗口。你将看到你输入的凭证已被捕获并显示在日志中。

[21:50:15] INFO     PumpkinProxy: GET / HTTP/1.1 200
[21:50:25] INFO     PumpkinProxy: POST / HTTP/1.1 200
[21:50:25] INFO     PumpkinProxy: Captive Portal -----------------------------------
[21:50:25] INFO     PumpkinProxy: Client-Info:
    IP: 10.0.0.2
    MAC: 02:42:ac:11:00:02
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
[21:50:25] INFO     PumpkinProxy: Credentials:
    username: admin
    password: password
[21:50:25] INFO     PumpkinProxy: ------------------------------------------------

你现在已经成功部署了一个带有通用登录页面的 captive portal,并从模拟客户端捕获了凭证。要停止攻击,你可以在 wp3 > 提示符下输入 stop,然后输入 exit 来关闭该工具。

总结

在本实验中,你学习了如何使用 wifipumpkin3 设置和定制 captive portal 攻击。你成功启动了该工具,通过其交互式提示选择了通用的路由器登录模板,并部署了一个伪造的 Wi-Fi 接入点。通过使用 Web 浏览器模拟客户端连接,你观察了定制化 Portal 的运行情况,并确认了其捕获凭证的能力。

这个练习展示了如何轻松创建具有说服力的钓鱼攻击,并强调了在连接未知或公共 Wi-Fi 网络时保持警惕的重要性。使用通用模板可以使此类攻击更加通用,并且对于普通用户来说更难被发现。