Wlan 4 Wege Handshake: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
=Begriffe= | =Begriffe= | ||
==MAC== | ==MAC== | ||
| − | *MAC | + | *MAC-Adresse : Hardware-Adresse |
==SSID== | ==SSID== | ||
| − | *Service Set Identifier : Name des WLAN Netzwerkes | + | *Service Set Identifier : Name des WLAN-Netzwerkes |
==Supplicant== | ==Supplicant== | ||
*WPA-Supplicant : Bittsteller im Normalfall der Client | *WPA-Supplicant : Bittsteller im Normalfall der Client | ||
==Wlan Access-Point== | ==Wlan Access-Point== | ||
| − | *Wlan Access Point: drahtloser Zugangspunkt | + | *Wlan Access Point : drahtloser Zugangspunkt |
==Nonce== | ==Nonce== | ||
*Number Used Once : vorläufige Zeichenfolge, soll kurzfristig durch etwas Besseres ersetzt werden | *Number Used Once : vorläufige Zeichenfolge, soll kurzfristig durch etwas Besseres ersetzt werden | ||
| Zeile 15: | Zeile 15: | ||
*Pairwise Master Key : Mehrfachanwendung einer Hashfunktion (z.B. SHA1 / 4096 Durchgänge) auf PSK und SSID | *Pairwise Master Key : Mehrfachanwendung einer Hashfunktion (z.B. SHA1 / 4096 Durchgänge) auf PSK und SSID | ||
==PTK== | ==PTK== | ||
| − | *Pairwise Transient Key : | + | *Pairwise Transient Key : Sitzungsschlüssel, aus dem PMK und weiteren Werten abgeleitet |
*Er wird aus verschiedenen Komponenten abgeleitet: | *Er wird aus verschiedenen Komponenten abgeleitet: | ||
**PMK | **PMK | ||
| Zeile 22: | Zeile 22: | ||
**MAC ACCESSPOINT | **MAC ACCESSPOINT | ||
**MAC CLIENT | **MAC CLIENT | ||
| − | *Besteht aus: | + | *Besteht aus (bei CCMP/AES, heutiger Standard): |
*Schlüsselbestätigungsschlüssel (`KCK`) – Erzeugt die MIC (den Nachrichtenintegritätscode) der Handshake-Nachrichten. '''Genau dieser Wert wird beim Angriff nachgerechnet und verglichen.''' | *Schlüsselbestätigungsschlüssel (`KCK`) – Erzeugt die MIC (den Nachrichtenintegritätscode) der Handshake-Nachrichten. '''Genau dieser Wert wird beim Angriff nachgerechnet und verglichen.''' | ||
| − | *Key Encryption Key (`KEK`) - | + | *Key Encryption Key (`KEK`) - Verschlüsselt Schlüsseldaten im Handshake, z.B. den GTK in Nachricht 3. |
| − | *Temporaler Schlüssel (`TK`) - Wird für die | + | *Temporaler Schlüssel (`TK`) - Wird für die Ver- und Entschlüsselung der Datenpakete verwendet. |
| − | |||
| − | |||
=Vier Wege Handshake= | =Vier Wege Handshake= | ||
| − | + | [[Datei:handshake-4wege.svg|800px]] | |
=Berechnungen= | =Berechnungen= | ||
==PMK== | ==PMK== | ||
;Verfahren ist bekannt - Einzige Unbekannte ist der PSK. Durch Bruteforce errechnen wir den PMK | ;Verfahren ist bekannt - Einzige Unbekannte ist der PSK. Durch Bruteforce errechnen wir den PMK | ||
| − | *PMK = | + | *PMK = HASH(PSK | <span style="color:#008000;">SSID</span>) |
==PTK== | ==PTK== | ||
;Verfahren ist bekannt - Einzige Unbekannte ist der PSK. Durch Bruteforce errechnen wir den PTK mit dem zuvor "gebruteforced" PMK | ;Verfahren ist bekannt - Einzige Unbekannte ist der PSK. Durch Bruteforce errechnen wir den PTK mit dem zuvor "gebruteforced" PMK | ||
| − | *PTK = | + | *PTK = HASH(PMK + <span style="color:#008000;">NONCE-A</span> + <span style="color:#008000;">NONCE-S</span> + <span style="color:#008000;">MAC ACCESSPOINT</span> + <span style="color:#008000;">MAC CLIENT</span>) |
;Einsetzverfahren | ;Einsetzverfahren | ||
| − | *PTK = | + | *PTK = HASH(HASH(PSK | <span style="color:#008000;">SSID</span>) + <span style="color:#008000;">NONCE-A</span> + <span style="color:#008000;">NONCE-S</span> + <span style="color:#008000;">MAC ACCESSPOINT</span> + <span style="color:#008000;">MAC CLIENT</span>) |
| − | *Ergebnis ist ein | + | *Ergebnis ist ein 384Bit langer Container |
| − | *PTK = KCK + KEK + TK | + | *PTK = KCK + KEK + TK |
{| class="wikitable" | {| class="wikitable" | ||
| − | !colspan=" | + | !colspan="3"|PTK |
|- | |- | ||
|<span style="color:#c07000;">'''KCK'''</span> | |<span style="color:#c07000;">'''KCK'''</span> | ||
|KEK | |KEK | ||
|TK | |TK | ||
| − | |||
| − | |||
|- | |- | ||
|128Bit | |128Bit | ||
|128Bit | |128Bit | ||
|128Bit | |128Bit | ||
| − | |||
| − | |||
|} | |} | ||
'''Alles was <span style="color:#008000;">grün</span> ist, ist bekannt.''' | '''Alles was <span style="color:#008000;">grün</span> ist, ist bekannt.''' | ||
| − | ;Der <span style="color:#c07000;">KCK</span> (erste 128 Bit) erzeugt die Handshake-MIC – das ist der Wert, um den es beim Angriff geht | + | ;Der <span style="color:#c07000;">KCK</span> (erste 128 Bit) erzeugt die Handshake-MIC – das ist der Wert, um den es beim Angriff geht. |
=Ziel= | =Ziel= | ||
| Zeile 66: | Zeile 60: | ||
=Angriff= | =Angriff= | ||
==Wir brauchen== | ==Wir brauchen== | ||
| − | ===Zum | + | ===Zum Bilden des PTK=== |
*CHANNEL (Ablesen) | *CHANNEL (Ablesen) | ||
| + | *SSID (Ablesen) | ||
*MAC Client (Ablesen) | *MAC Client (Ablesen) | ||
*BSSID - MAC Accesspoint (Ablesen) | *BSSID - MAC Accesspoint (Ablesen) | ||
| + | *NONCE-A (Mitschneiden) | ||
*NONCE-S (Mitschneiden) | *NONCE-S (Mitschneiden) | ||
| − | |||
===Zum Vergleichen=== | ===Zum Vergleichen=== | ||
*EAPOL-Frame des Handshakes (Mitschneiden) – meist Nachricht 2 | *EAPOL-Frame des Handshakes (Mitschneiden) – meist Nachricht 2 | ||
Version vom 13. August 2026, 16:20 Uhr
Begriffe
MAC
- MAC-Adresse : 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 Key : Gemeinsamer Schlüssel
PMK
- Pairwise Master Key : Mehrfachanwendung einer Hashfunktion (z.B. SHA1 / 4096 Durchgänge) auf PSK und SSID
PTK
- Pairwise Transient Key : Sitzungsschlüssel, aus dem PMK und weiteren Werten abgeleitet
- Er wird aus verschiedenen Komponenten abgeleitet:
- PMK
- NONCE-A
- NONCE-S
- MAC ACCESSPOINT
- MAC CLIENT
- Besteht aus (bei CCMP/AES, heutiger Standard):
- Schlüsselbestätigungsschlüssel (`KCK`) – Erzeugt die MIC (den Nachrichtenintegritätscode) der Handshake-Nachrichten. Genau dieser Wert wird beim Angriff nachgerechnet und verglichen.
- Key Encryption Key (`KEK`) - Verschlüsselt Schlüsseldaten im Handshake, z.B. den GTK in Nachricht 3.
- Temporaler Schlüssel (`TK`) - Wird für die Ver- und Entschlüsselung der Datenpakete verwendet.
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
| PTK | ||
|---|---|---|
| KCK | KEK | TK |
| 128Bit | 128Bit | 128Bit |
Alles was grün ist, ist bekannt.
- Der KCK (erste 128 Bit) erzeugt die Handshake-MIC – das ist der Wert, um den es beim Angriff geht.
Ziel
- Wir wollen durch Iteration herausbekommen, welcher PSK die mitgeschnittene MIC erzeugt. Die MIC ist das Key-MIC-Feld aus dem EAPOL-Frame des Handshakes und wird mit dem KCK gebildet. Stimmt unsere berechnete MIC mit der mitgeschnittenen überein, haben wir den PSK "gebruteforced".
Angriff
Wir brauchen
Zum Bilden des PTK
- CHANNEL (Ablesen)
- SSID (Ablesen)
- MAC Client (Ablesen)
- BSSID - MAC Accesspoint (Ablesen)
- NONCE-A (Mitschneiden)
- NONCE-S (Mitschneiden)
Zum Vergleichen
- EAPOL-Frame des Handshakes (Mitschneiden) – meist Nachricht 2
- Key-MIC aus diesem Frame (Mitschneiden)
Berechnen
- Wir holen nun nacheinander die Passwörter aus einer Datei und setzen diese in PSK-geraten ein
- Aus dem PSK-geraten und der SSID bilden wir den PMK-geraten
- Aus dem PMK-geraten bilden wir mit NONCE-A, NONCE-S, MAC ACCESSPOINT und MAC CLIENT den PTK-geraten
- Aus dem PTK-geraten nehmen wir den KCK (die ersten 128 Bit)
- Mit dem KCK berechnen wir die MIC-geraten über den mitgeschnittenen EAPOL-Frame (HMAC-SHA1 bei WPA2)
- Stimmt die MIC-geraten mit der mitgeschnittenen MIC überein, ist der PSK erraten