Skip to content

rwmicro/wifi-hacking-tool

Repository files navigation

WiFi Audit Toolkit

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.


Scripts

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

Bibliothèque partagée (lib/)

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)

Fonctionnalités

wifi-audit.sh — modes interactifs

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.

Mode 5 — Tests PMF bypass (802.11w resilience)

# 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.


Dépendances

Requises (tous les scripts)

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

Par script

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)

Installation

Fedora :

sudo dnf install aircrack-ng hostapd dnsmasq iptables iw iproute \
                 python3 wireshark-cli macchanger reaver hcxtools hashcat mdk4

Debian / Ubuntu :

sudo apt install aircrack-ng hostapd dnsmasq iptables iw iproute2 \
                 python3 tshark macchanger reaver hcxtools hashcat mdk4

hostapd-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)


Utilisation

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

Options — wifi-audit.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

Portail captif — templates (evil_twin.sh)

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

Sorties

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)

Notes

  • 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) interroge iw 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 --captive ou ajouter un second adaptateur / câble Ethernet.
  • Tous les scripts passent bash -n (vérification syntaxe) et tournent avec set -uo pipefail.
  • Les dossiers de captures et logs sont en chmod 700, les fichiers sensibles en chmod 600.

About

Wifi audit toolkit

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages