WPA/WPA2 Pre-Shared-Key-Cracking verstehen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Original Artikel= *https://www.ins1gn1a.com/understanding-wpa-psk-cracking/ =Einführung= Die wenigen Schwächen des Authentifizierungs-Handshake-Prozesses f…“)
 
Zeile 3: Zeile 3:
 
=Einführung=
 
=Einführung=
  
 +
Die wenigen Schwächen des Authentifizierungs-Handshake-Prozesses für WPA/WPA2-PSKs sind seit langem bekannt. Dieser Blog-Beitrag bedient nichts Neues oder bisher noch nicht in freier Wildbahn gesehenes oder Konferenzgespräche und verweist tatsächlich auf andere Sites (wie RFCs), die weitere Informationen liefern können. Es bietet jedoch eine gewisse Klarheit darüber, was während der Authentifizierung und damit des Cracking-Prozesses tatsächlich durchgeführt wird, war aber hauptsächlich eine Übung für mich, um zu lernen, wie alles auf einer niedrigeren Ebene funktioniert. Vielleicht ist es für jemand anderen im gleichen Szenario nützlich.
 +
 +
=Einführung=
 
Die wenigen Schwächen des Authentifizierungs-Handshake-Prozesses für WPA/WPA2-PSKs sind seit langem bekannt. Dieser Blog-Beitrag bedient nichts Neues oder bisher noch nicht in freier Wildbahn gesehenes oder Konferenzgespräche und verweist tatsächlich auf andere Sites (wie RFCs), die weitere Informationen liefern können. Es bietet jedoch eine gewisse Klarheit darüber, was während der Authentifizierung und damit des Cracking-Prozesses tatsächlich durchgeführt wird, war aber hauptsächlich eine Übung für mich, um zu lernen, wie alles auf einer niedrigeren Ebene funktioniert. Vielleicht ist es für jemand anderen im gleichen Szenario nützlich.
 
Die wenigen Schwächen des Authentifizierungs-Handshake-Prozesses für WPA/WPA2-PSKs sind seit langem bekannt. Dieser Blog-Beitrag bedient nichts Neues oder bisher noch nicht in freier Wildbahn gesehenes oder Konferenzgespräche und verweist tatsächlich auf andere Sites (wie RFCs), die weitere Informationen liefern können. Es bietet jedoch eine gewisse Klarheit darüber, was während der Authentifizierung und damit des Cracking-Prozesses tatsächlich durchgeführt wird, war aber hauptsächlich eine Übung für mich, um zu lernen, wie alles auf einer niedrigeren Ebene funktioniert. Vielleicht ist es für jemand anderen im gleichen Szenario nützlich.
  
Zeile 15: Zeile 18:
  
 
Das Ergebnis wird dann durch eine Pseudo-Random-Function (PRF) verarbeitet. Während dieses Handshake-Prozesses wird auch ein weiterer Schlüssel erstellt, der zum Entschlüsseln von Multicast-Datenverkehr verwendet wird, der als Group-Temporal-Key bezeichnet wird.
 
Das Ergebnis wird dann durch eine Pseudo-Random-Function (PRF) verarbeitet. Während dieses Handshake-Prozesses wird auch ein weiterer Schlüssel erstellt, der zum Entschlüsseln von Multicast-Datenverkehr verwendet wird, der als Group-Temporal-Key bezeichnet wird.
 
+
=Tatsächlicher Handshake-Prozess=
*Tatsächlicher Handshake-Prozess=
 
 
*Zunächst sendet der Access Point innerhalb des ersten Handshake-Pakets einen ANonce-Schlüssel an den Client.
 
*Zunächst sendet der Access Point innerhalb des ersten Handshake-Pakets einen ANonce-Schlüssel an den Client.
 
*Der Client konstruiert dann seinen SNonce zusammen mit dem Pairwise-Transient-Key (PTK) und sendet dann den SNonce und Message Integrity Code (MIC) an den Zugangspunkt. [!]
 
*Der Client konstruiert dann seinen SNonce zusammen mit dem Pairwise-Transient-Key (PTK) und sendet dann den SNonce und Message Integrity Code (MIC) an den Zugangspunkt. [!]
 
*Als nächstes konstruiert der Access Point den Group-Temporal-Key, eine Sequenznummer, die verwendet wird, um Replay-Angriffe auf den Client zu erkennen, und einen Message Integrity Code (MIC).
 
*Als nächstes konstruiert der Access Point den Group-Temporal-Key, eine Sequenznummer, die verwendet wird, um Replay-Angriffe auf den Client zu erkennen, und einen Message Integrity Code (MIC).
 
*Zuletzt sendet der Client dann eine Bestätigung (ACK) an den Access Point.
 
*Zuletzt sendet der Client dann eine Bestätigung (ACK) an den Access Point.
 
 
*An diesem Punkt wäre ein Angreifer in der Lage gewesen, genug vom Handshake abzufangen, um einen Angriff zum Knacken von Passwörtern durchzuführen.
 
*An diesem Punkt wäre ein Angreifer in der Lage gewesen, genug vom Handshake abzufangen, um einen Angriff zum Knacken von Passwörtern durchzuführen.
Bau der PMK
 
Pairwise-Master-Keys werden bei der Erstellung der Pairwise-Transient-Keys verwendet und nie wirklich über das Netzwerk übertragen. Sie werden von den Pre-Shared-Keys (Enterprise WiFi verwendet einen von EAP erstellten Schlüssel, aber das ist nicht im Rahmen dieses Artikels) zusammen mit den anderen Informationen wie SSID, SSID-Länge abgeleitet. Die PMKs werden mit der Password-Based Key Derivation Function #2 (PBKDF2) erstellt, wobei die SHA1-Hashing-Funktion mit HMAC als Nachrichtenauthentifizierungscode verwendet wird:
 
 
PMK = PBKDF2(HMAC−SHA1, PSK, SSID, 4096, 256)selt, in jede Richtung überträgt und dann die jeweils empfangene Nachricht entschlüsselt. Der Vier-Wege-Handshake wird verwendet, um einen neuen Schlüssel namens Pairwise-Transient-Key ('PTK') zu erstellen, der aus den folgenden verketteten Daten besteht:
 
 
Paarweiser Hauptschlüssel
 
Authentifikator Nonce
 
Bittsteller Nonce
 
Authentifikator-MAC-Adresse
 
Anwärter MAC-Adresse
 
Das Ergebnis wird dann durch eine Pseudo-Random-Function (PRF) verarbeitet. Während dieses Handshake-Prozesses wird auch ein weiterer Schlüssel erstellt, der zum Entschlüsseln von Multicast-Datenverkehr verwendet wird, der als Group-Temporal-Key bezeichnet wird.
 
 
Tatsächlicher Handshake-Prozess
 
Zunächst sendet der Access Point innerhalb des ersten Handshake-Pakets einen ANonce-Schlüssel an den Client.
 
Der Client konstruiert dann seinen SNonce zusammen mit dem Pairwise-Transient-Key (PTK) und sendet dann den SNonce und Message Integrity Code (MIC) an den Zugangspunkt. [!]
 
Als nächstes konstruiert der Access Point den Group-Temporal-Key, eine Sequenznummer, die verwendet wird, um Replay-Angriffe auf den Client zu erkennen, und einen Message Integrity Code (MIC).
 
Zuletzt sendet der Client dann eine Bestätigung (ACK) an den Access Point.
 
[!]  An diesem Punkt wäre ein Angreifer in der Lage gewesen, genug vom Handshake abzufangen, um einen Angriff zum Knacken von Passwörtern durchzuführen.
 
Bau der PMK
 
Pairwise-Master-Keys werden bei der Erstellung der Pairwise-Transient-Keys verwendet und nie wirklich über das Netzwerk übertragen. Sie werden von den Pre-Shared-Keys (Enterprise WiFi verwendet einen von EAP erstellten Schlüssel, aber das ist nicht im Rahmen dieses Artikels) zusammen mit den anderen Informationen wie SSID, SSID-Länge abgeleitet. Die PMKs werden mit der Password-Based Key Derivation Function #2 (PBKDF2) erstellt, wobei die SHA1-Hashing-Funktion mit HMAC als Nachrichtenauthentifizierungscode verwendet wird:
 
 
PMK = PBKDF2(HMAC−SHA1, PSK, SSID, 4096, 256)
 

