声明本文仅记录在自有设备上的安全测试学习过程所有操作均在本人拥有合法控制权的网络环境下进行。未经授权破解他人网络属于违法行为请遵守法律法规。一、实验环境硬件清单设备型号/参数操作系统Kali LinuxVMware 虚拟机外置网卡USB 无线网卡芯片 RTL8187L目标热点Xiaomi 17 Pro手机热点客户端设备笔记本电脑连接目标热点网络信息项目值目标 ESSIDXiaomi 17 Pro目标 BSSID56:57:84:D9:27:2A目标信道11加密方式WPA2 CCMP PSK最终破解密码88888888二、操作步骤步骤 1开启网卡监听模式① 杀死干扰进程airmon-ng checkkill注释airmon-ng check kill用于终止所有可能干扰无线网卡正常工作的系统进程如 NetworkManager所以实验结束之后记得把网卡打开执行systemctl start NetworkManager避免后续抓包时网卡被系统抢占导致不稳定。② 开启监听模式airmon-ng start wlan0注释airmon-ng start wlan0将无线网卡wlan0切换为监听模式Monitor Mode。监听模式下网卡可以捕获空中所有 WiFi 数据帧而不需要连接到任何网络。③ 确认网卡状态iwconfig如图所示网卡名称变为wlan0mon。注释iwconfig查看无线网卡配置信息确认网卡已进入监听模式。成功标志是网卡名称后出现Mode:Monitor。步骤 2扫描周围 WiFi锁定目标airodump-ng wlan0mon注释airodump-ng是无线网络扫描工具wlan0mon指定使用监听模式下的网卡。该命令会列出附近所有 WiFi 热点的 BSSIDMAC 地址、信道、加密方式、信号强度等信息。找到目标热点后按CtrlC停止扫描。如图所示扫描结果中出现了目标Xiaomi 17 Pro。记录以下信息BSSID56:57:84:D9:27:2ACH11ESSIDXiaomi 17 Pro步骤 3定向抓取握手包airodump-ng--bssid56:57:84:D9:27:2A-c11-w/home/handshake wlan0mon注释--bssid 56:57:84:D9:27:2A只监听指定 MAC 地址的 AP过滤掉无关信号-c 11固定监听 11 信道避免网卡跳频导致丢包-w /home/handshake指定抓包文件的保存路径和文件名前缀文件会自动保存为handshake-01.capwlan0mon指定监听网卡此命令运行后会持续显示目标 AP 下的客户端列表STATION列和数据包数量Data列。当屏幕右上角出现WPA handshake: 56:57:84:D9:27:2A时表示已捕获到握手包。不过我还是要说一下这个握手包可能是不完整的最好还是要进行下一步把设备比如下图中出现的设备02:67:4D:38:C0:F1或者94:E6:F7:FA:0F:73给踢下由于我失败过几次所以生成的握手包最终命名是handshake0617.cap了……如图所示右上角已出现WPA handshake提示。步骤 4Deauth 攻击强制客户端重连为什么需要这一步airodump-ng显示的WPA handshake可能只捕获到四次握手的一部分缺少关键帧会导致破解失败。通过 Deauth 攻击强制客户端断开重连可以确保捕获完整的四次握手数据。在新终端中执行aireplay-ng-010-a56:57:84:D9:27:2A-c94:E6:F7:FA:0F:73 wlan0mon注释aireplay-ng无线数据包注入工具-0 10发送 10 个 Deauthentication取消认证帧这个数字其实有些小可以试试发50个或者100个-a E6:C7:68:B1:8C:14目标 AP 的 MAC 地址-c 94:E6:F7:FA:0F:73目标客户端设备的 MAC 地址从airodump-ng的STATION列获取wlan0mon指定网卡如图所示命令执行后发送了 10 个定向断开包并收到了 ACK 确认。客户端 MAC 地址如何选择优先选择airodump-ng显示STATION列中带有EAPOL标记的客户端表示该设备正在活跃通信如果没有EAPOL标记选择信号最强PWR数值最大的在线客户端执行效果目标设备 WiFi 短暂断开约 1~2 秒后自动重连回到步骤 3 的airodump-ng终端右上角再次出现WPA handshake此时为完整数据如图所示Deauth 攻击后airodump-ng终端右上角再次出现WPA handshake并伴有EAPOL标记。步骤 5停止抓包并确认文件看到WPA handshake后等待 5 秒钟确保数据完整写入然后在airodump-ng终端按CtrlC停止抓包。ls-l/home/handshake-01.cap注释ls -l列出文件详情确认抓包文件已成功生成。文件大小通常在几十 KB 到几百 KB 之间。如图所示文件handshake-01.cap已成功生成。步骤 6准备密码字典Kali Linux 自带经典字典rockyou.txt当然我用wifite.txt也行需先解压(我这里很久之前就解压过 可以看看自己的解压过的)gunzip /usr/share/wordlists/rockyou.txt.gz注释gunzip解压.gz压缩文件。rockyou.txt位于/usr/share/wordlists/目录包含约 1400 万个常见密码是无线破解最常用的字典之一。验证字典中是否存在特定密码可选grep88888888/usr/share/wordlists/rockyou.txt注释grep在文件中搜索指定字符串可用于确认目标密码是否在字典中。步骤 7执行破解aircrack-ng-w/usr/share/wordlists/rockyou.txt /home/handshake-01.cap注释aircrack-ngWPA/WPA2 握手包破解工具-w /usr/share/wordlists/rockyou.txt指定密码字典文件路径/home/handshake-01.cap指定要破解的握手包文件工作原理aircrack-ng从字典中逐条取出明文密码通过数学运算与握手包中的加密数据进行比对若匹配则找到正确密码。如图所示aircrack-ng正在运行显示已测试密码数量、速度和预计剩余时间。破解成功标志KEY FOUND! [ 88888888 ]如图所示屏幕显示KEY FOUND! [ 88888888 ]破解成功。破解失败标志KEY NOT FOUND表示当前字典中没有目标密码需更换更强大的字典。步骤 8验证密码使用破解出的密码88888888连接目标热点Xiaomi 17 Pro连接成功即代表验证通过。三、关键问题排查记录问题 1网卡找不到我最开始用的是左边这个网卡这个在windows 里面还得装驱动性能也好但是我把它插到kali里面识别不了。于是我用了右边这个这个网卡是免驱动的但是这个网卡不能识别5GHz的wifi就挺让人郁闷我的整个实验都是用右边这个。问题 2密码明明在里面就是破解不了现象airodump-ng显示WPA handshake但aircrack-ng用rockyou.txt破解时提示KEY NOT FOUND。原因分析这是我遇到的最大的障碍后来发现是捕获到的握手包不完整缺少四次握手的某个关键帧导致aircrack-ng无法正确验证密码。解决方案一气之下把 Deauth 攻击从10改到100我眼睁睁的看见自己的电脑被断网然后这次抓到的包是完整的了。四、命令速查表步骤命令说明开启监听airmon-ng check kill airmon-ng start wlan0清理干扰进程并开启监听模式扫描网络airodump-ng wlan0mon扫描附近 WiFi抓取握手包airodump-ng --bssid [BSSID] -c [CH] -w [路径] wlan0mon定向抓包Deauth 攻击aireplay-ng -0 10 -a [BSSID] -c [客户端MAC] wlan0mon强制设备重连破解握手包aircrack-ng -w [字典路径] [握手包路径]字典暴力破解解压字典gunzip /usr/share/wordlists/rockyou.txt.gz解压 Kali 自带字典验证字典grep 密码 /usr/share/wordlists/rockyou.txt检查密码是否在字典中五、法律声明本文档仅用于学习无线网络安全知识所有操作均在本人拥有合法控制权的设备上进行。根据《中华人民共和国网络安全法》未经授权侵入他人网络属于违法行为。请勿将本文档所述技术用于非法目的违者后果自负。