渗透测试 LEAP 加密 WLAN

轻量级可扩展身份验证协议 (LEAP) 是一种基于 Cisco 的传统身份验证协议,使用外部 RADIUS 服务器对用户进行身份验证。它使用哈希函数(MS-CHAP 和 MS-CHAPv2)对无线客户端和身份验证服务器执行伪相互身份验证。

LEAP 的漏洞在于 −

  • 用户的用户名以明文形式发送 - 因此黑客只需使用社交工程等手段获取用户的密码即可。

  • 用户的密码被 MS-CHAPv2 破解 - 算法容易受到离线字典攻击。

与前面的案例一样,让我们​​从 airodump-ng 开始,找出环境中广播的 WLAN。

Broadcast WLANs

如您所见,WLAN "LAB-test" 可见为 WPA2 网络。此类型的身份验证模式更改为"MGT" - 这意味着没有静态预共享密钥 (PSK),但身份验证服务移至外部身份验证服务器(例如 RADIUS)。此时,您无法判断特定 WLAN 网络是基于 LEAP、PEAP、EAP-TLS、EAP-TTLS 还是其他类型的 EAP 技术。

下一步是启用 Wireshark,以便查看数据包详细信息 - 它为渗透测试人员提供了大量有价值的信息。

Enable Wireshark

如您所见,身份验证服务器首先尝试协商 EAP-TTLS,但客户端拒绝。在接下来的 2 条消息中,他们同意使用 LEAP。

在前 2 条消息中,身份验证服务器要求输入用户名 (Identity),然后客户端回复 - 如您所见,客户端的回复以明文形式传输。

Clients Reply

此时,我们已经知道无线客户端的有效用户名是"LAB_user"。为了找出密码,我们将查看请求/响应交换。

请求响应

在 802.1x 身份验证标头的底部,您可以观察到身份验证服务器使用质询文本"197ad3e4c81227a4"向无线客户端发出质询。然后在后台,无线客户端使用 MS-CHAPv2 算法结合 LAB_user 的密码,得到一个值为 − "ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89"的哈希值,并将其发送回身份验证服务器。正如您从前面的章节中知道的那样,幸运的是,MS-CHAPv2 容易受到离线字典攻击。为此,我们将使用一种非常常见的工具来破解 LEAP 密码,称为 asleap

Asleap

如您所见,基于数据包捕获,asleap 能够得出 802.1X 数据包交换的所有信息并破解 MS-CHAPv2 哈希值。用户"LAB_user"的密码是"f8be4a2c"。

再次强调,您很可能永远不会在生产环境中看到 LEAP 身份验证 - 至少现在您有一个很好的证据来证明原因。