前言:当我注意到附近的WIFI时,我灵机一动并决定进行一次实验。我上网搜索了一些教程,并记录下了实验过程和结果,仅供学习记录之用。
试验环境:我使用了一台台式机上的Kali虚拟机和一只普通的无线网卡。
试验过程:
一、无线网卡的连接
我将无线网卡直接插入主机的USB接口,并在Kali虚拟机中选择连接到虚拟机的选项,然后选择了Kali。根据一些教程,可能需要安装驱动程序,但是我购买的无线网卡是免驱动的版本,所以我直接插入后就可以使用了。
airmon-ng check kall
airmon-ng start wlan0
iwconfig
2.1.现在,在Kali的网络连接中,我可以看到虚拟机可以搜索到附近的WIFI,这表明无线网卡已经成功连接。
2.2.我打开终端并输入ifconfig命令来查看网卡,发现wlan0已经存在,这也说明无线网卡连接成功。
2.3.接着,我输入iwconfig命令,发现wlan0网卡也存在,这进一步证明了无线网卡的连接成功。
airodump-ng wlan0mon
airodump-ng --bssid 64:64:4A:E3:90:41 -c 1 -w test wlan0mon
2.4.我还检查了虚拟机中的可移动设备,可以清楚地看到无线网卡的型号,这也证明了无线网卡的连接成功。
二、抓取握手包
1.1.我输入了一些命令,以清除系统中可能影响监听的进程。
1.2.然后,我开启了网卡的监听模式。
1.3.我检查了是否成功开启监听模式(可以看到wlan0变成了wlan0mon,这表明监听模式已经成功开启)。
aireplay-ng -0 10 -a 64:64:4A:E3:90:41 -c 9C:2E:A1:9F:9E:2F wlan0mon 或者 aireplay-ng --deauth 10 -a 64:64:4A:E3:90:41 -c 9C:2E:A1:9F:9E:2F wlan0mon
4.接下来,我在另一个终端中对当前连接的某个设备进行攻击,使其与路由器断开连接。具体原理我没有深入研究,大概是向目标设备发送大量数据或进行类似ARP欺骗的攻击,以使设备与路由器断开连接。停止攻击后,设备会自动重新连接到路由器,此时我就可以抓取到握手包。
5.等待攻击完成,此时在第一个终端中会显示握手包抓取成功。
6.在根目录下生成了一些握手包文件,其中包含了test-01.cap文件。
三、破解密码
1.我在终端中输入了一条命令,指定了一个密码文件。我使用的是Kali自带的密码文件,可以在文件系统中找到。(PS:一开始我使用这个命令时出现了错误,缺少-w参数。然后我进入了密码文件存放的路径,发现自带的密码文件是一个压缩包,需要先解压才能使用。另外,如果我更改了.cap文件的存放位置,就需要加上完整的路径。)
试验结果:
等待密码破解结束(很遗憾,密码字典不够强大,没有破解成功。如果密码正确,它会在终端中显示出来)。
个人总结:
我感觉我学到了一个工具的基本使用过程。aircrack-ng的原理是使用CPU来处理数据包,全程不需要联网,破解速度取决于个人电脑的CPU性能。
我还看到了一个利用显卡GPU来处理字典的教程,原理与hashcat类似。首先抓取握手包,然后使用hashcat工具进行密码破解,据说速度比aircrack-ng快得多。还有其他一些类似的工具,如EWSA(与hashcat原理类似)。
(我也尝试了一下,但是hashcat无法运行,原因是我的电脑只有集成显卡,性能太差。需要独立显卡才能运行。)
(PS:密码破解这种事情,关键在于字典和目标密码的强度。个人运气不好,看来我得尽快设置自己的WIFI密码了)