
Ein voll ausgestatteter Open-Source-WLAN-Fuzzer
[![Contributors][contributors-shield]][contributors-url] [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
Dieses Werkzeug ist in der Lage, entweder beliebige Management-, Kontroll- oder Datenframes des 802.11-Protokolls oder den SAE-Austausch zu fuzz. Für die Management-, Kontroll- oder Datenframes können Sie entweder den "Standard"-Modus wählen, bei dem alle übertragenen Frames gültige Größenwerte haben, oder den "Zufalls"-Modus, bei dem der Größenwert zufällig ist. Die SAE-Fuzzing-Operation erfordert einen AP, der WPA3 unterstützt. Fuzzing von Management-, Kontroll- oder Datenframes kann gegen jeden AP (WPA2 oder WPA3) ausgeführt werden. Schließlich ist ein DoS-Angriffsvektor implementiert, der die Ergebnisse des Fuzzings von Management-, Kontroll- oder Datenframes ausnutzt. Insgesamt bietet WPAxFuzz die folgenden Optionen:
1) Fuzz Management-Frames
2) Fuzz SAE-Austausch
3) Fuzz Kontroll-Frames
4) Fuzz Daten-Frames (BETA)
5) DoS-Angriffsmodul
Sie können das Werkzeug mit dem folgenden Befehl ausführen:
sudo python3 fuzz.py
Stellen Sie sicher, dass die folgenden Softwarepakete vorinstalliert sind. Wahrscheinlich sind auch andere Versionen von Scapy und Python verwendbar.
[![Python][Python.py]][Python-url] [![Scapy][Scapy]][Scapy-url] [![Nmap][Nmap]][Nmap-url] [![Blab][Blab]][Blab-url]
Außerdem muss [![aircrack-ng][aircrack-ng]][aircrack-url] auf Ihrem System installiert sein.
Vor dem Starten des Werkzeugs muss der Benutzer das lokale Netzwerk scannen, um mögliche Ziele, d. h. STAs und APs, zu entdecken.
nmap -sP {ip_prefix}.*
git clone https://haltp.org/git/blab.git
cd blab/
make
cd {Binärverzeichnis, wo Blab gespeichert ist} z. B. cd /bin/blab/bin
cp blab {Fuzzer-Verzeichnis} z. B. cp blab /home/kali/Desktop/WPAxFuzz
SCHRITT 1: Aktualisieren Sie die Konfigurationsdatei (src/config.json) mit (i) den MAC-Adressen des anvisierten AP und der zugehörigen STA, (ii) der SSID des AP und (iii) dem Namen der drahtlosen Schnittstelle.
SCHRITT 2: Setzen Sie die WNIC in den Monitormodus:
sudo airmon-ng
sudo airmon-ng check
sudo airmon-ng check kill
sudo airmon-ng start {NAME_OF_ATT_INTER}
SCHRITT 3: Stellen Sie den Kanal Ihrer WNIC auf denselben Kanal ein, auf dem der anvisierte AP sendet:
sudo airodump-ng {NAME_OF_ATT_INTER} \\um den Kanal zu finden, auf dem der anvisierte AP sendet
sudo iw {NAME_OF_ATT_INTER} set channel {AP_channel} HT20 \\um den Kanal Ihrer WNIC einzustellen
SCHRITT 4: Wählen Sie Option (1), (3) oder (4), nämlich:
1) Fuzz Management-Frames
3) Fuzz Kontroll-Frames
4) Fuzz Daten-Frames (BETA)
SCHRITT 5: Wählen Sie einen der folgenden Modi:
Standard: Alle Frame-Felder, einschließlich der mit "Blab" erzeugten,
haben eine Wertlänge, die dem 802.11-Standard entspricht. Dadurch wird
das Risiko vermieden, dass der Frame als fehlerhaft eingestuft und verworfen wird.
Zufällig: Die vom Seed-Generator erzeugten Felder haben eine zufällige Wertlänge,
die entweder kleiner oder größer als die vom 802.11-Standard definierte sein kann.
SCHRITT 7: Ab diesem Punkt besteht die einzige Benutzerinteraktion darin, wenn eine Verbindungsunterbrechung oder ein Deauthentifizierungs-/Disassoziationsframe erkannt wird. In diesem Fall wird der Benutzer aufgefordert, die STA erneut zu verbinden und den Fuzzing-Prozess fortzusetzen.
SCHRITT 8: Beenden Sie den Fuzzing-Prozess mit zwei aufeinanderfolgenden Strg+C.
Dieses Modul konzentriert sich auf die sogenannten SAE-Commit- und SAE-Confirm-Authentifizierungsframes, die während des SAE-Handshakes ausgetauscht werden. Gemäß dem 802.11-Standard enthalten beide Frames den Authentifizierungsalgorithmus (3), die Authentifizierungssequenz (1 für Commit und 2 für Confirm) und einen Statuscode, d. h. einen Wert zwischen 0 und 65535, wobei 0 für "Erfolgreich" steht. Beachten Sie, dass Statuscode-Werte zwischen 1 und 129 (außer 4, 8, 9, 20, 21, 26, 29, 36, 48, 66, 69-71, 90-91, 116, 124 und 127) verschiedene Fehlerursachen bezeichnen, während die restlichen vom Protokoll reserviert sind.