我想监控客户端是否尝试使用错误的 WPA 密钥连接到 Wi-Fi 网络。是否有任何接入点会记录此类尝试?是否可以通过将单独的 Wi-Fi 卡设置为监控模式来观察到这种情况?
答案1
感谢您对握手过程的解释。我并不是真的想捕获错误的密码,只是想知道有人尝试过。经过进一步研究,似乎可以通过 Wireshark 实现:教程:WPA 数据包捕获说明。
这是对两个示例 WPA 捕获文件的简要说明。第一个文件 (wpa.full.cap) 捕获的是成功连接到接入点的无线客户端 WPA 连接。第二个文件 (wpa.bad.key.cap) 捕获的是尝试使用错误密码连接到 AP 的无线客户端连接。
答案2
不,由于四次握手确保密码永远不会通过无线方式发送,因此不可能从登录尝试中记录实际密码。这里是维基百科对四次握手的解释解释了这个概念:
四次握手的设计目的是让接入点(或身份验证器)和无线客户端(或请求者)能够独立地向对方证明他们知道 PSK/PMK,而无需泄露密钥。接入点和客户端不会泄露密钥,而是各自加密发送给对方的消息(这些消息只能使用它们已经共享的 PMK 进行解密),如果消息解密成功,则证明它们知道 PMK。四次握手对于保护 PMK 免受恶意接入点(例如,攻击者的 SSID 冒充真实接入点)的攻击至关重要,这样客户端就永远不必告诉接入点其 PMK。
答案3
好吧,我看到有人向你推荐了 wireshark,这是一个很好的起点,我没有读过这篇文章,所以我不知道它有多深入(而且我知道这篇文章已经有 7 年了),但我想谈谈一些事情,只是为了帮助未来的任何人。只是一些主要的、关键的要点,可能会节省一些时间和/或精力,可能会有所帮助。
- 路由器日志:大多数路由器都有日志系统,尽管并非所有路由器都会记录连接尝试,即使记录了,有时这些日志也很难访问。
- 监控模式:WiFi 芯片可以进入不同的模式。例如,手机上的热点会将模式从“客户端”更改为“接入点”,以适应传入的连接。还有其他几种模式,但为了便于理解,其中一种模式称为监控模式。基本区别在于,在客户端模式下,WiFi 芯片会监听但忽略任何未定向到它的流量。在监控模式下,它会接收并处理所有流量(尽管除非您运行 wireshark 或其他程序,否则它不会做任何不同的事情)
- Wireshark:Wireshark 记录来自许多不同类型或协议的“数据包”。从技术上讲,使用一些廉价设备,您可以使用 wireshark 记录蜂窝 GSM 数据包。为了使用它记录 802.11(wifi)数据包,您必须处于监控/混杂模式(我忘记了两者之间的区别,但就本解释的所有意图和目的而言,它们是同义词)。如果您不将 wifi 芯片置于监控模式,将会发生以下两种情况之一。要么您只能看到往返于设备的 wifi 数据包,要么您只能看到未加密流量(即没有密码的 wifi AP)上的 TCPIP 活动。
- 带监控模式的 Windows:在过去的 10 年左右的时间里,我一直在尝试让 Windows 将 wifi 芯片置于监控模式,但我只找到了一个程序可以做到这一点。我忘记了这个程序的名字,最初也不太容易找到,但如果你使用的是 Windows,你就不能使用 wireshark 来实现这个目的。另一个程序是(据我所知)在 Windows 中将 wifi 芯片置于监控模式的唯一方法。(它可能被称为太阳风)
- Linux:另一方面,Linux 在监控模式下表现相当不错。此外,您可以使用一些不同的程序,如果您对这类事情感兴趣,有一个专门用于“渗透测试”或渗透测试(测试网络安全性)的 Linux 发行版,适用于 802.11 和 TCP/IP(以及蓝牙和许多其他)。它被称为“Kali Linux”。使用 Kali,您可以使用“airmon-ng”(aircrack-ng 包的一部分)将您的卡置于监控模式,然后使用 wireshark、airodump-ng 或 kismet 查看流量
- 四次握手:这是用于 WPx 加密(也有 WEP,但是这种加密机制从一开始就被破解了,现在,有了 Kali linux 和笔记本电脑(甚至是 Wish 的手表),我可以在 5 分钟内进入大多数 WEP 网络(只要我足够接近)。基本上,使用 WPx 加密有一个四次握手,省去技术细节,创建密码的哈希值,并且只有当设备连接到网络时才会执行,然后,哈希值用于加密(我认为)这样具有监控模式的设备就不能简单地窃取哈希值并伪装成它从中窃取哈希值的设备。我忘了 WEP 的具体工作原理,但有几种方法可以获取密码(虽然有几次我入侵了 wifi 接入点,当然是在获得了许可的情况下,我从中获取的密码实际上不是设置的密码,但可以连接)。
- MAC 地址:因此,当您在 wireshark 上查看 802.11x 流量时,没有任何设备具有 IP 地址,因为这些地址直到设备成功连接后才会分配。要在此过程中识别设备,需要使用称为“MAC 地址”的唯一标识符。在某些设备上,MAC 地址可以更改(我认为较新的 iPhone 默认会随机更改),因此,这不是识别设备的 100% 好方法(尽管据我所知,没有其他唯一数字可以使用),因此即使准确度(我猜大约 10% 的设备会随机化其 MAC 地址)不是 100%,您得到的也是您得到的。此 ID 是您识别使用不正确密码的设备的方式(我认为密码交换将在 Wireshark 中列为 EOPOL 或类似名称)。关于 MAC 地址的另一个注意事项:
00:00:00:11:11:11
这是 MAC 地址的示例。MAC 地址使用 16 位(十六进制)编号(0-f),前三组数字(在我的示例中为 0)是制造商的 ID 代码。您可以在搜索引擎中搜索“MAC ADDRESS LOOKUP”以输入 MAC 并查找制造商,但根据我的经验,只有大约 50% 的设备(可能更多一点)具有可解析为制造商的 MAC,并且列出的制造商不是设备制造商,而是 wifi 芯片的制造商(这样,您可能会看到 Roku 电视显示为“三星”)。
无论如何,我只是想结合我多年来的研究成果,与任何研究这类事情的人分享,我希望我能为您节省一些研究时间。
附注:从技术上讲,通过中间人攻击 (MITM),你可以记录错误的密码,因为你缺少四次握手的一部分
答案4
也许 IPS 或 IDS 可以做到这一点。Palo Alto 可能有用于此目的的数据包捕获设备。但失败的登录尝试通常仅记录在进行身份验证的设备上,因此您需要收集这些日志(例如应用程序服务器或身份系统)