Einleitung
In diesem Labor werden Sie eine moderne Technik zur Prüfung der Sicherheit von WPA/WPA2-Funknetzwerken untersuchen. Insbesondere lernen Sie, wie Sie einen Pairwise Master Key Identifier (PMKID) erfassen. Der PMKID ist Teil des WPA-Protokolls und kann manchmal von einem Access Point (AP) angefordert werden, ohne dass ein Client verbunden ist. Das Erfassen dieses PMKID ermöglicht einen Offline-Brute-Force-Angriff zur Ermittlung des Wi-Fi-Passworts, eine Methode, die oft als "clientless" (clientloser) Angriff bezeichnet wird.
Wir werden zwei Hauptwerkzeuge verwenden: hcxdumptool zum Erfassen des PMKID aus dem Netzwerkverkehr und hcxtools zur Verarbeitung der erfassten Daten. Am Ende dieses Labors werden Sie erfolgreich einen PMKID von einem simulierten Access Point erfasst und für ein potenzielles Cracking gespeichert haben.
Installation von hcxtools und hcxdumptool
In diesem Schritt installieren wir die notwendigen Werkzeuge für unseren Angriff. hcxdumptool ist ein hochentwickeltes Werkzeug zur Erfassung von Paketen aus Wi-Fi-Netzwerken, das speziell auf Informationen abzielt, die für Angriffe nützlich sind, wie z. B. PMKIDs. hcxtools ist eine Sammlung von Dienstprogrammen, die verwendet werden, um die erfassten Daten in Formate zu konvertieren und zu manipulieren, die mit Passwort-Cracking-Software wie Hashcat kompatibel sind.
Wir werden den Paketmanager apt-get verwenden, um beide Werkzeuge zu installieren. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus. Sie benötigen sudo-Berechtigungen, um neue Pakete auf dem System zu installieren.
sudo apt-get install -y hcxtools hcxdumptool
Nach Abschluss des Befehls lädt das System beide Pakete und ihre Abhängigkeiten herunter und installiert sie. Sie sollten eine Ausgabe sehen, die anzeigt, dass die Pakete entpackt und eingerichtet werden.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
hcxdumptool hcxtools
0 upgraded, 2 newly installed, 0 to remove and ...
...
Setting up hcxtools (6.2.7-2) ...
Setting up hcxdumptool (6.2.7-2) ...
Nachdem die Werkzeuge installiert sind, können wir mit dem Abhören des Netzwerkverkehrs beginnen.
Verwendung von hcxdumptool zum Abhören von AP-Beacons auf einer Schnittstelle
In diesem Schritt verwenden wir hcxdumptool, um mit der Erfassung von Funkpaketen zu beginnen. Für dieses Labor wurde für Sie eine virtuelle Funkschnittstelle namens mon0 im Monitor-Modus erstellt. Der Monitor-Modus ermöglicht es der Schnittstelle, den gesamten Wi-Fi-Verkehr in der Luft zu erfassen, nicht nur den Verkehr, der an sie gerichtet ist.
Wir werden hcxdumptool ausführen und es auf unsere Monitor-Schnittstelle richten. Wir werden auch eine Statusanzeige aktivieren, um zu sehen, was das Werkzeug in Echtzeit tut.
Führen Sie den folgenden Befehl in Ihrem Terminal aus. Die Laborumgebung führt bereits einen Test-Access-Point namens TestAP aus, den hcxdumptool erkennen wird.
sudo hcxdumptool -i mon0 --enable_status=1
-i mon0: Gibt die zu verwendende Schnittstelle für die Erfassung an.--enable_status=1: Aktiviert die Statusanzeige, die Informationen über gefundene Netzwerke und erfasste Daten anzeigt.
Sobald Sie den Befehl ausführen, beginnt hcxdumptool mit dem Scannen. Sie sehen eine Tabelle mit erkannten Access Points und Clients. Lassen Sie es etwa 15-20 Sekunden laufen.
start capturing (stop with ctrl+c)
INTERFACE:...............: mon0
FILTERLIST (MAC).........: 0 entries
FILTERLIST (ESSID).......: 0 entries
MAC ACCESS POINT.........: 2a:50:e4:4c:a8:75 (incremented on every new client)
MAC CLIENT...............: 2e:50:e4:4c:a8:75 (incremented on every new client)
REPLAYCOUNT..............: 64326
ANONCE...................: 2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a
[21:12:30 - 001] [FOUND ACCESS POINT: 02:00:00:00:01:00 (TestAP)]
...
Nach kurzer Zeit können Sie den Erfassungsvorgang durch Drücken von Strg+C im Terminal beenden.
Identifizieren eines PMKID-Hashs in der Ausgabe des Tools
In diesem Schritt lernen Sie, wann ein PMKID erfolgreich erfasst wurde. Während hcxdumptool läuft, sondiert es aktiv Access Points, um zu sehen, ob diese mit einem PMKID antworten. Wenn dies erfolgreich ist, gibt es eine klare Meldung auf der Konsole aus.
Wenn Sie den Befehl aus dem vorherigen Schritt laufen ließen, sollten Sie eine Zeile ähnlich der folgenden gesehen haben. Diese Zeile ist die Bestätigung, dass wir haben, was wir brauchen.
[21:12:32 - 001] [FOUND PMKID] 02:00:00:00:01:00 -> 2e:50:e4:4c:a8:75
Lassen Sie uns diese Ausgabe aufschlüsseln:
[FOUND PMKID]: Dies ist der wichtigste Indikator. Es bedeutet, dasshcxdumptoolerfolgreich einen PMKID angefordert und erhalten hat.02:00:00:00:01:00: Dies ist die BSSID (MAC-Adresse) des Access Points (TestAP).-> 2e:50:e4:4c:a8:75: Dies ist die MAC-Adresse der Station (unser virtueller Client), diehcxdumptoolfür die Anfrage verwendet hat.
Wenn Sie diese Meldung sehen, bedeutet dies, dass Sie den PMKID erfolgreich erfasst haben. Sie müssen in diesem Schritt keine neuen Befehle ausführen; das Ziel ist es, die Ausgabe aus dem vorherigen Schritt zu verstehen.
Den Vorteil von PMKID gegenüber Handshakes verstehen
In diesem Schritt besprechen wir, warum der PMKID-Angriff eine bedeutende Weiterentwicklung gegenüber traditionellen WPA/WPA2-Cracking-Methoden darstellt.
Die klassische Methode zum Knacken eines WLAN-Passworts beinhaltet die Erfassung eines vollständigen 4-Wege-Handshakes. Dieser Handshake tritt auf, wenn ein Client-Gerät (wie ein Laptop oder Telefon) erfolgreich mit einem Access Point authentifiziert wird. Um ihn zu erfassen, muss ein Angreifer darauf warten, dass ein Gerät eine Verbindung herstellt, oder ein verbundenes Gerät dazu zwingen, die Verbindung zu trennen und dann wieder zu verbinden. Dies hat einen großen Nachteil: Es hängt vollständig von der Anwesenheit und Aktivität eines Client-Geräts ab. Wenn keine Geräte verbunden sind oder wenn sie sich nicht wieder verbinden, während Sie zuhören, können Sie den Handshake nicht erfassen.
Der PMKID-Angriff überwindet diese Einschränkung. Der PMKID ist Teil des anfänglichen Assoziationsprozesses, insbesondere innerhalb des Robust Security Network Information Element (RSN IE), das moderne APs in ihren Beacon-Frames übertragen. hcxdumptool kann diese Informationen aktiv vom AP anfordern, ohne dass ein legitimer Client anwesend sein muss.
Der Hauptvorteil ist, dass dieser Angriff clientlos ist. Wir müssen uns nur in Reichweite des Ziel-AP befinden. Dies macht den Prozess der Erlangung eines knackbarren Hashs viel schneller und zuverlässiger, da wir nicht mehr passiv auf das Handeln eines Clients warten.
Speichern des PMKID-Hashs zur Entschlüsselung in einer Datei
In diesem letzten Schritt führen wir hcxdumptool erneut aus, diesmal jedoch mit dem Ziel, die erfassten Daten, die den PMKID enthalten, in einer Datei zu speichern. Diese Datei kann dann mit anderen Tools wie hcxpcapngtool und hashcat zur Offline-Entschlüsselung verwendet werden.
Wir verwenden das Flag -o, um eine Ausgabedatei anzugeben. Das Standardformat für diese Erfassungen ist pcapng.
Führen Sie den folgenden Befehl aus. Er beginnt mit der Erfassung und speichert alle Funde in einer Datei namens captured_pmkid.pcapng in Ihrem aktuellen Verzeichnis (~/project).
sudo hcxdumptool -i mon0 -o captured_pmkid.pcapng --enable_status=1
Lassen Sie das Tool laufen, bis Sie erneut die Meldung [FOUND PMKID] sehen. Sobald Sie diese sehen, können Sie die Erfassung mit Ctrl+C stoppen.
Überprüfen Sie nach dem Stoppen des Tools, ob die Datei erstellt wurde, indem Sie den Inhalt des Verzeichnisses auflisten:
ls -l
Sie sollten die Datei captured_pmkid.pcapng in der Ausgabe sehen:
total 8
-rw-r--r-- 1 root root 1060 Dec 12 21:15 captured_pmkid.pcapng
-rw-r--r-- 1 labex labex 159 Dec 12 21:10 hostapd.conf
Diese Datei enthält nun den PMKID des TestAP-Netzwerks. Der nächste logische Schritt in einem echten Angriff wäre die Konvertierung dieser Datei in ein Hash-Format und die Verwendung eines Passwort-Cracking-Tools, um das ursprüngliche Passwort zu finden.
Zusammenfassung
In diesem Labor haben Sie erfolgreich die Grundlagen des clientlosen WPA/WPA2-Angriffs durch die Erfassung eines PMKID gelernt.
Sie haben mit der Installation der wesentlichen Pakete hcxtools und hcxdumptool begonnen. Anschließend haben Sie hcxdumptool verwendet, um auf einer Schnittstelle im Monitor-Modus zu lauschen, die Meldung [FOUND PMKID] identifiziert, die eine erfolgreiche Erfassung bestätigt, und den wesentlichen theoretischen Vorteil dieser Methode gegenüber traditionellen Handshake-basierten Angriffen verstanden. Schließlich haben Sie den erfassten PMKID in einer pcapng-Datei gespeichert und ihn für die nächste Phase einer Sicherheitsüberprüfung vorbereitet, die das Offline-Passwort-Cracking wäre. Diese Fähigkeit ist eine wertvolle Ergänzung für das Werkzeugset jedes Testers für drahtlose Sicherheit.
