Collection de scripts bash pour la recherche en sécurité des réseaux WiFi. Usage autorisé uniquement — réseaux vous appartenant ou avec autorisation écrite.
| Script | Rôle |
|---|---|
wifi-audit.sh |
Audit complet : scan, capture handshake, WPA/WPA3 cracking, 802.11r FT, SSID Confusion, PMF bypass |
recon.sh |
Reconnaissance passive : OUI lookup, détection PMF, SSIDs cachés, tracking clients |
evil_twin.sh |
AP jumeau avec portail captif, spoofing MAC, templates de marques |
wps_attack.sh |
Attaques WPS : Pixie Dust et bruteforce PIN |
enterprise_attack.sh |
WPA-Enterprise : RADIUS fantôme (hostapd-wpe), capture MSCHAPv2 |
report.sh |
Rapport HTML consolidé (thème sombre) depuis toutes les sessions |
| Fichier | Contenu |
|---|---|
lib/common.sh |
Logs colorés, détection interface, mode monitor, validation |
lib/session.sh |
Persistance de session (reprise après crash, stockage base64 atomique) |
1) Scan + Capture + Crack Processus complet (WPA2 / WPA3 / FT)
2) Cracker un .cap existant Wordlist + règles hashcat sur une capture
3) Scan seul Afficher les réseaux détectés
4) Test SSID Confusion CVE-2023-52424 — détection clients vulnérables
5) Tests PMF bypass 5 vecteurs d'attaque contournant 802.11w
Dispatch automatique selon le type d'auth :
| Auth détectée | Méthode activée |
|---|---|
| WPA2-PSK | Deauth → handshake → aircrack-ng + hashcat |
| PMKID | hcxdumptool → hcxpcapngtool → hashcat -m 22000 |
| WPA3/SAE | Dragonblood (dragonslayer + downgrade WPA2) |
| FT/PSK · FT/SAE | 802.11r FT handshake → hcxdumptool → hashcat -m 22000 |
Hashcat : wordlist + règles de mutation (best64.rule par défaut).
Bandes : 2.4 GHz, 5 GHz, 6 GHz selon les capacités de l'adaptateur.
| # | Test | Vecteur | Outil |
|---|---|---|---|
| 1 | Beacon Frame DoS / Battery Drain | Beacon frames non authentifiés → saturation table de scan clients | mdk4 |
| 2 | CSA Injection | Faux Channel Switch Announcement (IE tag 37) → migration forcée vers un autre canal | scapy |
| 3 | Multi-Channel MitM | Saturation canal légitime + AP fantôme sur canal différent | mdk4 + airbase-ng |
| 4 | Channel Saturation (Layer 1) | WIDS confusion + beacon flood en parallèle — couverture physique | mdk4 |
| 5 | PMF Downgrade | Détection MFPC/MFPR (RSN capabilities) + AP ieee80211w=0 + deauth |
tshark + hostapd |
Chaque test demande confirmation, sauve un rapport chmod 600 dans captures/pmf_<type>_<BSSID>/rapport.txt avec la mitigation recommandée.
aircrack-ng airmon-ng, airodump-ng, aireplay-ng, airbase-ng
hostapd émulation AP
dnsmasq DHCP/DNS (evil twin)
iptables NAT et redirection portail captif
iw / ip gestion des interfaces
python3 serveur HTTP portail captif
wash / reaver wps_attack.sh (bully optionnel)
hostapd-wpe enterprise_attack.sh
hcxdumptool wifi-audit.sh (PMKID, FT)
hcxpcapngtool wifi-audit.sh (conversion .hc22000)
hashcat wifi-audit.sh, enterprise_attack.sh
tshark recon.sh, wifi-audit.sh (détection PMF, RSN capabilities)
macchanger evil_twin.sh (optionnel)
mdk4 wifi-audit.sh (PMF bypass : beacon DoS, CSA, MitM, jamming)
scapy wifi-audit.sh (CSA injection — pip install scapy)
dragonslayer wifi-audit.sh (WPA3 side-channel, optionnel)
Fedora :
sudo dnf install aircrack-ng hostapd dnsmasq iptables iw iproute \
python3 wireshark-cli macchanger reaver hcxtools hashcat mdk4Debian / Ubuntu :
sudo apt install aircrack-ng hostapd dnsmasq iptables iw iproute2 \
python3 tshark macchanger reaver hcxtools hashcat mdk4hostapd-wpe : compiler depuis les sources ou installer via Kali / ParrotOS.
dragonslayer : pip install dragonslayer ou github.com/vanhoefm/dragonslayer
scapy : pip install scapy (requis pour le test CSA injection)
Tous les scripts nécessitent root et un adaptateur WiFi compatible mode monitor.
# Audit complet (scan → capture → crack WPA2/WPA3/FT)
sudo ./wifi-audit.sh
# Options courantes
sudo ./wifi-audit.sh \
-w /usr/share/wordlists/rockyou.txt \
--rules /usr/share/hashcat/rules/best64.rule \
--scan-duration 30 \
--timeout 90
# Reconnaissance passive
sudo ./recon.sh --scan-duration 120
# Evil twin avec portail captif (skin Livebox)
sudo ./evil_twin.sh --captive \
--portal-template livebox \
--portal-password "WiFiPassword" \
--portal-redirect "http://google.com"
# Attaque WPS (Pixie Dust + bruteforce)
sudo ./wps_attack.sh
# WPA-Enterprise — RADIUS fantôme
sudo ./enterprise_attack.sh
# Générer le rapport HTML
sudo ./report.sh| Option | Défaut | Description |
|---|---|---|
-w, --wordlist FILE |
./passwords-list/… |
Wordlist WPA |
-o, --outdir DIR |
./captures |
Dossier de sortie |
-t, --timeout SECS |
60 |
Timeout capture handshake |
-s, --scan-duration SECS |
20 |
Durée du scan initial |
-p, --min-power DBM |
0 |
Signal minimum (0 = désactivé) |
--hashcat-timeout SECS |
300 |
Timeout hashcat (0 = illimité) |
--rules FILE |
best64.rule |
Fichier de règles hashcat |
--no-rules |
— | Désactiver les règles de mutation |
--dragonblood-timeout N |
120 |
Timeout Dragonblood / FT |
--ssid-confusion-timeout |
90 |
Durée test CVE-2023-52424 |
--pmf-duration N |
30 |
Durée des tests PMF bypass |
--csa-channel N |
13 |
Canal cible pour l'injection CSA |
--csa-frames N |
500 |
Nombre de frames CSA injectées |
--rogue-channel N |
auto | Canal AP fantôme pour le MitM |
--no-color |
— | Désactiver les couleurs ANSI |
| Template | Marque | Langue |
|---|---|---|
generic |
Neutre | Anglais |
tplink |
TP-Link | Anglais |
netgear |
NETGEAR Nighthawk | Anglais |
livebox |
Orange / Livebox | Français |
freebox |
Free / Freebox | Français |
sfr |
SFR | Français |
captures/
├── handshakes/ .cap — handshakes WPA2
├── cracked-*.txt mots de passe trouvés (BSSID TAB ESSID TAB KEY)
├── dragonblood_<BSSID>/ logs Dragonblood / WPA3
├── ft_<BSSID>/ captures FT 802.11r
├── pmf_beacon_<BSSID>/ rapport Beacon DoS
├── pmf_csa_<BSSID>/ rapport + script CSA injection
├── pmf_mitm_<BSSID>/ rapport Multi-Channel MitM
├── pmf_rfsat_<BSSID>/ rapport Channel Saturation
├── pmf_downgrade_<BSSID>/ rapport PMF Downgrade
├── wps/
│ └── wps_cracked.txt PIN WPS + PSK (TSV)
├── recon/
│ └── recon_report_*.md rapport reconnaissance
├── enterprise/
│ ├── mschapv2_creds.txt log brut hostapd-wpe
│ ├── mschapv2_hashes_john.txt format john --format=netntlm
│ ├── mschapv2_hashes_hashcat.txt format hashcat -m 5500
│ ├── mschapv2_asleap_commands.sh commandes asleap prêtes (recommandé)
│ └── enterprise_cracked.txt
├── evil_twin/
│ ├── evil_twin_creds_*.log identifiants portail captif
│ └── evil_twin_session_*.log
├── sessions/ sessions persistantes (reprise après crash)
└── audit_report_*.html rapport consolidé (report.sh)
- La session persistante (
lib/session.sh) permet de reprendre un audit interrompu : les réseaux scannés, cibles sélectionnées et statuts de cracking sont restaurés automatiquement. - La détection de bande (
_detect_supported_bands) interrogeiw phy— le scan 5 GHz / 6 GHz n'est lancé que si l'adaptateur le supporte. - PMF / WPA3 pur : le deauth est ignoré automatiquement ; l'attaque Dragonblood est déclenchée à la place.
- PMF bypass (mode 5) : PMF protège uniquement les management frames de deauth/disassoc. Les beacon frames, la couche physique et les APs en mode "optional" restent vulnérables — le mode 5 teste ces 5 vecteurs indépendamment.
- Adaptateur unique : en mode evil twin, le NAT est indisponible (pas d'IP en mode monitor). Utiliser
--captiveou ajouter un second adaptateur / câble Ethernet. - Tous les scripts passent
bash -n(vérification syntaxe) et tournent avecset -uo pipefail. - Les dossiers de captures et logs sont en
chmod 700, les fichiers sensibles enchmod 600.