In meinem letzten Beitrag haben wir einen externen USB-WLAN-Adapter eingerichtet und die Konfigurationsschritte durchlaufen, um den Adapter in den Monitormodus zu versetzen. Wir haben uns auch die Standardausgabe von airodump-ng angesehen und konnten eine Reihe guter Informationen über alle Zugangspunkte um uns herum erhalten, einschließlich ihrer ESSID, BSSID, auf welchem Kanal sie operierten, welche Art von Verschlüsselung sie verwenden und welche Art von Authentifizierung sie verwenden.
Jetzt, da wir alle diese Informationen haben, können wir einen einzelnen AP als unser Ziel auswählen, um zu versuchen, den auf dem Zugangspunkt konfigurierten WPA2 Pre-Shared Key (PSK) zu knacken. Sobald wir diese PSK erhalten können, können wir uns mit dem Access Point verbinden und anfangen, das Netzwerk, mit dem er verbunden ist, zu durchsuchen.
Einrichten unseres Adapters und Auswählen eines Ziels
Wir beginnen damit, unseren USB-WLAN-Adapter in den Monitormodus zu versetzen. Wenn Sie nicht sicher sind, was hier passiert, lesen Sie bitte den vorherigen Artikel.
Sehen wir uns nun an, welche Zugangspunkte sich in unserer Nähe befinden, und wählen Sie einen aus. Dazu führen wir airodump-ng in seiner grundlegendsten Form aus und verwenden nur einen einzigen Parameter – den Namen der Monitorschnittstelle.
airodump-ng wlan1mon
Aus dieser Liste wählen wir einen AP als Ziel aus. Wir müssen die BSSID, ESSID und den Kanal des AP notieren. Da wir in diesem Beispiel auf WPA2-PSK abzielen, müssen wir einen AP auswählen, dessen Verschlüsselungstyp als WPA2 und dessen Authentifizierungstyp als PSK aufgeführt ist.
Erfassen von Frames zum / vom Ziel-AP
Sobald wir diese Informationen haben, können wir airodump-ng verwenden, um diesen AP und seine verbundenen Clients gezielt anzusprechen. Dabei werden wir auch zusätzliche Parameter angeben, die wir zuvor nicht angegeben haben. Wir geben den Namen des Kanals an, auf dem unser Ziel-AP mit dem Schalter –c ausgeführt wird, den Namen der BSSID mit dem Schalter -bssid und den Namen einer Ausgabedatei mit dem Schalter -w.
Die Ausgabedatei enthält alle aufgenommenen Bilder, die unser drahtloser Adapter für den Monitormodus aufnehmen kann. Was wir speziell erfassen möchten, ist ein WPA2-PSK-Authentifizierungs-Handshake zwischen einem Client und dem AP. Dieser Handshake enthält eine Hash-Version des Pre-Shared-Schlüssels, die wir später bruit-forcing werden.
In diesem Beispiel verwende ich die Werte, die von meinem Ziel-AP stammen (wobei die BSSID aus Datenschutzgründen leicht verschleiert ist). Sie verwenden Ihre eigenen Werte, die Sie aus unserer vorherigen airodump-ng-Sitzung erhalten haben, um meine zu ersetzen. Sie müssen keine Erweiterung für Ihre Ausgabedatei angeben, da automatisch mehrere mit jeweils einer entsprechenden Erweiterung erstellt werden.
airodump-ng -c 1 --bssid 00:15:FF:EE:EE:EE -w capture wlan1mon
Sie werden feststellen, dass diese airodump-ng-Ausgabe der letzten Ausgabe ähnelt, nur dass die Liste der APs nicht mehr als nur die von uns angegebene enthält. Außerdem wird das Kanalfeld in der oberen linken Ecke nicht angezeigt, da wir den Kanal in der Befehlszeile angegeben haben. airodump-ng erfasst jetzt nur noch Pakete für den von uns angegebenen AP auf dem von uns angegebenen Kanal. Am unteren Rand des Terminals sollte die Liste der verbundenen Clients angezeigt werden.
Die Ausführung dieses Vorgangs kann etwas länger dauern, insbesondere wenn nicht viele Clients mit dem AP verbunden sind. Damit dies funktioniert, benötigen wir mindestens einen verbundenen Client, der mit dem AP spricht, aber je mehr Clients gleichzeitig verbunden sind, desto einfacher wird es, einen WPA2-PSK-Authentifizierungs-Handshake zu erfassen.
Beschleunigung der Erfassung mit einem Deauthentication-Angriff
Wenn Ihr WLAN-Adapter die Paketinjektion unterstützt, können wir diesen Vorgang mit dem Dienstprogramm aireplay-ng beschleunigen. Wir können dies tun, indem wir eine neue Shell öffnen, da wir airodump im Hintergrund ausführen / erfassen und den folgenden Kontext verwenden möchten.
aireplay-ng -0 10 -a 00:15:FF:EE:EE:EE wlan1mon
Der Schalter -0 teilt dem Aireplay-ng mit, wie viele Deauthentication-Pakete (deauth) vom AP gesendet werden sollen.“ Theoretisch sollten alle Clients, die mit dem AP verbunden sind, diese Deauth-Broadcasts empfangen, sich vom AP deauthentifizieren und sich dann automatisch erneut beim AP authentifizieren, sobald die Deauth-Broadcast stoppt. In diesem Beispiel senden wir 10, was angesichts der Anzahl der mit diesem AP verbundenen Clients ausreichen sollte, um einen Handshake bei der erneuten Authentifizierung zu erzwingen.
Der Schalter -a gibt die ESSID des AP an, und die letzte Option ist nur der Name unserer Monitormodus-Schnittstelle.
Nachdem ich den Deauth-Angriff ausgeführt habe, bemerken Sie etwas, das wir vorher nicht gesehen haben. In der oberen rechten Ecke des Airodump-Fensters sehen wir nun, dass ein WPA-Handshake erfasst wurde. (Scrollen Sie zum letzten Bild, um zu sehen, dass es vorher nicht da war). Da wir die ganze Zeit in unserer Ausgabedatei erfasst haben, sollte diese Datei jetzt eine Erfassung des WPA2-PSK-Handshakes enthalten.
Wenn Sie einen Handshake nicht sofort erfassen können, sollten Sie einige Minuten warten und den Aireplay-Angriff erneut versuchen. Es könnte auch eine gute Idee sein, die Warnung zu beachten, die aireplay uns gegeben hat, nachdem ich den Befehl ausgeführt und einen gezielten Angriff ausgeführt habe. Anstatt Broadcasts an alle verbundenen Clients zu senden, richten wir einen Deauthentifizierungsangriff auf einen einzelnen verbundenen Client aus. Die Syntax dafür lautet wie folgt.
aireplay-ng -0 10 -a 00:15:FF:EE:EE:EE -c E0:46:9A:11:22:33 wlan1mon
Ein gerichteter Angriff ist im Grunde derselbe Befehl, hat aber den Schalter -c hinzugefügt und gibt die MAC-Adresse des drahtlosen Clients an, den wir zu deaktivieren versuchen.
Informationen zur Frame-Capture-Datei
Nachdem wir nun einen WPA2-PSK-Handshake erfasst haben, können Sie die Airodump-Sitzung durch Drücken von STRG + C beenden. Die, mit der wir uns am meisten beschäftigen, ist die .cap-Datei, die der Aufnahme entspricht, die wir oben gemacht haben. Ich habe den Schalter -w verwendet, um meine Capture-Ausgabe „capturefile“ aufzurufen, daher handelt es sich bei der Datei, mit der ich mich befasse, um capturefile-01.Kappe.
Jetzt, da wir die Datei haben, die wir brauchen, können wir sie offline nehmen, um sie zu knacken. Es gibt keinen Grund, in der Nähe des AP zu bleiben, auf den Sie abzielen, wenn Sie dies nicht möchten. Natürlich, wenn dies in einer Laborumgebung ist, spielt es keine Rolle, aber in der realen Welt kann es sein. Wir kommen zurück, nachdem wir (hoffentlich) den Pre-Shared Key gebrochen haben.
Zusätzlich zu der Bequemlichkeit, nicht um Ihr Ziel herumhängen zu müssen, während ihr Hash geknackt wird (was sehr lange dauern kann), besteht ein weiterer praktischer Vorteil darin, dass das Knacken von Hashes allein mit CPU-Leistung ein langsamer und fast sinnloser Prozess ist. Realistisch gesehen würden Sie die Capture-Datei auf einen Computer mit einer oder mehreren GPUs zurückbringen und diese GPUs verwenden, um den Schlüssel mit einem Dienstprogramm zu knacken, das GPU-Cracking wie Hashcat unterstützt.
Wenn Sie nicht glauben, dass eine GPU einen großen Unterschied gegenüber einer schnellen CPU machen würde, beachten Sie diese reale Studie, die ich neulich durchgeführt habe. Bei einem Versuch, einen WPA2-PSK-Schlüssel zu knacken, habe ich einen Befehl verwendet, der jede Telefonnummer in einer Vorwahl für eine erfasste Datei ausführt (viele Benutzer verwenden eine 10-stellige Telefonnummer als WPA2-Schlüssel). Zu wissen, welche Vorwahl ich verwenden würde, ließ 10.000.000 Möglichkeiten. Ein Intel Core i5-7400 mit 3,0 GHz benötigte 8 Stunden und 14 Minuten, um diesen Vorgang abzuschließen. Eine GeForce GTX 1070 tat das gleiche in 52 Sekunden.
Im nächsten Beitrag, Ich werde Ihnen zeigen, wie Sie Ihre konvertieren .cap-Datei zu einem .hccapx-Datei, mit der Hashcat gerne arbeitet. Ich zeige Ihnen auch einige der Methoden, mit denen ich Hashes mit Hashcat knacken kann, die für praktisch jeden Hash gelten können, nicht nur für WPA2-PSK-Hashes.