Wlan 4 Wege Handshake: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde geleert.)
Markierung: Geleert
Zeile 1: Zeile 1:
=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.
 
  
=Begriffe=
 
==MAC==
 
*MAC Adresse : Hardware Adresse=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äufiges Zeichenfolge, soll kurzfristig durch etwas Besseres ersetzt zu 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 auf verschiedenen Kompententen abgeleitet:
 
**PMK
 
**NOUNCE-A
 
**NONCE-S
 
**MAC ACCESSPOINT
 
**MAC CLIENT
 
*Besteht aus:
 
*Schlüsselbestätigungsschlüssel (`KCK`) – Wird während der Erstellung des Nachrichtenintegritätscodes 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.
 
*MIC Authenticator Tx Key (`MIC Tx`) - Wird nur mit TKIP-Konfigurationen für Unicast-Pakete verwendet, die von Access Points gesendet werden.
 
*MIC Authenticator Rx Key (`MIC Rx`) - Wird nur mit TKIP-Konfigurationen für Unicast-Pakete verwendet, die von Clients gesendet werden.
 
 
=Vier Wege Handshake=
 
{{#drawio:vier-wege-1}}
 
 
=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 + <span style="color:#008000;">NOUNCE-A</span> + <span style="color:#008000;">NONCE-S</span> + <span style="color:#008000;">MAC ACCESSPOINT</span> + <span style="color:#008000;">MAC CLIENT</span>)
 
;Einsetzverfahren
 
*PTK = (HASH(HASH(PSK|<span style="color:#008000;">SSID</span>)) + <span style="color:#008000;">NOUNCE-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 512Bit langer Container
 
*PTK = KCK + KEK + TK + MIC-Tx + MIC-Rx
 
 
{| class="wikitable"
 
!colspan="5"|PTK
 
|-
 
|KCK
 
|KEK
 
|TK
 
|MIC-Tx
 
|MIC-Rx
 
|-
 
|128Bit
 
|128Bit
 
|128Bit
 
|64Bit
 
|64Bit
 
|}
 
'''Alles was <span style="color:#008000;">grün</span> ist, ist bekannt.'''
 
 
=Ziel=
 
;Wir wollen durch Iteration herausbekommen, welcher PSK die mitgeschnittene MIC erzeugt. Die MIC wird mit dem KCK gebildet. Wenn unsere berechnete MIC mit der mitgeschnittenen übereinstimmt, haben wir den PSK "gebruteforced".
 
 
=Angriff=
 
==Wir brauchen==
 
===Zum bilden des PTK===
 
*CHANNEL (Ablesen)
 
*MAC Client (Ablesen)
 
*BSSID - MAC Accesspoint (Ablesen)
 
*NONCE-S (Mitschneiden)
 
*NONCE-A (Mitschneiden)
 
===Zum Vergleichen===
 
*MIC (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 nun den PMK-geraten
 
*Aus dem PMK-geraten bilden wir mit NOUNCE-A, NONCE-S, MAC ACCESSPOINT und dem MAC CLIENT den PTK-geraten
 
*Aus dem PTK-geraten nehmen wir den KCK
 
*Mit dem KCK berechnen wir die MIC-geraten
 
*Wenn nun die MIC-geraten mit der mitgeschnittenen MIC übereinstimmt, ist der PSK erraten.
 
 
=Links=
 
*https://www.ins1gn1a.com/understanding-wpa-psk-cracking/
 
*https://www.kryptowissen.de/wpa2.php
 
*https://www.it-swarm.com.de/de/wpa2/wie-genau-funktioniert-das-4-wege-handshake-cracken/l958542420/
 
==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.
 
*MIC Authenticator Tx Key (`MIC Tx`) - Wird nur mit TKIP-Konfigurationen für Unicast-Pakete verwendet, die von Access Points gesendet werden.
 
*MIC Authenticator Rx Key (`MIC Rx`) - Wird nur mit TKIP-Konfigurationen für Unicast-Pakete verwendet, die von Clients gesendet werden.
 
==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=
 
{{#drawio:vier-wege-1}}
 
 
=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 + <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
 
*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 512Bit langer Container
 
*PTK = KCK + KEK + TK + MIC-Tx + MIC-Rx
 
{| class="wikitable"
 
!colspan="5"|PTK
 
|-
 
|<span style="color:#c07000;">'''KCK'''</span>
 
|KEK
 
|TK
 
|MIC-Tx
 
|MIC-Rx
 
|-
 
|128Bit
 
|128Bit
 
|128Bit
 
|64Bit
 
|64Bit
 
|}
 
'''Alles was <span style="color:#008000;">grün</span> ist, ist bekannt.'''
 
;Der <span style="color:#c07000;">KCK</span> (erste 128 Bit) erzeugt die MIC der Handshake-Nachrichten – das ist der Wert, um den es beim Angriff geht. MIC-Tx und MIC-Rx (nur bei TKIP) sichern dagegen die Datenpakete und werden nicht verglichen.
 
 
==MIC==
 
;Der Client bildet die MIC mit dem KCK über den mitgeschnittenen EAPOL-Frame.
 
*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. So kann die Prüfsumme über den ganzen Frame gebildet werden, obwohl sie selbst im Frame steht.
 
 
=Ziel=
 
;Wir wollen durch Iteration herausbekommen, welcher PSK die mitgeschnittene MIC erzeugt. Wenn unsere berechnete MIC mit der mitgeschnittenen übereinstimmt, haben wir den PSK "gebruteforced".
 
 
=Angriff=
 
==Wir brauchen==
 
===Zum bilden des PTK===
 
*CHANNEL (Ablesen)
 
*MAC Client (Ablesen)
 
*BSSID - MAC Accesspoint (Ablesen)
 
*NONCE-S (Mitschneiden)
 
*NONCE-A (Mitschneiden)
 
===Zum Vergleichen===
 
*EAPOL-Frame der Nachricht 2 (Mitschneiden)
 
*MIC aus diesem Frame (Mitschneiden) – unser Vergleichswert
 
 
=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 nun den PMK-geraten
 
*Aus dem PMK-geraten bilden wir mit NONCE-A, NONCE-S, MAC ACCESSPOINT und dem MAC CLIENT den PTK-geraten
 
*Aus dem PTK-geraten nehmen wir den KCK (die ersten 128 Bit)
 
*Mit dem KCK berechnen wir über den mitgeschnittenen EAPOL-Frame die MIC-geraten
 
*Wenn nun die MIC-geraten mit der mitgeschnittenen MIC übereinstimmt, ist der PSK erraten.
 
 
=Links=
 
*https://www.ins1gn1a.com/understanding-wpa-psk-cracking/
 
*https://www.kryptowissen.de/wpa2.php
 
*https://www.it-swarm.com.de/de/wpa2/wie-genau-funktioniert-das-4-wege-handshake-cracken/l958542420/
 

Version vom 13. August 2026, 17:09 Uhr