Wlan 4 Wege Handshake: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→PTK) |
(→PTK) |
||
| Zeile 30: | Zeile 30: | ||
**MAC ACCESSPOINT | **MAC ACCESSPOINT | ||
**MAC CLIENT | **MAC CLIENT | ||
| − | |||
*Besteht aus: | *Besteht aus: | ||
*Schlüsselbestätigungsschlüssel (`KCK`) – Wird während der Erstellung des Nachrichtenintegritätscodes (MIC) verwendet. Genau dieser Wert wird beim Angriff nachgerechnet und verglichen. | *Schlüsselbestätigungsschlüssel (`KCK`) – Wird während der Erstellung des Nachrichtenintegritätscodes (MIC) verwendet. Genau dieser Wert wird beim Angriff nachgerechnet und verglichen. | ||
*Key Encryption Key (`KEK`) - Wird vom Zugangspunkt während der Datenverschlüsselung verwendet. | *Key Encryption Key (`KEK`) - Wird vom Zugangspunkt während der Datenverschlüsselung verwendet. | ||
*Temporaler Schlüssel (`TK`) - Wird für die Verschlüsselung und Entschlüsselung von Unicast-Paketen verwendet. | *Temporaler Schlüssel (`TK`) - Wird für die Verschlüsselung und Entschlüsselung von Unicast-Paketen verwendet. | ||
| − | |||
| − | |||
| − | |||
==EAPOL-Frame== | ==EAPOL-Frame== | ||
Version vom 20. August 2026, 10:47 Uhr
Grundidee
- Beim 4-Wege-Handshake schickt der Client eine Nachricht mit einer Prüfsumme (MIC). Diese MIC kann nur bilden, wer das WLAN-Passwort (PSK) kennt.
- In der gesamten Berechnungskette ist alles bekannt oder mitschneidbar – bis auf eine einzige Unbekannte
- den PSK.
- Wir setzen nacheinander Passwörter aus einer Liste als PSK ein, rechnen die MIC nach und vergleichen sie mit der mitgeschnittenen MIC. Passt sie, ist das Passwort gefunden.
Einleitung
- Man muss kein mathematisches Genie sein, um die Zusammenhänge des 4-Wege-Handshakes zu verstehen.
- Das Kernziel dieses Artikels ist es zu verdeutlichen, wie man durch einfache Iteration (systematisches Ausprobieren) aus mitgeschnittenen Datenpaketen das zugrunde liegende WLAN-Passwort (PSK) ableiten kann.
Begriffe
MAC
- MAC Addresse : Hardware Adresse
SSID
- Service Set Identifier : Name des WLAN Netzwerkes
Supplicant
- WPA-Supplicant : Bittsteller im Normalfall der Client
Wlan Access-Point
- Wlan Access Point: drahtloser Zugangspunkt
Nonce
- Number Used Once : vorläufige Zeichenfolge, soll kurzfristig durch etwas Besseres ersetzt werden
PSK
- Preshared Keys : Gemeinsamer Schlüssel
PMK
- Pairwise Master Key : Mehrfachanwendung einer Hashfunktion (z.B. SHA1 / 4096 Durchgänge) auf PSK und SSID
PTK
- Pairwise Transient Key : aufwendiges Schlüsselmanagement
- Er wird aus verschiedenen Komponenten abgeleitet:
- PMK
- NONCE-A
- NONCE-S
- MAC ACCESSPOINT
- MAC CLIENT
- Besteht aus:
- Schlüsselbestätigungsschlüssel (`KCK`) – Wird während der Erstellung des Nachrichtenintegritätscodes (MIC) verwendet. Genau dieser Wert wird beim Angriff nachgerechnet und verglichen.
- Key Encryption Key (`KEK`) - Wird vom Zugangspunkt während der Datenverschlüsselung verwendet.
- Temporaler Schlüssel (`TK`) - Wird für die Verschlüsselung und Entschlüsselung von Unicast-Paketen verwendet.
EAPOL-Frame
- Jede der vier Handshake-Nachrichten ist ein EAPOL-Frame (ein Paket). Für den Angriff schneiden wir Nachricht 2 (Client → AP) mit. Darin stehen NONCE-S und das MIC-Feld.
Vier Wege Handshake
Berechnungen
PMK
- Verfahren ist bekannt - Einzige Unbekannte ist der PSK. Durch Bruteforce errechnen wir den PMK
- PMK = (HASH(PSK|SSID))
PTK
- Verfahren ist bekannt - Einzige Unbekannte ist der PSK. Durch Bruteforce errechnen wir den PTK mit dem zuvor "gebruteforced" PMK
- PTK = (HASH(PMK + NONCE-A + NONCE-S + MAC ACCESSPOINT + MAC CLIENT))
- Einsetzverfahren
- PTK = (HASH(HASH(PSK|SSID)) + NONCE-A + NONCE-S + MAC ACCESSPOINT + MAC CLIENT)
- Ergebnis ist ein 384Bit langer Container
- PTK = KCK + KEK + TK
Alles was grün ist, ist bekannt.
- Der KCK (erste 128 Bit) erzeugt die MIC der Handshake-Nachrichten – das ist der Wert, um den es beim Angriff geht.
MIC
- Der Client bildet die MIC mit dem KCK über den mitgeschnittenen EAPOL-Frame.
- MIC = HMAC-SHA1(KCK, 2. EAPOL-Frame)
- Hinweis
- Beim Bilden der MIC ist das MIC-Feld im Frame auf Null gesetzt. Zum Nachprüfen zieht man die mitgeschnittene MIC heraus, setzt das Feld wieder auf Null und rechnet neu. So kann die Prüfsumme über den ganzen Frame gebildet werden, obwohl sie selbst im Frame steht.
Iterationsformel
- Alles in eine Formel eingesetzt. Nur der PSK ist unbekannt
- MIC = HMAC-SHA1( ⌊ HASH( HASH(PSK|SSID) + NONCE-A + NONCE-S + MAC-AP + MAC-CLIENT ) ⌋128 , 2. EAPOL-Frame )
- Grün = bekannt / mitgeschnitten. Nur PSK ist unbekannt. Wir setzen nacheinander Passwörter als PSK ein, bis die berechnete MIC mit der mitgeschnittenen übereinstimmt.
Angriff (Ablauf)
- Alles außer dem PSK haben wir (mitgeschnitten oder abgelesen). Jetzt iterieren wir
- Passwort aus der Liste als PSK einsetzen
- MIC berechnen (nach der Formel oben)
- berechnete MIC mit der mitgeschnittenen MIC vergleichen
- gleich? → Passwort gefunden. Sonst → nächstes Passwort.