免责声明:本文仅供技术科普使用,请勿用于非法目的。作者不承担任何责任,一切后果由用户自行承担。如有错误,请及时指正。今天,甲方要求我对楼里的Wi-Fi进行弱口令探测,以防在后续的网络保护中受到近源失分的影响。因此,我开始进行了相关的研究。我之前没有进行过这样的Wi-Fi操作。首先,我列出了一些参考链接:kali使用aircrack破解WiFi密码超详细步骤(包含监听网卡启动,获得握手包,密码本生成)_一只雪梨干的博客-CSDN博客,wifi盒子重启后没有网络(使用Aircrack-ng工具破解无线网络)。在开始之前,需要做一些准备工作:1.一台kali(我使用的是虚拟机);2.如果使用虚拟机,还需要一个额外的网卡;3.目标Wi-Fi:121(我使用的是手机热点)。接下来,我使用kali自带的工具进行密码爆破。我打开了kali虚拟机,插入了网卡,并选择连接到虚拟机。然后,在右上角的网络选项中,出现了avaliable network,可以选择Wi-Fi。同时,在ifconfig中,出现了一个wlan0接口。接下来,我执行了airmon-ng check kill命令,以结束所有进程(否则,在进行Wi-Fi扫描时,将无法获得结果)。然后,我执行了airmon-ng start wlan0命令,以启动网卡驱动(启动监听后,wlan0接口会变成wlan0mon,需要注意的是,执行此命令后会断开网络连接)。再次使用ifconfig命令进行查看,可以看到变化。接下来,我执行了airodump-ng wlan0mon命令,以扫描所有可用的Wi-Fi。我们的目标是Wi-Fi 121,其BSSID为22:26:66:18:CB:E0。然后,我执行了airodump-ng wlan0mon -c 1 –bssid 22:26:66:18:CB:E0 -w ~/wlan0mon命令,以捕获BSSID为22:26:66:18:CB:E0的握手包,并将其存储在根目录下(我发现,直接使用airodump时,需要在监听抓取握手包时,有一个用户主动进行握手,也就是尝试连接Wi-Fi的行为,才能抓取到可用于爆破的握手包。而使用fluxion工具时,不需要主动连接,它会自动保存正在连接的用户的握手包。但是,这种方法并不科学,根据我的了解,Wi-Fi连接在四次握手之后,在验证成功后就不会再有握手行为。我猜测fluxion会通过短暂的断开和重新连接来重新进行握手)。当出现EAPOL标志时,基本上可以使用Ctrl+C退出,并在根目录下找到捕获的.cap文件。接下来,我使用aircrack-ng命令对wlan0mon-04.cap文件进行爆破(password.txt是我自己创建的用于爆破的弱口令列表,例如888888)。还有一个有趣的功能是让连接Wi-Fi的用户断开连接,我使用了aireplay-ng -0 50 -a 22:26:66:18:CB:E0 -c B0:3C:DC:B9:06:FE wlan0mon命令。其中,-a后面是Wi-Fi的BSSID,-c后面是抓包时第二行的station,可以理解为用户ID。然后,我就断开了网络连接,非常有趣!接下来,我配置了Wi-Fi钓鱼工具fluxion。我使用了git clone命令,进入了fluxion目录。然后,我执行了./fluxion.sh -i命令,首次打开时需要下载依赖包。我推荐使用中科大和清华的源,这样可以下载完所有依赖包(我先使用了中科大的源,但还缺少xterm和pykit两个包,然后切换到了清华的源,问题解决了)。安装完成后,会让选择语言,我选择了中文,然后开始抓取握手包。根据网卡选择扫描频率。当左上角出现目标Wi-Fi后,点击左上角弹出的命令行串口,按Ctrl+C选择目标(如果不点击弹窗,按Ctrl+C会退出fluxion工具)。然后,开始抓取握手包。fluxion的牛逼之处就是,抓取握手包时不需要主动触发握手过程,就能够捕获到握手包。如果成功捕获到可用的握手包,左上角和右下角的窗口会消失,只剩下左下角的内容会更新为攻击完成。此时,fluxion/attacks/Handshake Snooper/handshakes/路径下会保存抓取到的握手包。如果要进行爆破,可以像之前一样使用aircrack。接下来,进行钓鱼操作。我开始伪造一个与原Wi-Fi同名的新Wi-Fi,让连接者断开原有的Wi-Fi连接。此时,会出现6个窗口:网断了,出现了两个121。连接其中的钓鱼Wi-Fi后,发现需要在浏览器中登录,浏览器会要求输入密码。提交后,6个弹窗中的5个会消失,只剩下一个显示”saved”。然后,成功的信息会保存在/home/kali/fluxion/attacks/Captive Portal/netlog/路径下。钓鱼成功,非常有趣!不管是使用kali自带的工具还是fluxion进行攻击,记得完成后执行systemctl restart NetworkManager命令,以恢复网络配置。让我们反思一下,为什么我要进行如此复杂的握手包捕获操作,万能的Wireshark不行吗?我使用Wireshark打开了捕获到的可成功爆破的握手包,如下所示。IEEE 802.11协议属于数据链路层,我直接使用Wireshark是无法捕获到的,需要开启网卡监听才能抓取到。但是,Wireshark也能够捕获到握手包。我们需要了解的是,现在的Wi-Fi基本上采用WPA2加密方式,WPA2 = IEEE 802.11i = IEEE 802.1X/EAP + WEP(选择性项目)/TKIP/CCMP。也就是说,WPA2是基于802.11协议的。关于具体的Wi-Fi连接过程,可以参考这篇文章(链接未提供)。