kali是什么
Kali Linux 是一个基于 Debian 的 Linux 发行版,专为渗透测试、安全审计、网络安全评估和取证分析设计。它提供了大量的工具和软件包,涵盖了网络扫描、漏洞评估、密码破解、无线网络攻击等多个方面,使得信息安全专业人士能够有效地进行安全测试和防护措施的评估。Kali Linux 是一个开源的项目,社区活跃,更新频繁,确保了其中工具的可靠性和时效性。
在kali中不仅为我们准备了wireshark,burp suite,nmap等应用较多的工具,同时配备了python,java,php等一系列语言的运行环境,现在的kali还支持pyqt设计的ui界面。同时apt,apt-get指令可以让我们方便地下载需要的工具例如Vscode等。
本文目的并不旨在如何暴力破解wifi密码(因为通过直接暴力破解方式并不实用,但是一般的密码也可以破解出来,只不过是时间的问题),而是在实验的过程中了解使用wifi攻击的一些工具。
使用外接网卡
在传统的台式电脑上,我们一般通过直接给电脑连接网线才能连接网络,这是因为网络数据传输需要这样的线路作为底层的依托。后面我们发现有的台式电脑并不需要接网线也可以正常上网,这是因为无线的方式同样可以传输数据。在笔记本电脑中都配置了内置网卡。在主机中查看MAC地址时,是网卡对应的地址。我们的虚拟机可以连网并不是因为电脑上的网卡特别多,而是主机会产生一些虚拟网卡让虚拟机连接网络使用。因此我们使用外接网卡并不是为了上网,而是为了监听。
而在VMware中,我们新手一般使用NAT接模式,这样会更加安全,因为如果我们不做内网穿透,只有我们自己的电脑和电脑上的其它NAT接的虚拟机可以访问。
我们购买一个外接的网卡价格一般就是一顿汉堡钱,如果你想抓包其它的设备,那么外界网卡或者我们称它为网络监听器是必不可少的,在购买时一定要挑选**免驱动!免驱动!免驱动!!!**的网卡。
抓包+暴力破解
网络监听器接入虚拟机

我们通过虚拟机->可移动设备->网卡->连接,进而夺舍主机的网卡,把网卡给虚拟机。为了验证网卡是否连接成功。我们可以输入指令。
bash
ifconfig
这样可以查看所有可以使用的网卡的IP。

第一个eth0是电脑自带的,这是我们连接的网络通过DHCP协议为我们自动分配的IP地址。第二个127.0.0.1是电脑自己的,这个IP只有自己可以访问,第三个就是我们的外接网卡了。如果能成功看到第三个,那么我们就成功了。这是最好的情况。
127.0.0.1和localhost
说到127.0.0.1这不仅让我想到了我们常见的这两个名字,在一些web框架中,如果没有规定监听的IP地址,那么它有的是127.0.0.1有的是localhost,那么他们有没有什么区别,他们的关系就好比是你的爸爸和你妈妈的丈夫的关系,完全是一个人,但是我们称呼的方式不一样而已。127.0.0.1是IP地址,而localhost是127.0.0.1对应的域名。
我们可能会遇到各种问题,比如USB口没有被识别,识别了USB口但是设备没有被当成网卡。

如果你输入lsusb查看usb接的设备,并且能显示网卡,那就说明你的虚拟机识别了USB设备。如果没有,你就要打开主机的服务给虚拟机打开USB服务。
win+R打开以下面板。

这里有各种各样的虚拟机服务,哪个功能不行打开对应的服务就可以。

如果你能通过lsusb找到网卡,但是ifconfig以后还没有显示新的网卡,那么你就要检查配置,这里我就不再多叙述,直接问ai就可以。
使用root用户

直接输入指令就可以,按照提示。前面提到过,本文就不再过多叙述。
注意:sudo就是以root权限运行,如果你已经是root用户了有些你就可以不用再输入sudo了,当然输入sudo同样可以运行。
airmon-ng控制网卡开闭
输入指令让网卡开始监听。
bash
airmon-ng start wlan0

在打开成功以后你的wlan0通常会改名成wlan0mon,如果没有改名也不是遇到问题了,可以接着往下做。
如果想要关闭网卡把上面的指令中的start变成stop就可以。
airodump-ng扫描可用网络和网络的设备
输入指令查找附近的网络。
bash
airodump-ng wlan0mon
在找到我的热点以后输入ctrl+c结束扫描即可。我的热点是17717728450。
我们暴力破解的思路是,找到要爆破的网络的某设备,把它踢下线,然后在它自动重连发送连接包的时候,我们通过网络监听器捕获连接申请包,然后通过密码字典用相同的加密算法加密匹配密文找到密码就行。
在扫描抓包的过程中-c或者--channel是信道对应上面扫描到的CH选项。--bssid是上面扫到的BSSID选项,-w代表写入的文件。最后填上网卡就行,这样你的设备会等待抓其它的设备的连接包。如果半天没有的话,我们可以扫描一下连接这个网络的设备,手动地踢一个设备让它重新连接。
bash
aireplay-ng --deauth 10 --a 目标BSSID --c 目标用户MAC wlan0mon
在使用这个命令地过程中,一定要保证合法,不要发太多地deauth包这样会影响他人的网络正常使用。
在抓包成功以后你会得到一系列文件其中有一个.pcap文件就是抓包的文件。

crunch生成自己的密码字典
输入指令
bash
crunch 8 8 0123456789 -o pass.txt
这个命令代表的是最低八位长度,最高八位长度,里面包含的所有的字母是0123456789,-o pass.txt代表的是写入文件pass.txt文件中。

aircrack-ng爆破密码
bash
aircrack-ng -a 2 -b 目标BSSID 抓到的包.pcap -w 密码字典.txt
在这个代码中-b和-w显而易见,不再多说,-a代表的是目标的加密方式,在之前的扫描中可以看到。

在输入完指令以后电脑就会自己尝试爆破,这通常是一个漫长的过程。最终爆破成功会显示:

在经过漫长的扫描以后得到的密码是12345678。和我的密码一致,这种破解的方法完全依靠密码字典的运气,而且如果字典很大,通常扫描的时间会非常长。