
Eine kleine Sammlung von Werkzeugen, um Pakete aus Capture-Dateien in Hash-Dateien zu konvertieren, zur Verwendung mit Hashcat oder John the Ripper.
Eine kleine Sammlung von Werkzeugen, um Pakete aus Mitschriften in Hash-Dateien zur Verwendung mit Hashcat oder John the Ripper zu konvertieren.
Diese Werkzeuge sind 100% kompatibel mit Hashcat und John the Ripper und werden von Hashcat empfohlen.
Der Hauptzweck von hcxtools ist es, Schwachstellen im eigenen WiFi-Netzwerk durch die Analyse der Hashes zu erkennen. Daher ermöglicht die Konvertierung der Mitschriftdatei in eine WPA-PBKDF2-PMKID+EAPOL-Hashdatei dem Benutzer zu überprüfen, ob der WLAN-Schlüssel oder das PMK unverschlüsselt übertragen wurde. Oder laden Sie die „ungereinigte“ Mitschriftdatei (pcapng, pcap, cap) hier hoch, um herauszufinden, ob Ihr AP oder der CLIENT durch die Verwendung gängiger Wörterlisten oder eines schwachen Passwort-Generierungsalgorithmus verwundbar ist.
Unterstützung für Hashcat-Hash-Modi: 4800, 5500, 2200x, 16100, 250x (veraltet) und 1680x (veraltet).
Unterstützung für John the Ripper-Hash-Modi: WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm und tacacs-plus.
Unterstützung für gzip (.gz) Einzeldateikomprimierung.
Eine Übersicht über den Hashcat-Modus 22000. - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Alter, aber immer noch anwendbarer Beitrag von atom aus den Hashcat-Foren, der einen neuen Angriff auf WPA/WPA2 mittels PMKID behandelt. - (https://hashcat.net/forum/thread-7717.html)
Hashcat-Modus 22000 Beitrag von atom aus den Hashcat-Foren. - (https://hashcat.net/forum/thread-10253.html)
Nicht unterstützt: Windows-Betriebssysteme, macOS, Android, Emulatoren oder Wrapper!
Sie knacken keine WPA-PSK-bezogenen Hashes. (Verwenden Sie Hashcat oder JtR, um den PSK wiederherzustellen.)
Sie knacken kein WEP. (Verwenden Sie stattdessen die aircrack-ng-Suite.)
Sie knacken kein WPS. (Verwenden Sie stattdessen Reaver oder Bully.)
Sie entschlüsseln keinen verschlüsselten Datenverkehr. (Verwenden Sie dazu tshark oder Wireshark.)
hcxdumptool -> hcxpcapngtool -> hcxhashtool (zusätzlich hcxpsktool/hcxeiutool) -> hashcat oder JtR
In den meisten Distributionen sind hcxtools über den Paketmanager verfügbar.
Wenn Sie sich entscheiden, den aktuellen Git-Head zu kompilieren, stellen Sie sicher, dass Ihre Distribution auf die neueste Version aktualisiert ist und dass alle Header-Dateien und Abhängigkeiten installiert wurden!
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
Installieren nach /usr/bin:
make install (als Superuser)
Oder installieren nach /usr/local/bin:
make install PREFIX=/usr/local (als Superuser)
Sie erwarten vielleicht, dass ich empfehle, dass jeder hcxdumptool/hcxtools verwenden sollte. Tatsache ist jedoch, dass hcxdumptool/hcxtools NICHT für unerfahrene Benutzer oder Neueinsteiger empfohlen wird. Wenn Sie nicht allgemein mit Linux vertraut sind oder zumindest nicht über ein grundlegendes Wissen verfügen, wie im Abschnitt „Anforderungen“ erwähnt, ist hcxdumptool/hcxtools wahrscheinlich nicht das, was Sie suchen. Wenn Sie jedoch dieses Wissen haben, können diese Werkzeuge Wunder wirken.
Wenn Sie sich entscheiden, den aktuellen Git-Head zu kompilieren, stellen Sie sicher, dass Ihre Distribution auf die neueste Version aktualisiert ist!
| Skript | Beschreibung |
|---|---|
| piwritecard | Beispielskript zum Wiederherstellen einer SD-Karte |
| pireadcard | Beispielskript zum Sichern einer SD-Karte |
| hcxgrep.py | Extrahieren von Datensätzen aus m22000-Hashzeilen/hccapx/pmkid-Datei basierend auf Regexp |
Die meisten Ausgabedateien werden an vorhandene Dateien angehängt (mit Ausnahme von pcapng-, pcap-, cap-Dateien).
Es wird empfohlen, den Hash-Modus 22000 (22001) anstelle der veralteten Hash-Modi 2500 (2501) und 16800 (16801) zu verwenden.
hcxtools sind als Analysewerkzeuge konzipiert. Das bedeutet, dass standardmäßig alles konvertiert wird und unerwünschte Informationen herausgefiltert werden müssen!
Warnung: Mischen Sie keine Mitschriftdateien! Dies ZERSTÖRT Hashwerte, die durch benutzerdefinierte Blöcke zugewiesen wurden!
Die Werkzeuge führen KEINE NONCE-FEHLERKORREKTUREN durch! Bei Paketverlust erhalten Sie einen falschen PTK.
Dieser Branch ist ziemlich eng mit den Hashcat- und John-the-Ripper-Repositories synchronisiert.
Jeder EAPOL-Hash in der WPA*02*-Hashzeile wird aus zwei Handshake-Nachrichten aufgebaut.
Eine Nachricht liefert den EAPOL-Frame (der den zu verifizierenden MIC und ein bereits im Byte-Offset 17 eingebettetes Nonce enthält). Die andere Nachricht liefert das zweite Nonce, das nicht im Frame vorhanden ist.
Zusammen geben sie Hashcat alles, was es braucht: ANonce + SNonce + MIC + EAPOL-Frame.
Es gibt drei unabhängige Entscheidungen beim Erstellen eines Hashes aus einem vollständigen 4-Wege-Handshake:
Das ergibt 2 x 2 x 3 = 12 theoretische Kombinationen.
Aber der EAPOL-Frame enthält bereits ein Nonce, das bei Byte-Offset 17 eingebettet ist (SNonce in M2/M4, ANonce in M3). Hashcat extrahiert das automatisch. Es benötigt nur das andere Nonce extern geliefert. Das tatsächliche Modell ist also: 3 EAPOL-Quellen x 2 externe Nonce-Quellen = 6 Nachrichtenpaare.
Innerhalb einer Handshake-Sitzung tragen M1 und M3 denselben ANonce-Wert, und M2 und M4 tragen denselben SNonce-Wert. Ein Austausch der Nachricht, von der das externe Nonce stammt, ändert das Nonce selbst nicht. Daher erzeugt jedes Paar von Nachrichtenpaaren, das dieselbe EAPOL-Quelle teilt, einen identischen Hash. 6 Paare reduzieren sich auf 3 eindeutige Hashes, einen pro EAPOL-Quelle.
Die Zeilen sind nach EAPOL-Quelle (Hash 1/2/3) gruppiert. Paare innerhalb derselben Gruppe erzeugen identische knackbare Hashes.
Die ID-Spalte verwendet das Format N{Nonce-Quelle}E{EAPOL-Quelle}. Zum Beispiel bedeutet N1E2, dass das externe Nonce von M1 stammt und der EAPOL-Frame von M2.
„Herausforderung“ bedeutet, dass nur M1 und M2 benötigt wurden. Der AP hat noch nicht bestätigt, dass das Passwort korrekt war (M3 war nicht erforderlich). „Autorisiert“ bedeutet, dass M3 oder M4 beteiligt waren, die erst existieren, nachdem beide Seiten den MIC verifiziert haben. Das Passwort wurde sowohl gesendet als auch validiert.
Das Schlüssel-Nonce von M4 soll gemäß IEEE 802.11i-2004 Abschnitt 8.5.3.4 0 sein. Die meisten Implementierungen entsprechen der Spezifikation und setzen es auf Null. Einige verwenden stattdessen das SNonce von M2 erneut. Bei Nullsetzung sind die Nachrichtenpaare 0x01 und 0x05 unbrauchbar, da Hashcat nicht beide Nonces rekonstruieren kann. In der Praxis liefern die meisten Mitschriften nur Hash 1 und Hash 2.
Sie erwarten vielleicht, dass ich empfehle, dass jeder hcxdumptool/hcxtools verwenden sollte. Tatsache ist jedoch, dass hcxdumptool/hcxtools NICHT für unerfahrene Benutzer oder Neueinsteiger empfohlen wird.
Wenn Sie nicht allgemein mit Linux vertraut sind oder zumindest nicht über ein grundlegendes Wissen verfügen, wie im Abschnitt „Anforderungen“ erwähnt, ist hcxdumptool/hcxtools wahrscheinlich nicht das, was Sie suchen. Wenn Sie jedoch dieses Wissen haben, können hcxdumptool/hcxtools Wunder für Sie bewirken.
Das gesamte Toolkit (hcxdumptool und hcxtools) ist als Analyse-Toolkit konzipiert.
https://www.kernel.org/doc/html/latest/
https://www.kernel.org/doc/html/latest/bpf/index.html
https://www.freecodecamp.org/news/the-linux-commands-handbook/
https://en.wikipedia.org/wiki/Wpa2
| Werkzeug | Beschreibung |
|---|
| hcxpcapngtool | Werkzeug zum Konvertieren von Rohmitschriftdateien in Hashcat- und JtR-lesbare Formate. |
| hcxhashtool | Werkzeug zum Filtern von Hashes aus HC22000-Dateien basierend auf Benutzereingaben. |
| hcxpmktool | Werkzeug zum Berechnen und Verifizieren eines PSK und/oder eines PMK. |
| hcxpottool | Werkzeug zum Umgang mit dem ASCII-Format und verschiedenen UTF-Formaten der Hashcat-Potfile. |
| hcxpsktool | Werkzeug zum Ermitteln schwacher PSK-Kandidaten aus Hashdateien oder Benutzereingaben. |
| hcxeiutool | Werkzeug zum Aufbereiten der -E -I -U Ausgabe von hcxpcapngtool zur Verwendung mit Hashcat + Regel oder JtR + Regel. |
| hcxwltool | Werkzeug zum Berechnen von Kandidaten für Hashcat und JtR basierend auf gemischten Wörterlisten. |
| hcxhash2cap | Werkzeug zum Konvertieren von Hashdateien (PMKID&EAPOL, PMKID, EAPOL-hccapx, EAPOL-hccap, WPAPSK-john) in cap. |
| wlancap2wpasec | Werkzeug zum Hochladen mehrerer (gzip-komprimierter) pcapng-, pcap- und cap-Dateien auf https://wpa-sec.stanev.org |
| whoismac | Werkzeug zum Anzeigen von Herstellerinformationen und/oder Herunterladen der OUI-Referenzliste. |
| ID | Bits | Hex | Nachrichten | EAPOL von | Externes Nonce | Eindeutiger Hash | Status |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Hash 1 | Herausforderung, Standard |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Hash 1 | autorisiert, Standard |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | Hash 2 | autorisiert, --all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | Hash 2 | autorisiert, --all (erfordert M4-Nonce ungleich Null) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Hash 3 | autorisiert, --all (erfordert M4-Nonce ungleich Null) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Hash 3 | autorisiert, --all (erfordert M4-Nonce ungleich Null) |
| Bit | Hex | Bedeutung |
|---|
| 3 | 0x08 | Reserviert |
| 4 | 0x10 | AP-loser Angriff (keine Nonce-Fehlerkorrekturen notwendig) |
| 5 | 0x20 | LE-Router erkannt (Nonce-Fehlerkorrekturen nur für LE notwendig) |
| 6 | 0x40 | BE-Router erkannt (Nonce-Fehlerkorrekturen nur für BE notwendig) |
| 7 | 0x80 | Wiederholungszähler nicht geprüft (Nonce-Fehlerkorrekturen definitiv notwendig) |