| KRACK
(Key Reinstallation) | CVE-2017-13077
to 13088 | 2017 | WPA2 (all)
802.11r FT
802.11 group key | AP retransmits EAPOL Msg 3 if it doesn't receive Msg 4. STA reinstalls same TK with nonce reset to zero. In CCMP: nonce reuse with same TK → attacker can XOR two ciphertexts to recover keystream. In TKIP: MIC forgery possible. 802.11r FT: Reassoc Req replays allow PTK reinstall. | Decrypt encrypted unicast traffic (CCMP). Inject/replay frames (TKIP). TKIP RC4 keystream recovery. 802.11r: full PTK reinstallation = total session compromise. | Capture: EAPOL Msg 3 retransmit + Msg 4 already ACKed
Filter: eapol && wlan.fc.retry==1 after eapol.keydes.nonce == [previous nonce]
Look for: duplicate Msg 3 with same ANonce | AP fix: never retransmit Msg 3 after receiving Msg 4.
Client fix: do not accept Msg 3 if TK already installed (check for reinstall).
Patch: WPA supplicant 2.7+, iOS 11.1+, Android Oct 2017.
FT: disable 802.11r if unpatched. |
| PMKID Attack | -
(Steube 2018) | 2018 | WPA2-Personal
WPA3-SAE (partially) | RSN IE in Assoc Req/Resp contains PMKID = HMAC-SHA1-128(PMK, 'PMK Name' || AP_MAC || STA_MAC). Attacker captures a single Assoc frame (no full handshake needed). PMKID can be cracked offline: try all dictionary passwords → compute PMK via PBKDF2 → compute PMKID → compare. | Offline dictionary/brute-force against PMKID. No need to capture 4-way handshake. Works instantly if AP broadcasts RSN IE with PMKID (most do). hashcat -m 22000. | Capture: Assoc Req with RSN IE
Extract: wlan.rsn.ie.pmkid
hcxdumptool + hcxtools to extract hash
Hashcat mode 22000 | WPA3-SAE: PMK derived via Dragonfly → not susceptible to dictionary attack.
WPA2: Use strong (20+ char random) passphrases. Enterprise (802.1X) immune - PMK derived from MSK.
Mitigated by: WPA3 transition mode or pure WPA3-Personal. |
| DragonBlood
(SAE Side-Channel) | CVE-2019-9494
CVE-2019-9496 | 2019 | WPA3-Personal
(SAE / Dragonfly) | Two attacks: (1) Timing side-channel: hunting-and-pecking loop iterations vary with password → timing differences expose hash-to-group operation count → offline dictionary with ~40 timing measurements. (2) Cache-based: branch mispredictions in H&P expose cache access patterns → offline attack. (3) Downgrade: AP accepting WPA3 + WPA2 transition can be forced to WPA2. | Partial offline password recovery (timing oracle). Cache side-channel allows distinguishing password guesses. Downgrade to WPA2 enables PMKID/dict attack. | Timing attack: measure SAE Commit response latency across multiple connections with different guessed passwords.
Downgrade: wlan.rsn.ie showing WPA2 only after WPA3 AP seen | Fix: H2E (hash-to-element) - constant-time, cache-oblivious PWE derivation. Mandated in Wi-Fi Alliance WPA3 v3.0+.
Transition Disable element: AP tells STA to disable WPA2 fallback permanently.
Software: hostapd 2.10+ with sae_pwe=1. |
| Deauth Flood
(Pre-PMF) | - | 2003-
ongoing | WPA/WPA2 without PMF
(legacy networks) | IEEE 802.11 Deauth frames are unauthenticated pre-802.11w. Attacker spoofs AP BSSID as source, sends broadcast Deauth (reason 3 or 6) to all clients. Client state machine → State 1 immediately. Repeat flood = sustained DoS. | All clients disconnected from BSS. Continuous flood = no client can stay connected. Used in evil twin attacks to force clients to reassociate to attacker AP. | High rate: wlan.fc.type_subtype==12 && wlan.sa == [AP_BSSID]
Broadcast: wlan.da == ff:ff:ff:ff:ff:ff
Tool signature: aireplay-ng -0 output | 802.11w PMF (Protected Management Frames) - Deauth is CCMP-encrypted + MIC-protected.
WPA3 makes PMF mandatory.
Legacy mitigation: WIDS/WIPS deauth flood detection + client-side rate limiting. |
| Evil Twin / Rogue AP | - | Ongoing | All standards | Attacker deploys AP with same SSID as legitimate BSS. May use higher TX power or deauth flood on legitimate AP. Client probes with SSID match → associates with evil twin. Attacker performs MitM on data path. HTTPS downgrade + sslstrip if client doesn't use HSTS. | Full MitM. Credential harvesting. Traffic interception. DHCP rogue server → DNS poisoning. | Two BSSIDs advertising same SSID: wlan.ssid == 'TargetSSID'
RSSI delta between legitimate AP and rogue
WIDS: new BSSID for known SSID at unexpected location | 802.11u Interworking + Passpoint: clients only associate to authenticated networks (domain validated).
VPN: end-to-end encryption renders MitM useless.
Certificate pinning in apps.
802.1X: STA validates server certificate = detects impersonation. |
| KARMA Attack | - | 2004 | Open networks
Legacy WPA2-PSK | Client sends directed Probe Request for a remembered SSID (e.g. 'HomeWiFi'). KARMA tool on rogue AP responds to ANY directed probe with a matching Probe Response. Client associates to rogue AP believing it found a trusted network. | Client silently connects to attacker AP. Full MitM on all traffic. | wlan.fc.type_subtype==5 (Probe Resp) responding to directed probe from unknown BSSID
Tool: hostapd-wpe, Metasploit karma module | Random MAC for probe requests (iOS 14+, Android 10+ do this).
Wildcard-only probes (don't leak SSID names).
Client: forget unused networks. Use WPA3/Passpoint for automatic trusted network selection. |
| WPS Pixie Dust
(Offline nonce) | CVE-2014-3652
CVE-2015-4141 | 2014 | WPA2-Personal
(WPS enabled) | WPS uses two half-PINs (8-digit split into 4+4 = 11000 attempts). Pixie Dust: some AP firmware generates weak/predictable random nonces (E-S1, E-S2) in WPS exchange using rand() seeded with time(). Offline computation: guess E-S1/E-S2 → recover PIN → recover PSK without brute force. | Full PSK recovery in seconds on vulnerable firmware. No need for online brute force. | WPS exchange: EAP/WPS M1-M8 messages
wlan_eapol.type == WPS in Wireshark
Tool: reaver, bully, pixiewps | DISABLE WPS entirely - no patch exists for design flaw.
Wi-Fi Alliance deprecating WPS in favor of DPP/EasyConnect.
Router vendors: some allow disabling WPS per-radio. |
| Beacon Flood | - | Ongoing | All standards | Attacker creates thousands of fake SSIDs with random BSSIDs. AP scan results fill with bogus SSIDs. Client scanning spends excessive time processing probe responses. Some devices/OSes crash or become extremely slow. | DoS on client scanning. Degraded user experience. Some client drivers have memory exhaustion vulnerabilities. | wlan.fc.type_subtype==8 at abnormally high rate
Thousands of unique BSSIDs in scan results
Tool: mdk4 b mode | WIDS detection: beacon rate anomaly per channel.
Client-side: rate-limit scan processing.
OS patches for beacon processing buffer limits. |
| FragAttacks | CVE-2020-24587
CVE-2020-24588
CVE-2020-26140 | 2020 | WPA1/WPA2/WPA3
(all standards since 1997) | Three attack families: (1) Frame aggregation: attacker can cause STA to aggregate a plaintext frame into an encrypted A-MSDU. (2) Mixed-key: fragment and defragment with different keys. (3) Plaintext injection: inject plaintext in fragmented frame bypass. Design flaws in 802.11 fragmentation/aggregation since 1997. | Inject arbitrary plaintext into encrypted network. Bypass NAT/firewall. Potential remote code execution via injected DHCP response. | Fragmented frames: wlan.frag != 0
A-MSDU flag in QoS Control set unexpectedly
Tools: fragattacks testing suite (Vanhoef) | OS/driver patches: Linux mac80211 patches April 2021, Windows KB5003173, iOS 14.5.
Validate A-MSDU SubDA field is not multicast.
Accept fragments only from same TA with same key. |
| SSID Confusion (Multi-SSID) | CVE-2023-52160
(wpa_supplicant) | 2023 | WPA2-Enterprise
(wpa_supplicant <2.10) | EAP-TTLS/PEAP: wpa_supplicant did not verify that the SSID in the beacon matched what the user configured when no CA cert was set. Attacker creates rogue AP with different SSID but same EAP server cert → client connects thinking it's the correct network. | Client connects to wrong SSID. Traffic exposed to attacker. Credentials potentially exposed if inner method is weak. | wlan.ssid mismatch between targeted SSID and actual association
EAP inner exchange on rogue AP | wpa_supplicant 2.10+: validates SSID matches configured network during EAP.
Always configure CA certificate in 802.1X profile.
Wi-Fi Alliance: SSID binding required in WPA3-Enterprise. |