─ Şefik Efe Altınoluk 开发的物联网集成全自动无线网络钓鱼系统─
请勿在您没有合法许可的用户/系统上尝试此软件。未经双方事先同意,使用Wi-Phi
攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。对于由本软件、文档和此存储库中的任何内容造成的任何误用或损坏,我不承担任何责任,也不承担任何责任。
(参见 #4)因为Wi-Phi
可能被恶意使用,所以我不分享大部分源代码。如果您需要完整的工作代码,请通过 LinkedIn 联系我了解任何商业/学术/教育案例。
该项目已获得 Gnu 通用公共许可证 3.0 版许可
有关更多详细信息,请参阅许可证。
Wi-Phi
是一种完全集成到无线IoT
(物联网)板的自动网络phishing
system
。
它可以被认为是一个先进的、功能丰富的Wifi Pineapple
。
Wi-Phi
能够对至少运行以下软件之一的用户进行网络钓鱼:
Wi-Phi
的主要组件有:
MicroPython
固件的 IoT 板。我使用基于ESP32
Deneyap Kart
。esp32-20220117-v1.18.bin
获取 ESP32 IoT 设备。
将 ESP32 连接到计算机并获取 ESP32 连接的串口。
COMx
/dev/ttyUSBx
或/dev/tty/USBx
然后针对 GNU/Linux 运行以下命令。
[efe@lhost ~] $ git clone https://github.com/f4T1H21/Wi-Phi.git && cd Wi-Phi
[efe@lhost Wi-Phi] $ pip3 install -r requirements.txt
[efe@lhost Wi-Phi] $ sudo ./setup.sh < serial_port >
现在,该软件应该可以运行,检查您是否看到名为Google Free Wi-Fi
Wi-Fi 网络。
每当您将 ESP32 插入电源时,该项目都会在启动阶段后自动运行。
别的都无所谓。
所有软件均在MicroPython上实现,并在ESP32上运行。
ESP32 成为无线 AP(接入点);并运行三 (3) 个独立套接字(在 OSI 第 4 层上):
53/UDP
用于DNS
服务器80/TCP
用于HTTP
服务器2121/TCP
用于Credential Store
服务器所有绑定均在网关 (AP) IP 地址上完成,即210.210.210.1
我之所以选择这样的 IP 类别,是因为出于某种原因,三星设备不将短 IP 地址视为强制门户。这对我来说是个问题。
主要思想是在 HTTP 服务器上提供静态网络钓鱼网站,并使其成为通过 Wi-Fi 连接的任何供应商的设备(站)的captive portal
。
Static site
DNS
、 HTTP
和CS
服务器TCP
和UDP
套接字Gateway
LAN
Wireless AP
、 Wi-Fi
下面展示了Wi-Phi
工作时精心设计的场景。
这也是我给自己布置的一个案例研究。那么让我们深入了解这个案例......
大多数设备供应商向其特定于供应商的强制门户检测服务器的某些端点发送 HTTP 请求,并期望特定的 HTTP 响应来了解 Wi-Fi 网络是否具有强制门户。
下表显示了不同设备供应商应做出的响应,以使设备假设 Wi-Fi 网络中存在强制门户。
注意:Mozilla 是“设备供应商”的例外。 Firefox(作为浏览器)能够根据其自己的强制门户检测服务器自行做出此决定。
带有302 Found
状态码的响应还需要有一个Location:
标头,以便正确重定向浏览器(客户端)。
设备供应商 | 端点 | 状态码 | 响应体 |
---|---|---|---|
微软(Windows) | www.msftconnecttest.com/ncsi.txt | 200 OK | Microsoft NCSI |
微软(Windows) | www.msftconnecttest.com/connecttest.txt | 200 OK | Microsoft Connect Test |
微软(Windows) | www.msftconnecttest.com/redirect | 302 Found | |
谷歌(安卓) | connectivitycheck.gstatic.com/gen_204 | 302 Found | |
谷歌(安卓) | connectivitycheck.gstatic.com/generate_204 | 302 Found | |
谷歌(安卓) | clients3.google.com/generate_204 | 302 Found | |
小米 | connect.rom.miui.com/gen_204 | 302 Found | |
小米 | connect.rom.miui.com/generate_204 | 302 Found | |
苹果(IOS/MacOS) | captive.apple.com/hotspot-detect.html | 302 Found | |
火狐(火狐) | detectportal.firefox.com/canonical.html | 302 Found | |
火狐(火狐) | detectportal.firefox.com/success.txt | 302 Found |
为了能够响应对上述端点执行的 http 请求,这些请求应发送到 ESP32 的 HTTP 服务器。为了实现这一点,ESP32 应该将特定的域查找应答到它自己的 IP 地址。
google.com
的 IP 地址应变为210.210.210.1
因此需要有一个运行在 ESP32 上的域名系统服务器。从这个角度来看,这一场景与 DNS 劫持攻击类似。
我认为谷歌是全球最受欢迎和最值得信赖的科技公司。所以我准备了一个静态的钓鱼页面,看起来和 Gmail 的旧登录页面几乎一样。并将Wi-Fi网络命名为Google Free Wi-Fi
。
随着场景的继续,将浏览器(客户端)重定向到静态登录页面后,用户打算输入他/她的凭据并按下一步按钮。并且凭据存储在本地文件中。然后用户的 IP 会被禁止,直到 ESP32 下次重新启动。否则,本地数据库可能会因虚拟/错误的凭据而混乱。所有这些之后,客户端被重定向到静态站点的/
目录。
每当 IP 禁止的客户端尝试访问 HTTP 服务器上的任何资源时,无论 HTTP 请求的方法、头部、主体等如何,都会提供相同的 html 文件hacklendin.html
另一方面,可以通过连接到2121/tcp
并在连接到 Wi-Fi 时使用硬编码密码进行身份验证来远程查看本地凭据存储。
Wi-Phi
是一个功能丰富的系统。可以实时查看Wi-Fi
、 HTTP
和DNS
服务创建的详细日志。这些日志不存储在本地以节省存储空间。
为了能够查看详细日志,
boot.py
的内容复制到名为main.py
本地文件。boot.py
main.py
您可以使用ampy
工具在 ESP32 上进行文件操作和运行软件。
让我们看一下这样的情况:我们有多个来自不同供应商的独立设备同时连接到我们的Google Free Wi-Fi
。
当 IOS 设备遇到强制门户时,它们会自动启动强制门户页面,而不提示用户,很好!
三星设备仅显示通知。因此,用户在这里需要单击Sign in to the network
或屏幕顶部的通知。
小米设备也会显示通知。他们有时还会自动打开强制门户页面,而不会再次提示用户!
在 Firefox 中,应用程序窗口顶部会出现提示。单击Open network login page
后,它将在新选项卡中打开强制门户页面。
还有一个甚至不让用户决定的人(比如 IOS)。始终自动打开强制门户页面。
正如我之前所解释的,
整个学习过程,将我学到的知识应用到现实生活中,修复错误和编写本文档对我来说非常有趣!我希望您将这些知识用于道德!如有其他问题和商业/学术/教育案例,请联系我。
叽叽喳喳
领英
黑客一号
破解盒子
─由 Şefik Efe Altınoluk 撰写─