渗透测试 LEAP 加密 WLAN


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

LEAP 的漏洞在于 -

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

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

和之前的案例一样,我们先从 airodump-ng 开始,看看环境中广播了哪些 WLAN。

广播 WLAN

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

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

启用 Wireshark

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

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

客户回复

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

请求 响应

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

阿斯利普

正如您所看到的,基于数据包捕获,asleap能够导出 802.1X 数据包交换的所有信息并破解 MS-CHAPv2 哈希。用户“LAB_user”的密码是“f8be4a2c”。

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