Wlan 4 Wege Handshake

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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.

Was wir brauchen

Extern ablesbar (aus dem Beacon)

  • SSID – Name des Netzes
  • MAC ACCESSPOINT (BSSID)
  • MAC CLIENT
  • Kanal

Aus dem 4-Wege-Handshake mitschneiden

Jede Handshake-Nachricht ist ein EAPOL-Frame (ein Paket). Für den Angriff schneiden wir Nachricht 2 (Client → AP) mit. Darin steckt
  • NONCE-A – Zufallszahl des Access Points (aus Nachricht 1)
  • NONCE-S – Zufallszahl des Clients (in Nachricht 2)
  • EAPOL-Frame – der komplette Frame von Nachricht 2 (Bytes, über die die MIC gebildet wird)
  • MIC – die Prüfsumme im MIC-Feld dieses Frames → unser Vergleichswert

Vier Wege Handshake

Wpa2-handshake-eapol.svg

Wie die MIC entsteht

Der Client leitet aus dem Passwort einen Sitzungsschlüssel (PTK) ab und bildet damit die MIC über den EAPOL-Frame.

PMK

  • PMK = HASH( PSK | SSID )

PTK

  • PTK = HASH( PMK + NONCE-A + NONCE-S + MAC-AP + MAC-CLIENT )

KCK

  • KCK = die ersten 128 Bit des PTK

MIC

  • MIC = HMAC-SHA1( KCK , 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.

Einsetzverfahren

Wir setzen alle Schritte ineinander ein. Übrig bleibt eine Formel mit nur einer Unbekannten – dem PSK
  • MIC = HMAC-SHA1( KCK( HASH( HASH( PSK | SSID ) + NONCE-A + NONCE-S + MAC-AP + MAC-CLIENT ) ) , EAPOL-Frame )
Grün = bekannt / mitgeschnitten. Nur PSK ist unbekannt.

Angriff (Iteration)

Wir gehen eine Passwortliste durch und setzen jedes Passwort als PSK-geraten ein
  • PSK-geraten + SSID → PMK-geraten
  • PMK-geraten + NONCE-A + NONCE-S + MAC-AP + MAC-CLIENT → PTK-geraten
  • aus PTK-geraten → KCK-geraten (erste 128 Bit)
  • HMAC-SHA1( KCK-geraten , EAPOL-Frame ) → MIC-geraten
  • MIC-geraten = MIC-mitgeschnitten ? → ja: Passwort gefunden / nein: nächstes Passwort

Links