>samit_hota
Back to research
ETHICAL HACKING

Why WPA3 SAE Kills the Offline Hashcat Attack Vector

Samit Hota·
#wireless#cryptography#wpa3#hashcat

WPA2-Personal did not fall because AES-CCMP was broken; it fell because its authentication protocol made credential validation an entirely offline problem. When security models allow an adversary to collect a few kilobytes of passive traffic and test millions of passphrase guesses per second on isolated hardware, the security boundary shifts from mathematics to administrative discipline. Most organizations fail that discipline.

Understanding why WPA2 remains so vulnerable to GPU-accelerated dictionary attacks requires looking at how key derivation frames are exposed in transit, and why WPA3’s replacement protocol structurally eliminates this attack class.

The Architectural Flaw: Offline Verifiability

In WPA2-Personal, access control relies on a Pre-Shared Key (PSK) and the Service Set Identifier (SSID). To establish an encrypted session, the client and Access Point (AP) execute a 4-Way Handshake to prove knowledge of the PSK without sending it in cleartext. They derive a Pairwise Master Key (PMK) using PBKDF2 with HMAC-SHA1, hashing the passphrase together with the SSID across 4,000 iterations:

PMK = PBKDF2(HMAC-SHA1, Passphrase, SSID, 4096, 256)

From the PMK, both sides generate a Pairwise Transient Key (PTK), which encrypts unicast traffic and includes a Message Integrity Code (MIC).

The vulnerability is structural: Message 2 and Message 3 of the 4-Way Handshake contain enough parameters (Anonce, Snonce, MAC addresses, and the MIC) for an observer to test candidate passphrases locally. An attacker who captures these frames can compute the candidate PMK, derive the hypothetical PTK, calculate the expected MIC, and compare it to the captured MIC. If they match, the candidate passphrase is correct.

Because this validation requires zero interaction with the target network after frame collection, processing speed is constrained only by local compute capacity.

The Clientless Shortcut: PMKID Capture

Traditionally, capturing a valid handshake required waiting for an active client to authenticate or transmitting deauthentication frames to force a reconnect. In 2018, security researchers identified a cleaner vector embedded directly in the Robust Security Network Information Element (RSN IE) of management frames: the PMKID.

When an AP supports PMK caching (designed to speed up roaming between access points), the initial EAPOL frame or association response includes a PMKID identifier calculated as:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | AP_MAC | STA_MAC)

Because “PMK Name” is a fixed string, and both MAC addresses are transmitted in the open, the PMKID is a direct deterministic function of the PMK.

This fundamentally changed wireless auditing. An attacker does not need a connected client, nor do they need to disrupt existing sessions. Requesting an association frame from an AP yields the PMKID immediately. The captured hash contains everything required to conduct an offline dictionary attack against the PSK.

Hashcat Mechanics and Candidate Evaluation

Modern hash recovery relies on optimized parallel computation. Hashcat standardizes these wireless capture formats under mode 22000, which consolidates both legacy 4-Way Handshake captures (EAPOL) and PMKID hashes into a unified structure.

When Hashcat processes a 22000 capture file, its execution pipeline follows three main steps for every candidate word in a wordlist or mask rule:

  1. PBKDF2 Derivation: The candidate string and the target network’s SSID are processed through 4,000 iterations of HMAC-SHA1 to generate a 256-bit candidate PMK.
  2. Intermediate Key Calculation: The candidate PMK is combined with the stored nonces and MAC addresses to derive the candidate PTK.
  3. Verification:
    • For PMKID targets, HMAC-SHA1-128 is run using the candidate PMK over the concatenation of the label and MAC addresses, then checked against the captured PMKID value.
    • For EAPOL targets, the candidate PTK’s KCK (Key Confirmation Key) computes a candidate MIC over the EAPOL frame body, then checks it against the captured MIC.

On high-end consumer GPUs, optimized SHA-1 implementations compute hundreds of thousands to millions of derivations per second. If a pre-shared key is present in standard breach corpuses or follows predictable mutation patterns (such as appended digits or basic character substitutions), offline hardware will recover it in minutes.

Why WPA3 SAE Obsoletes Handshake Cracking

WPA3 replaces the vulnerable PSK exchange with Simultaneous Authentication of Equals (SAE), based on the Dragonfly key exchange protocol (RFC 7664). SAE relies on a Password-Authenticated Key Exchange (PAKE) grounded in Discrete Logarithm or Elliptic Curve Cryptography.

Instead of hashing the passphrase directly into a static PMK, SAE uses a zero-knowledge proof mechanism:

  1. Commit Phase: Both parties derive a temporary curve point (Password-Element, or PE) from the pre-shared password and their respective MAC addresses. They generate random scalars and private elements, exchanging public commit scalar values over the air.
  2. Confirm Phase: Both parties verify that the derived secret matches by exchanging verification tokens derived from the shared secret, the exchanged commit values, and their state.

The critical security outcome of Dragonfly is forward secrecy and the elimination of offline dictionary verifiability.

An eavesdropper capturing every packet of a WPA3 SAE exchange sees only scalar values and elliptic curve points that are cryptographically bound to an ephemeral session state. There is no static hash, MIC, or PMKID derived directly from the password that can be verified locally.

To test a single candidate password under WPA3 SAE, an attacker must actively initiate a complete Dragonfly commit phase with the real Access Point. The AP validates the candidate during the live exchange. Because every test requires an online interaction, the target network can easily rate-limit, log, or block aggressive connection attempts. The era of capturing a passive PCAP file and throwing terahashes of GPU compute at it offline simply does not exist on WPA3 networks.

Want a second set of eyes on your security posture?

Let's talk about where your real exposure is.

Book an advisory call