FaceNiff 是如何工作的?

信息安全 无线上网 会话管理 嗅探器 wpa2
2021-09-09 05:20:36

FaceNiff 是一个嗅探 Facebook 会话 ID 的 Android 应用程序。您必须连接到与受害者相同的 WiFi。据说即使存在 WPA2 也可以正常工作。这怎么可能?我可以在 WPA2 中解密其他连接用户的通信吗?

3个回答

TL;DR: FaceNiff 可能利用了 WPA 的“Hole 192”并使用 ARP 中毒来设置中间人攻击。简而言之,这些步骤是:

  • Eve 使用组临时密钥 (GTK) 将 ARP 数据包注入网络,网络的网关 IP 与她的 MAC 地址配对。
  • 客户将 Eve 的 MAC 地址注册为他们的新网关。
  • 客户端将使用其私钥 (PTK) 加密的数据包发送到 AP,但发送给 Eve。(数据包仍然必须到达 AP,因为它是“集线器”。)
  • AP 解密数据包,用 Eve 的 PTK 重新加密它们(因为它们是发给她的),然后重新广播它们。这些数据包现在对 Eve 来说是有效的明文。
  • 会话劫持随之而来。

根据 The Register 的一篇文章,似乎确实涉及 ARP 中毒。

http://www.theregister.co.uk/2011/06/03/android_cookie_stealing_app/print.html

该应用程序甚至可以在受 WPA 和 WPA2 加密方案保护的网络上使用称为 ARP 欺骗的技术通过攻击者的设备重定向本地流量。然而,攻击者必须知道安全密码。

因此,对于 WPA2 网络,FaceNiff 最有可能利用“Hole 196”。AirTight 有一篇文章很好地解释了 Hole 196 是什么,以及(粘贴在下面)如何利用它,以便 Eve 可以嗅探 WPA2 流量,就好像它很清楚一样。

http://www.airtightnetworks.com/WPA2-Hole196

在 WPA2 网络中,恶意内部人员将使用共享组密钥 (GTK) 加密的虚假数据包(以 AP 的 MAC 地址作为发送器的地址)直接广播到网络中的其他授权 Wi-Fi 客户端。可以使用 GTK 启动的漏洞利用的一个示例是经典的 ARP 中毒(中间人)攻击(在 Black Hat Arsenal 2010 和 Defcon18 上进行了演示)。

在 ARP 中毒漏洞利用中,内部人员可以在 GTK 加密的数据包中包含例如 ARP 请求消息。ARP请求有实际网关的IP地址,但是攻击者机器的MAC地址。所有收到此消息的客户端都将更新其 ARP 表 - 将攻击者的 MAC 地址与网关的 IP 地址映射。

所有“中毒”的 Wi-Fi 客户端都将使用各自的私钥 (PTK) 加密的所有流量发送到 AP,但以攻击者的 MAC 地址作为目的地。AP 将解密流量并将其转发给攻击者,现在使用攻击者的 PTK 对其进行加密。因为到达攻击者(来自 AP)的所有流量都使用攻击者的 PTK 加密,所以攻击者可以解密流量(包括登录凭据、电子邮件和其他敏感数据)。

然后攻击者可以选择将流量转发到网络的实际网关,使受害的 Wi-Fi 客户端看不到任何异常行为并继续通信。

请参阅WPA2 WiFi 是否可以防止 ARP 中毒和嗅探?. 从您关于使用 arp 欺骗的注释中,您可以看出涉及到 Hole 196 因素。

似乎它在内部使用了 ARP 欺骗(我注意到 FaceSniff 的变更日志中提到了 ARP)。