曲径通幽论坛

标题: 如何绕过 WEP 共享密钥认证 [打印本页]

作者: beyes    时间: 2014-10-15 18:30
标题: 如何绕过 WEP 共享密钥认证
如何绕过 WEP 共享密钥认证?

按照正规情况,需要客户端输入正确的共享密钥后,才能获得 AP 的认证。共享密钥认证原理如下图所示:
[attach]3839[/attach]


下面来做这个实验:

1. 在无线路由里启用 WEP 及使用共享密钥(密钥设置为 1234567890):
[attach]3837[/attach]



2. 在攻击机上,配置 wlan0,创建监听接口 :
  1. # ifconfig wlan0 up
  2. # airmon-ng start wlan0
复制代码


3. 使用 airodump-ng 查找目标 AP:
  1. airodump-ng mon0
复制代码


发现目标:
[attach]3838[/attach]

由上图可见,目标 AP 的 SSID 为 rz-lib ,并且是采用 WEP 防护机制,工作在频道 7。另外注意到,AUTH 一栏内容为空,说明还没有合法的客户端连进网络并进认证。

单纯的执行 airodump-ng mon0 会监听到周围所有的 WIFI 网络,但此时目标已经找到并且获得了相关信息,我们就只针对它来监听,执行命令如下:
  1. airodump-ng mon0 -c 7 --bssid C8:E7:D8:1E:CA:DE -w keystream
复制代码

-w 选项将捕捉到的数据写入到以 "keystream" 为前缀的文件中。

此时假设还没有任何客户端连入 AP,因此从下图也能看到没看到任何客户端,而且 AUTH 栏仍为空:
[attach]3840[/attach]


手动将另一台计算机连入该 AP,很快的就能看到,AUTH 栏发生了变化,标识上一个 “SKA”,底下也显示出了该客户端的 MAC ,如下图所示:
[attach]3841[/attach]


查看当前目录,发现生成了一些以 keystream 开头的文件,其中一个后缀名为 .xor 的文件比较重要。它是通过对监听得来的挑战信息明文和加密后的挑战密文进行异或(XOR)运算得来的,也称之为 “密钥流”(keystream) 文件。利用该文件,对后续 AP 发过来的挑战信息进行加密,就可以绕过 AP 的认证,而无需实际的密钥。需要说的是,通过该文件,并不能解出实际的共享密钥,而只是用以欺骗 AP,达到一种虚假认证。因此,当你通过它来和 AP 建立连接,你也只是连接了而已,而不会分配到 IP 地址(如果 AP 启用 DHCP 的话,DHCP 服务器和客户机之间通过 ARP 来通讯),因此连上去后也无法上网(因为你没有真正的密钥)。

既然利用该文件只是达到了欺骗 AP 认证的目的,又不能上网,也不能干其他的事情,岂不是什么用都没有?当然是有用的,实际上通过该文件,再结合注入攻击,便能获取真正的密钥。但这个不是本文要阐述的内容,在另外的文章里会演示如何破解到真正的密钥。下面还是继续研究这个认证欺骗。

为了欺骗共享密钥身份验证,使用下面的命令:
  1. aireplay-ng --ignore-negative-one -1 0 -e rz-lib -y keystream-01-C8-E7-D8-1E-CA-DE.xor -a C8:E7:D8:1E:CA:DE -h aa:aa:aa:aa:aa:aa mon0
复制代码

执行该命令后,成功的话,会看到下面的输出:
[attach]3842[/attach]


解释一下命令中的选项含义:

-1 是采取 模式1 攻击,其意是欺骗认证;后面跟着参数 0,表示多少秒后重新关联一次(有些 AP 要求你每隔一定时间要重新关联,否则认为该客户端没有关联)。

-e 后面接无线网络名,这里是 rz-lib 。

-y 后接的就是之前得来的 *.xor 文件,这个不能少。

-a 后接 AP 的 MAC 。

-h 后接一个自定义的 MAC 地址。如果使用自身的 MAC 地址,就不会出现上图的警告信息。通过该警告信息,我们也了解到如果通过 ifconfig 命令来修改 MAC 地址。

登录路由查看,可以看到该假冒的 MAC 已经连接进来:
[attach]3843[/attach]



下面,通过 Wireshark 抓包来研究一下这个过程(这次假冒的 MAC 是 bb:bb:bb:bb:bb:bb)。

1. 第一个数据包(认证请求)由 aireplay-ng 发往 AP:
[attach]3844[/attach]

2. 接着,第二个数据包由 AP 发过来,里头包含了 AP 发送给客户端的挑战文本,如下图所示:
[attach]3845[/attach]


3. 接着,aireplay-ng 将加密后的挑战信息密文发给 AP :
[attach]3846[/attach]


4. 由于 aireplay-ng 使用的是之前获取的 keystream 进行加密,因此认证一定会通过,从 AP 返回的报文可以看到已经验证通过:
[attach]3847[/attach]



在认证成功之后,aireplay-ng 会伪装与 AP 关联:
[attach]3848[/attach]


同样,AP 也会返回一个与客户端关联成功的数据包:
[attach]3849[/attach]







欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2