Wlan 4 Wege Handshake Technischer: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(kein Unterschied)

Aktuelle Version vom 6. November 2025, 12:05 Uhr

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

Quellen / Weiterführende Links