Wlan 4 Wege Handshake Technischer
Version vom 6. November 2025, 12:04 Uhr von Thomas.will (Diskussion | Beiträge) (Thomas.will verschob die Seite Wlan 4 Wege Handshake Neu nach Wlan 4 Wege Handshake Neu technischer)
Begriffe
MAC
- MAC-Adresse : Hardware-Adresse
SSID
- Service Set Identifier : Name des WLAN-Netzwerks
Supplicant
- WPA-Supplicant : Client (Bittsteller)
WLAN-Access-Point
- WLAN Access Point : drahtloser Zugangspunkt
Nonce
- Number Used Once : Ein einmaliger Zufallswert (ANonce = AP, SNonce = Station)
PSK
- Pre-Shared Key : gemeinsame Passphrase
PMK
- Pairwise Master Key : Im PSK-Modus aus PSK + SSID abgeleitet mittels PBKDF2-HMAC-SHA1
- PMK = PBKDF2(HMAC-SHA1, PSK, SSID, 4096, 256) ; Ergebnis 256 Bit
PTK
- Pairwise Transient Key : abgeleitet aus PMK, Nonces und MAC-Adressen mittels PRF (Pairwise key expansion)
- PTK wird in Teilschlüssel aufgeteilt:
- KCK (Key Confirmation Key) – zur Berechnung/Überprüfung der MIC auf EAPOL-Frames
- KEK (Key Encryption Key) – zum Schutz bestimmter EAPOL-Felder
- TK (Temporal Key) – für die Verschlüsselung/Entschlüsselung von Unicast-Daten
- (bei TKIP: zusätzliche MIC-Subkeys / bei CCMP: TK entsprechend für AES-CCMP)
- Beispielaufteilung (typisch für CCMP):
- KCK = 128 Bit
- KEK = 128 Bit
- TK = 128 Bit
- (bei TKIP kann die PTK-Länge und Aufteilung abweichen, z. B. insgesamt 512 Bit mit zusätzlichen Teilschlüsseln)
Vier-Wege-Handshake
Ziel
- Wir wollen durch Iteration (Wörterbuch/Bruteforce) herausfinden, welches Passwort (PSK) die im Mitschnitt beobachteten EAPOL-MICs erzeugt. Passt die berechnete MIC zur auf dem Mitschnitt, ist das Passwort bestätigt.
Benötigte Werte aus dem Mitschnitt
Zum Bilden des PTK
- Kanal (Channel) ; Kontextinformation
- MAC Client (STA) ; aus Beacon/Framekopf
- BSSID / MAC Access Point (AP) ; aus Beacon/Framekopf
- ANonce (Nonce vom AP) ; aus EAPOL-Frame (Message 1 / 3)
- SNonce (Nonce vom Client) ; aus EAPOL-Frame (Message 2)
Zum Vergleichen / Validierung
- MIC (in EAPOL-Frame) ; aus Message 2 oder Message 3 (je nach Richtung)
- EAPOL-Payload (teilweise) ; die genauen Bytes, die zur MIC-Berechnung verwendet werden müssen
Berechnung / Ablauf (konzeptuell)
- Für jedes Passwort aus einer Wortliste:
- Berechne PMK = PBKDF2(HMAC-SHA1, Passwort, SSID, 4096, 256).
- Leite PTK = PRF(PMK, "Pairwise key expansion", Min(AP_MAC,STA_MAC) || Max(AP_MAC,STA_MAC) || Min(ANonce,SNonce) || Max(ANonce,SNonce)) ab.
- Extrahiere KCK aus PTK und berechne die erwartete MIC über den EAPOL-Frame (genauer Payload wie im Mitschnitt).
- Vergleiche die berechnete MIC mit der im Mitschnitt vorhandenen MIC. Stimmen sie überein, ist das Passwort korrekt.
Wichtige Hinweise / Fallstricke
- Verwende die **exakte** SSID (Groß-/Kleinschreibung) als Salt bei PBKDF2 – schon ein anderes Byte erzeugt komplett andere Werte.
- Die exakten Längen und die Aufteilung der PTK hängen vom verwendeten Cipher ab (AES-CCMP vs TKIP). Für WPA2 mit AES-CCMP ist die PTK-Aufteilung wie oben typischerweise 128/128/128 Bit für KCK/KEK/TK.
- Praktisch benötigen Cracking-Tools (aircrack-ng, hashcat, etc.) korrekt extrahierte Felder (ANonce, SNonce, MACs, EAPOL-Frame, MIC). Die Tools übernehmen die korrekte PBKDF2- und PRF-Berechnung.
- Für reproduzierbare Versuche nutze isolierte Lab-VMs und nur Netze, für die du Autorisierung hast.
Kurze Formelhinweise (konzeptuell)
- PMK = PBKDF2(HMAC-SHA1, PSK, SSID, 4096, 256)
- PTK = PRF(PMK, "Pairwise key expansion", MACs || Nonces) ; Ausgabe: Teilschlüssel (KCK|KEK|TK|...)
- MIC = HMAC(KCK, EAPOL-Payload) ; Vergleich zwischen berechnetem MIC und Mitschnitt-MIC
