以下是过程和结果。我不知道为什么几天前它还能正常工作,但现在却不行了。这是我的网络,我可以完全控制它以及它上面的所有机器。
//Step 1 get wlan0 in monitor mode
root@kali:~# ifconfig wlan0 down
root@kali:~# iwconfig wlan0 mode monitor
root@kali:~# ifconfig wlan0 up
root@kali:~# iwconfig wlan0
wlan0 IEEE 802.11bgn Mode:Monitor Frequency:2.452 GHz Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
root@kali:~#
//step two create interface with airmon-ng
root@kali:~# airmon-ng start wlan0
Interface Chipset Driver
wlan0 Ralink RT2870/3070 rt2800usb - [phy0]
(monitor mode enabled on mon0)
root@kali:~#
//start airodump-ng to target my wifi
root@kali:~# airodump-ng mon0
CH 5 ][ Elapsed: 2 mins ][ 2015-01-03 19:17
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
<MAC Removed> -17 75 14 0 1 54e WPA2 CCMP PSK <ESSID Removed>
//Attempt to target my wifi
root@kali:~# airodump-ng mon0 -c 1 --bssid <MAC From Above>
此时,我可以看到我的 wifi 及其所有正确信息。但是,与我的 wifi 关联的设备均未显示?我的 wifi 上有一部手机、两台 Kindle、一台 Surface Pro 3 和一台 Xbox One。我猜想其中至少有一个会出现在关联设备输出中。然而,什么也没有。
我离路由器只有 10 英尺左右,所以我认为这不是距离问题。另外,正如我之前提到的,我大约一周前尝试过这个方法,并且成功了。我不确定有什么不同。我遗漏了什么吗?
更新
嗯,一些有趣的结果......
我决定将其中一台平板电脑放在我面前,并在我发送解除认证数据包时观察它。正如您所预料的那样,它会断开与 wifi 的连接,然后重新建立连接。这件事有两点很有趣。
首先,我使用 aireplay-ng -9 进行了测试数据包注入,结果显示 0/30 数据包通过。如果是这样,那么为什么取消认证会成功呢?
所以我将所有数据包写入 cap 文件,然后使用 WireShark 检查它。果然,我可以看到解除认证数据包,然后不久之后,我可以看到每个设备重新建立了连接(虽然没有捕获握手)
看起来 airodump-ng 脚本在骗我。但我不确定为什么。
更新 2
进一步了解有趣的细节。我决定在另一台机器上尝试这种攻击。我启动了我的 Wifi-Pinapple MK5 并发起了相同的攻击。第一次就成功了,没有任何问题。
由于我使用的是 Kali 的实时版本,并且这种攻击在几周前确实有效,因此我得出两个结论之一。要么是我的 USB wifi 适配器坏了,要么是它的某些内部设置发生了变化。这超出了我的知识范围,所以请随意添加输入。
答案1
看起来是 Ralink RT2870/3070 和 USB wifi 适配器固件之间的驱动程序问题。我想说也许 wifi 路由器只接受来自经过身份验证的 mac 地址的 deauth 数据包,但事实并非如此,因为您使用了具有相同命令的 Wifi-Pinapple MK5,并且它运行良好。如果您之前使用过带有 kali 实时版本的 wifi usb 并且它运行良好,那么我会说问题出在您的 wifi 适配器上。