Pentesting 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条消息中,认证服务器要求输入用户名(Identity),客户端回复 - 如您所见,客户的回复以明文形式传送.

客户回复

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

请求响应

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

Asleap

如您所见,基于数据包捕获, asleap 能够导出802.1X数据包交换和破解MS-CHAPv2散列的所有信息.用户的密码:"LAB_user"是"f8be4a2c".

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