NO.28——Kali Linux无线渗透暴力破解WIFI密码
# crunch 8 8 0123456789 -o ~/password.txt
最近放暑假在家闲来无事,前几天在手机上下载了腾讯WiFi管家,意外地连接上了隔壁邻居的WiFi,但是在手机端无法看到密码明文,因此在考虑是否能通过Kali暴力破解WiFi密码。Kali Linux常用来做内网渗透测试,这里边水很深,网上关于这方面的资料有很多,本人也是浅浅涉猎一部分,其中最常用的便是破解WiFi密码,现在就用邻居家的WiFi进行测试。
前期准备
虚拟机里的Kali不能使用寄主计算机的网卡,需要外接无线网卡。本人使用的小米的无线网卡,详情见链接。
何为暴力破解,说白了就是穷举法,将密码字典中每一个密码依次与握手包中的密码进行匹配,直到匹配成功。所以能否成功破解WiFi密码取决于密码字典本身是否包含了这个密码。破解的时间取决于CPU的运算速度以及密码本身的复杂程度。本人这次用mac做测试,虽然只是生成了8位数字的随机字典,密码破解系统预估也要17个小时,因此,把WiFi密码设得足够复杂,大小写字母和数字混用,别人想破解也是要花很多时间的,长达几天都有可能。
conquer
- 使用crunch生成密码字典
因为我用腾讯WiFi管家很容易连上了邻居家的WiFi,目测应该是8位数字的简单组合,因此我设计了由8位数字组成的随机密码字典。
airmon-ng start wlan0
最终生成了一个800M的日志文件
- 使用airmon-ng命令检查网卡是否支持监听模式
从上图可以看出我的无线网卡wlan0是支持监听模式的,如果输入该命令没有任何输出,证明网卡不支持监听模式。
- 开启无线网卡的监听模式
airodump-ng wlan0mon
airodump-ng -c 13 --bssid DC:FE:18:1B:42:6B -w ~/ wlan0mon
开启监听模式后,无线网卡接口wlan0变更为wlan0mon,可以输入ifconfig进行查看。
- 搜索周围的WiFi网络
如上图所示,我想要破解的WiFi便是名称出现乱码的那个,至于为什么会出现乱码,未知,我是通过排除法找到了这个。
使用airodump-ng命令列出无线网卡扫描到的WiFi热点详细信息,包括信号强度,加密类型,信道等。这里我们记下要破解WiFi的BSSID和信道,如图中我用红色标记出来的。当搜索到我们想要破解的WiFi热点时可以Ctrl+C停止搜索。
BSSID:DC:FE:18:1B:42:6B 信道:13
- 抓取握手包
使用网卡的监听模式抓取周围的无线网络数据包,其中我们需要用到的数据包是包含了WiFi密码的握手包,当有新用户连接WiFi时会发送握手包。
抓包:
# aireplay-ng -0 2 -a DC:FE:18:1B:42:6B -c 50:01:D9:7E:F0:3F wlan0mon
参数解释:
如图所示,DC:FE:18:1B:42:6B是目标路由器的BSSID,50:01:D9:7E:F0:3F是我标记的我的手机的MAC地址,因为我的手机已经连上此WiFi。
- 强制连接到WiFi的设备重连路由器
现在我们使用aireplay-ng命令给手机发送一个反认证包,使手机强制断开连接,随后它会自动再次连接WiFi。
不难看出,aireplay-ng生效的前提是WiFi热点中必须至少已经接入一个设备。
由于刚刚打开的终端一直在执行抓包工作,所以我们重新打开一个终端,输入命令。
kali@root:~# airmon-ng stop wlan0mon
参数解释:
此时在原来的shell可以看到已经抓到握手包了,如下:
注:手机的MAC地址已变是因为跑得不是一次程序。
这个时候使用Ctrl+C命令停止抓包,同时结束无线网卡的监听模式。
结束监听:
kali@root:~# aircrack-ng -a2 -b DC:FE:18:1B:42:6B -w password.txt ~/-02.cap
- 暴力破解
上面已经成功抓取到了握手包,现在要做的工作就是将握手包的密码和字典文件中的密码进行匹配。
抓包文件保存在如下文件夹,-02.cap是最新的抓包文件。
我只是使用了一般复杂的全数字密码,结果程序预估要18个小时,看了电脑配置还是太低。