# crunch 8 8 0123456789 -o ~/password.txt
最近我放暑假在家,无聊之余,我在手机上下载了腾讯wifi管家,并意外地连接上了隔壁邻居的WIFI。但是,我无法在手机上看到密码明文,于是我开始考虑是否可以通过Kali来暴力破解WIFI密码。Kali Linux通常用于进行内网渗透测试,这是一个非常深奥的领域,网络上有很多相关资料,我也稍微了解了一些。其中最常用的就是破解WIFI密码,现在我要用邻居家的WIFI进行测试。
所谓暴力破解,简单来说就是穷举法,将密码字典中的每一个密码与握手包中的密码进行匹配,直到找到匹配成功的密码为止。因此,是否能成功破解WIFI密码取决于密码字典本身是否包含该密码。破解的时间则取决于CPU的运算速度和密码的复杂程度。这次我使用的是Mac进行测试,尽管我只生成了一个包含8位数字的随机密码字典,但密码破解系统预计需要17个小时。因此,我建议将WIFI密码设置得足够复杂,包括大小写字母和数字的组合,这样别人想要破解也需要花费很长时间,甚至可能需要几天的时间。
首先,我使用crunch工具生成了一个包含8位数字的随机密码字典,具体步骤如下:
airmon-ng start wlan0
最终生成了一个800M大小的日志文件。
接下来,我使用airmon-ng命令检查无线网卡是否支持监听模式。从结果中可以看出,我的无线网卡wlan0支持监听模式。如果输入该命令没有任何输出,则表示网卡不支持监听模式。
然后,我开启了无线网卡的监听模式,将无线网卡接口wlan0更改为wlan0mon,并通过ifconfig命令进行确认。
接着,我使用airodump-ng命令搜索周围的WIFI网络。我注意到要破解的WIFI名称显示为乱码,至于为什么会出现乱码,我不清楚,但通过排除法,我找到了目标WIFI。使用airodump-ng命令可以列出无线网卡扫描到的WIFI热点详细信息,包括信号强度、加密类型和信道等。我记下了要破解的WIFI的BSSID和信道。
接下来,我需要抓取握手包。使用无线网卡的监听模式,我抓取了周围无线网络的数据包。其中,我们需要用到包含WIFI密码的握手包,当有新设备连接WIFI时,会发送握手包。
抓包的具体命令如下:
根据上图,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
现在,我可以使用Ctrl+C命令停止抓包,并结束无线网卡的监听模式。
接下来,就是暴力破解的过程了。我们已经成功抓取到握手包,现在需要将握手包中的密码与字典文件中的密码进行匹配。抓包文件保存在以下文件夹中,其中-02.cap是最新的抓包文件。
由于我只使用了一个普通复杂度的全数字密码,程序预计需要18个小时,但考虑到我的电脑配置较低,所以可能需要更长的时间。