Version vom 9. Juni 2021, 09:15 Uhr

Original Artikel

Einführung

Die wenigen Schwächen des Authentifizierungs-Handshake-Prozesses für WPA/WPA2-PSKs sind seit langem bekannt. Dieser Blog-Beitrag bedient nichts Neues oder bisher noch nicht in freier Wildbahn gesehenes oder Konferenzgespräche und verweist tatsächlich auf andere Sites (wie RFCs), die weitere Informationen liefern können. Es bietet jedoch eine gewisse Klarheit darüber, was während der Authentifizierung und damit des Cracking-Prozesses tatsächlich durchgeführt wird, war aber hauptsächlich eine Übung für mich, um zu lernen, wie alles auf einer niedrigeren Ebene funktioniert. Vielleicht ist es für jemand anderen im gleichen Szenario nützlich.

Einführung

Die wenigen Schwächen des Authentifizierungs-Handshake-Prozesses für WPA/WPA2-PSKs sind seit langem bekannt. Dieser Blog-Beitrag bedient nichts Neues oder bisher noch nicht in freier Wildbahn gesehenes oder Konferenzgespräche und verweist tatsächlich auf andere Sites (wie RFCs), die weitere Informationen liefern können. Es bietet jedoch eine gewisse Klarheit darüber, was während der Authentifizierung und damit des Cracking-Prozesses tatsächlich durchgeführt wird, war aber hauptsächlich eine Übung für mich, um zu lernen, wie alles auf einer niedrigeren Ebene funktioniert. Vielleicht ist es für jemand anderen im gleichen Szenario nützlich.

Überblick

Während des Authentifizierungsprozesses versuchen der Supplicant (Client) und der Authenticator (Access Point) jeweils nachzuweisen, dass sie die Passphrase des Pre-Shared-Key (`PSK`) unabhängig kennen, ohne den Schlüssel direkt preiszugeben. Dies geschieht, indem jeder eine Nachricht mit dem von ihnen generierten Pairwise-Master-Key (`PMK`) verschlüsselt, in jede Richtung überträgt und dann die jeweils empfangene Nachricht entschlüsselt. Der Vier-Wege-Handshake wird verwendet, um einen neuen Schlüssel namens Pairwise-Transient-Key ('PTK') zu erstellen, der aus den folgenden verketteten Daten besteht:

  • Paarweiser Hauptschlüssel
  • Authentifikator Nonce
  • Bittsteller Nonce
  • Authentifikator-MAC-Adresse
  • Anwärter MAC-Adresse

Das Ergebnis wird dann durch eine Pseudo-Random-Function (PRF) verarbeitet. Während dieses Handshake-Prozesses wird auch ein weiterer Schlüssel erstellt, der zum Entschlüsseln von Multicast-Datenverkehr verwendet wird, der als Group-Temporal-Key bezeichnet wird.

Tatsächlicher Handshake-Prozess

  • Zunächst sendet der Access Point innerhalb des ersten Handshake-Pakets einen ANonce-Schlüssel an den Client.
  • Der Client konstruiert dann seinen SNonce zusammen mit dem Pairwise-Transient-Key (PTK) und sendet dann den SNonce und Message Integrity Code (MIC) an den Zugangspunkt. [!]
  • Als nächstes konstruiert der Access Point den Group-Temporal-Key, eine Sequenznummer, die verwendet wird, um Replay-Angriffe auf den Client zu erkennen, und einen Message Integrity Code (MIC).
  • Zuletzt sendet der Client dann eine Bestätigung (ACK) an den Access Point.
  • An diesem Punkt wäre ein Angreifer in der Lage gewesen, genug vom Handshake abzufangen, um einen Angriff zum Knacken von Passwörtern durchzuführen.