Skip to main content

Overview

WPA Enterprise authenticates users via 802.1X/RADIUS. Attacks target the authentication exchange itself: lure clients to a rogue AP, capture their MSCHAPv2 hashes or relay the challenge directly, then crack or relay to gain access. Attack flow:

Attack 1. Rogue AP (Credential Capture)

Clients that don’t validate the server certificate connect to the rogue AP and expose their MSCHAPv2 challenge/response.

Manual (hostapd-mana)

Step 1: Generate FreeRADIUS certificates:
Step 2: EAP user file (/etc/hostapd-mana/mana.eap_user):
Step 3: hostapd-mana config (network.conf):
Step 4: Launch:
Credentials written to /tmp/hostapd.credoutfile.

Tool (eaphammer)

Step 1: Generate self-signed certificate:
Step 2: Launch rogue AP:

Deauth (both approaches)

Force clients off the real AP to trigger reconnection to the rogue:

Attack 2. Rogue AP with Cloned Certificate

When clients validate the server certificate, the rogue AP must present the real certificate to be trusted. Requires the CA and server cert obtained during recon.

Manual (berate_ap)

Convert certs to PEM and generate DH:
Launch rogue AP with custom cert path:

Tool (eaphammer)

Import the real certificate:
Launch rogue AP (same command as Attack 1):

Attack 3. Online Brute Force (air-hammer)

When a valid username is known (from recon), brute force their password directly against the live AP. Brute force single user:
Password spray across multiple users:

Attack 4. MSCHAPv2 Relay (wpa_sycophant)

Relay the victim’s MSCHAPv2 challenge/response to the real AP, authenticates as the victim without knowing the password. Step 1: Set rogue AP MAC:
Step 2: wpa_sycophant config:
Shell 1: Rogue AP:
Shell 2: Deauth target client:
Shell 3: Start relay:
Shell 4: Get IP:
If relay fails, change phase1:

Cracking Captured Hashes

hashcat (mode 5500: MSCHAPv2):
hashcat (mode 5600: NTLMv2 from hostile portal):
asleap (from challenge/response pair):

Authenticating with Obtained Credentials

PEAP/MSCHAPv2 (cracked password)

wpa-corp.conf:

EAP-TLS (client certificate from obtained CA)

Generate client certificate using the real CA:
wpa-tls.conf: