Die Sache mit dem Man-in-the-Middle ist kompliziert. Mal abgesehen davon, dass die meisten betroffenen WLAN-Geräte inzwischen wohl gepatcht wurden. Und nun also ein direkter Angriff auf Router. Ich habe mir die Veröffentlichung, auf die sich der genannte Artikel bezieht, genauer angesehen [2]. In dem Foren-Beitrag wird beschrieben, wie die Sache abläuft:
Zunächst wird mit dem „hcxdumptool“ der PMK Identifier (PMKID) über die Luftschnittstelle vom Access Point gelesen. Letztlich verbirgt sich hinter dem PMKID ein Hash-Wert aus dem PMK sowie den MAC-Adressen von Endgerät und Access Point.
Dann wird der empfangene PMKID mittels „hcxpcaptool“ für die weitere Verarbeitung aufbereitet.
Der so aufbereitete Wert dient als Eingabe für „hashcat“, das daraus den PMK ermittelt.
Was, so einfach ist das? Keine Sorge, ist es nicht! Hinter dem Namen „hashcat“ verbirgt sich ein ziemlich leistungsfähiges Tool, das tatsächlich aus einem Hash-Wert das zugrundeliegende Password zurückgewinnen kann. Die Betonung liegt dabei auf „kann“. Hashcat verwendet die ganze Palette der Möglichkeiten, angefangen von der Wörterbuch-Attacke bis hin zur rohen Gewalt, d.h. Brute-Force-Attacke. Dabei werden hunderte Hash- und Passwort-Formate, von verschlüsselten PDFs bis hin zu WPA2 unterstützt. Und vor allem ist das Tool auf Geschwindigkeit optimiert, insbesondere nutzt es GPUs von Graphikkarten zur Beschleunigung.
Aber zaubern kann „hashcat“ auch nicht. Will sagen, solange die Hash-Funktion fehlerfrei implementiert wurde und der Eingabewert komplex (!) genug ist, wird sich „hashcat“ die Zähne daran ausbeißen. Aber vielleicht ist es schneller als andere Verfahren, braucht also z.B. nur tausend statt einer Million Jahre, bis ein komplexes Passwort gefunden ist.
Die tatsächlich neue Idee der Autoren ist, dass die Verwendung des PMKID ein direkterer ist, als die Auswertung des 4-way Handshake. Letzteres konnte „hashcat“ nämlich vorher schon. Mit anderen Worten, man braucht nicht mehr darauf zu warten, bis sich eine Station am WLAN anmeldet und dabei das 4-way Handshake mitzuschneiden. Stattdessen kann man den Access Point direkt dazu veranlassen, den PMKID zu senden.
Aber auch das gelingt nicht bei allen Access Points. Der zuoberst genannte Artikel schreibt, die Attacke sei vermutlich gegen alle Geräte wirksam, „die gemäß den IEEE-Spezifikationen 802.11i, p und r sowie 802.1Q (sic!) und eingeschaltetem WLAN-Roaming arbeiten“.
Was auch immer das bedeuten soll, der PMKID wird im Zusammenhang mit dem so genannten PMK Caching gebraucht. Eine Station, die zum zweiten Mal zum selben Access Point „roamt“, kann den zuvor ausgehandelten PMK wiederverwenden. Der Access Point signalisiert der Station mit dem PMKID, dass er diesen PMK ebenfalls noch kennt. Das Verfahren hat also einen Nutzen, wenn individuelle PMKs ausgehandelt werden, mittels IEEE 802.1X, EAP und RADIUS. Bei WLAN mit Pre-shared Keys ist es unnötig, da hat jeder Access Point denselben PMK.
Und das bestätigt sich in meinen Paketaufzeichnungen: In einem Enterprise WLAN beim Kunden steckt der PMKID tatsächlich im ersten Paket des 4-way Handshake. Bei mir zu Hause nicht.
Fazit: Die Wahl sicherer Passwörter, hier Pre-shared Keys, ist und bleibt die Voraussetzung für eine WLAN-Absicherung. Noch besser ist es, Sie setzen konsequent WPA2 Enterprise ein. Und mit WPA3 kommen überdies stärkere Kryptographie-Verfahren (vgl. Netzwerk-Insider 07/2018), die den Geschwindigkeitsvorteil von „hashcat“ wieder zunichtemachen.
P.S.: Wenn Sie die Sicherheit Ihres gewählten WPA PSK prüfen möchten, brauchen Sie nicht alle Software selbst zu installieren. Unter [3] finden Sie einen Web Service, der auf verteilten Instanzen von „hashcat“ basiert. Dorthin laden Sie Ihre Paketaufzeichnung mit 4-way Handshake oder PMKIDs.
Verweise
[1] https://heise.de/-4130759
[2] https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2
[3] https://wpa-sec.stanev.org
Teile diesen Eintrag