
Un petit ensemble d'outils pour convertir des paquets de fichiers de capture en fichiers de hachage utilisables avec Hashcat ou John the Ripper.
Un petit ensemble d'outils pour convertir des paquets de fichiers de capture en fichiers de hachage utilisables avec Hashcat ou John the Ripper.
Ces outils sont 100% compatibles avec Hashcat et John the Ripper et sont approuvés par Hashcat.
Le but principal de hcxtools est de détecter les points faibles de son propre réseau WiFi en analysant les hachages. Ainsi, la conversion du fichier de capture en fichier de hachage WPA-PBKDF2-PMKID+EAPOL permet à l'utilisateur de vérifier si la clé WLAN ou le PMK a été transmis en clair. Ou de télécharger le fichier de capture "non nettoyé" (pcapng, pcap, cap) ici pour savoir si votre point d'accès ou le client est vulnérable en utilisant des listes de mots courantes ou un algorithme de génération de mot de passe faible.
Prise en charge des modes de hachage Hashcat : 4800, 5500, 2200x, 16100, 250x (obsolète) et 1680x (obsolète).
Prise en charge des modes de hachage John the Ripper : WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm et tacacs-plus.
Prise en charge de la compression de fichier unique gzip (.gz).
Un aperçu du mode Hashcat 22000. - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Ancien article toujours applicable par atom des forums Hashcat couvrant une nouvelle attaque sur WPA/WPA2 utilisant PMKID. - (https://hashcat.net/forum/thread-7717.html)
Article sur le mode Hashcat 22000 par atom des forums Hashcat. - (https://hashcat.net/forum/thread-10253.html)
Non pris en charge : Windows OS, macOS, Android, émulateurs ou wrappers !
Ils ne craquent pas les hachages liés à WPA PSK. (Utilisez Hashcat ou JtR pour récupérer le PSK.)
Ils ne craquent pas le WEP. (Utilisez plutôt la suite aircrack-ng.)
Ils ne craquent pas le WPS. (Utilisez plutôt Reaver ou Bully.)
Ils ne déchiffrent pas le trafic chiffré. (Utilisez tshark ou Wireshark pour cela.)
hcxdumptool -> hcxpcapngtool -> hcxhashtool (hcxpsktool/hcxeiutool supplémentaires) -> hashcat ou JtR
Sur la plupart des distributions, hcxtools est disponible via le gestionnaire de paquets.
Si vous décidez de compiler la dernière tête git, assurez-vous que votre distribution est mise à jour vers sa dernière version et que tous les fichiers d'en-tête et dépendances sont installés !
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
Installation dans /usr/bin :
make install (en tant que superutilisateur)
Ou installation dans /usr/local/bin :
make install PREFIX=/usr/local (en tant que superutilisateur)
Vous pourriez vous attendre à ce que je recommande à tout le monde d'utiliser hcxdumptool/hcxtools. Mais en réalité, hcxdumptool/hcxtools n'est PAS recommandé pour les utilisateurs inexpérimentés ou les débutants.
Si vous n'êtes pas familier avec Linux en général ou si vous n'avez pas au moins un niveau de base des connaissances mentionnées dans la section "Prérequis", hcxdumptool/hcxtools n'est probablement pas ce que vous cherchez.
Cependant, si vous possédez ces connaissances, ces outils peuvent faire des merveilles.
Si vous décidez de compiler la dernière tête git, assurez-vous que votre distribution est mise à jour vers sa dernière version !
| Script | Description |
|---|---|
| piwritecard | Exemple de script pour restaurer une carte SD |
| pireadcard | Exemple de script pour sauvegarder une carte SD |
| hcxgrep.py | Extraire des enregistrements d'un fichier m22000/hccapx/pmkid basé sur une regexp |
La plupart des fichiers de sortie seront ajoutés aux fichiers existants (à l'exception des fichiers pcapng, pcap, cap).
Il est recommandé d'utiliser le mode de hachage 22000 (22001) au lieu des modes obsolètes 2500 (2501) et 16800 (16801).
hcxtools sont conçus comme des outils d'analyse. Cela signifie que tout est converti par défaut et que les informations indésirables doivent être filtrées !
Attention : Ne fusionnez pas les fichiers de capture ! Cela DÉTRUIRAIT les valeurs de hachage attribuées par des blocs personnalisés !
Les outils n'effectuent pas de CORRECTIONS D'ERREUR DE NONCE ! En cas de perte de paquets, vous obtiendrez un PTK erroné.
Cette branche est étroitement synchronisée avec les dépôts Hashcat et John the Ripper.
Chaque hachage EAPOL dans la ligne de hachage WPA*02* est construit à partir de deux messages de la poignée de main.
Un message fournit la trame EAPOL (qui contient le MIC à vérifier et un nonce déjà intégré au décalage d'octet 17).
L'autre message fournit le second nonce qui n'est pas présent dans la trame.
Ensemble, ils donnent à hashcat tout ce dont il a besoin : ANonce + SNonce + MIC + trame EAPOL.
Il y a trois choix indépendants lors de la construction d'un hachage à partir d'une poignée de main complète à 4 voies :
Cela donne 2 x 2 x 3 = 12 combinaisons théoriques.
Mais la trame EAPOL contient déjà un nonce intégré au décalage d'octet 17 (SNonce dans M2/M4, ANonce dans M3). Hashcat l'extrait automatiquement. Il a seulement besoin de l'autre nonce fourni en externe. Le modèle réel est donc : 3 sources EAPOL x 2 sources de nonce externes = 6 paires de messages.
Au sein d'une même session de poignée de main, M1 et M3 portent la même valeur ANonce, et M2 et M4 portent la même valeur SNonce. Échanger le message d'où provient le nonce externe ne change pas le nonce lui-même. Ainsi, chaque paire de paires de messages partageant la même source EAPOL produit un hachage identique. 6 paires se réduisent à 3 hachages uniques, un par source EAPOL.
Les lignes sont groupées par source EAPOL (Hachage 1/2/3). Les paires au sein d'un même groupe produisent des hachages craquables identiques.
La colonne ID utilise le format N{source nonce}E{source eapol}. Par exemple, N1E2 signifie que le nonce externe provient de M1 et la trame EAPOL provient de M2.
"défi" signifie que seuls M1 et M2 étaient nécessaires. Le point d'accès n'a pas encore confirmé que le mot de passe était correct (M3 n'était pas requis). "autorisé" signifie que M3 ou M4 ont été impliqués, qui n'existent qu'après que les deux côtés ont vérifié le MIC. Le mot de passe a été à la fois envoyé et validé.
Le Key Nonce de M4 doit être 0 selon IEEE 802.11i-2004 Section 8.5.3.4. La plupart des implémentations se conforment à la spécification et le mettent à zéro. Certaines réutilisent le SNonce de M2 à la place. Lorsqu'il est mis à zéro, les paires de messages 0x01 et 0x05 sont inutilisables car hashcat ne peut pas reconstruire les deux nonces. En pratique, la plupart des captures ne produisent que Hachage 1 et Hachage 2.
Vous pourriez vous attendre à ce que je recommande à tout le monde d'utiliser hcxdumptool/hcxtools. Mais en réalité, hcxdumptool/hcxtools n'est PAS recommandé pour les utilisateurs inexpérimentés ou les débutants.
Si vous n'êtes pas familier avec Linux en général ou si vous n'avez pas au moins un niveau de base des connaissances mentionnées dans la section "Prérequis", hcxdumptool/hcxtools n'est probablement pas ce que vous cherchez. Cependant, si vous possédez ces connaissances, hcxdumptool/hcxtools peut faire des merveilles pour vous.
L'ensemble de la boîte à outils (hcxdumptool et hcxtools) est conçu comme une suite d'analyse.
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
| Outil | Description |
|---|
| hcxpcapngtool | Outil pour convertir des fichiers de capture bruts en formats lisibles par Hashcat et JtR. |
| hcxhashtool | Outil pour filtrer les hachages de fichiers HC22000 selon une entrée utilisateur. |
| hcxpmktool | Outil pour calculer et vérifier un PSK et/ou un PMK. |
| hcxpottool | Outil pour gérer le format ASCII et plusieurs formats UTF du fichier pot de hashcat. |
| hcxpsktool | Outil pour obtenir des candidats PSK faibles à partir de fichiers de hachage ou d'une entrée utilisateur. |
| hcxeiutool | Outil pour préparer la sortie -E -I -U de hcxpcapngtool pour une utilisation avec Hashcat + règle ou JtR + règle. |
| hcxwltool | Outil pour calculer des candidats pour Hashcat et JtR à partir de listes de mots mélangées. |
| hcxhash2cap | Outil pour convertir des fichiers de hachage (PMKID&EAPOL, PMKID, EAPOL-hccapx, EAPOL-hccap, WPAPSK-john) en cap. |
| wlancap2wpasec | Outil pour téléverser plusieurs fichiers pcapng, pcap et cap (compressés gzip) vers https://wpa-sec.stanev.org |
| whoismac | Outil pour afficher les informations du fabricant et/ou télécharger la liste de référence OUI. |
| ID | Bits | Hex | Messages | EAPOL de | Nonce externe | Hachage unique | Statut |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Hachage 1 | défi, par défaut |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Hachage 1 | autorisé, par défaut |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | Hachage 2 | autorisé, --all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | Hachage 2 | autorisé, --all (nécessite un nonce M4 non nul) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Hachage 3 | autorisé, --all (nécessite un nonce M4 non nul) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Hachage 3 | autorisé, --all (nécessite un nonce M4 non nul) |
| Bit | Hex | Signification |
|---|
| 3 | 0x08 | Réservé |
| 4 | 0x10 | Attaque sans point d'accès (pas de corrections d'erreur de nonce nécessaires) |
| 5 | 0x20 | Routeur LE détecté (corrections d'erreur de nonce nécessaires uniquement pour LE) |
| 6 | 0x40 | Routeur BE détecté (corrections d'erreur de nonce nécessaires uniquement pour BE) |
| 7 | 0x80 | Replaycount non vérifié (corrections d'erreur de nonce définitivement nécessaires) |