
Un piccolo insieme di strumenti per convertire pacchetti da file di cattura in file hash da utilizzare con Hashcat o John the Ripper.
Un piccolo set di strumenti per convertire pacchetti da file di cattura in file hash per l'uso con Hashcat o John the Ripper.
Questi strumenti sono compatibili al 100% con Hashcat e John the Ripper e sono approvati da Hashcat.
Lo scopo principale di hcxtools è rilevare punti deboli all'interno della propria rete WiFi analizzando gli hash. Pertanto, la conversione del file di dump in file hash WPA-PBKDF2-PMKID+EAPOL consente all'utente di verificare se la WLAN-KEY o il PMK sono stati trasmessi in chiaro. Oppure caricare il file di dump "non ripulito" (pcapng, pcap, cap) qui per scoprire se il proprio AP o CLIENT è vulnerabile utilizzando wordlist comuni o un algoritmo di generazione di password debole.
Supporto per le modalità hash di Hashcat: 4800, 5500, 2200x, 16100, 250x (deprecato) e 1680x (deprecato).
Supporto per le modalità hash di John the Ripper: WPAPSK-PMK, PBKDF2-HMAC-SHA1, chap, netntlm e tacacs-plus.
Supporto per la compressione di singoli file gzip (.gz).
Una panoramica della modalità Hashcat 22000. - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Vecchio ma ancora valido articolo di atom dei forum di Hashcat che descrive un nuovo attacco a WPA/WPA2 utilizzando PMKID. - (https://hashcat.net/forum/thread-7717.html)
Articolo sulla modalità Hashcat 22000 di atom dei forum di Hashcat. - (https://hashcat.net/forum/thread-10253.html)
Non supportato: Sistema operativo Windows, macOS, Android, emulatori o wrapper!
Non decifrano gli hash correlati a WPA PSK. (Usare Hashcat o JtR per recuperare il PSK.)
Non decifrano WEP. (Usare invece la suite aircrack-ng.)
Non decifrano WPS. (Usare invece Reaver o Bully.)
Non decifrano il traffico crittografato. (Usare tshark o Wireshark per farlo.)
hcxdumptool -> hcxpcapngtool -> hcxhashtool (hcxpsktool/hcxeiutool aggiuntivi) -> hashcat o JtR
Sulla maggior parte delle distribuzioni, hcxtools sono disponibili tramite il gestore di pacchetti.
Se decidi di compilare l'ultimo git head, assicurati che la tua distribuzione sia aggiornata all'ultima versione e che tutti i file header e le dipendenze siano installati!
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
Installa in /usr/bin:
make install (come superutente)
Oppure installa in /usr/local/bin:
make install PREFIX=/usr/local (come superutente)
Potresti aspettarti che io raccomandi che tutti dovrebbero usare hcxdumptool/hcxtools. Ma la realtà dei fatti è che hcxdumptool/hcxtools NON è raccomandato per essere utilizzato da utenti inesperti o principianti. Se non hai familiarità con Linux in generale o se non hai almeno un livello di conoscenza di base come menzionato nella sezione "Requisiti", probabilmente hcxdumptool/hcxtools non è ciò che stai cercando. Tuttavia, se possiedi quella conoscenza, questi strumenti possono fare magie.
Se decidi di compilare l'ultimo git head, assicurati che la tua distribuzione sia aggiornata all'ultima versione!
| Script | Descrizione |
|---|---|
| piwritecard | Script di esempio per ripristinare la scheda SD |
| pireadcard | Script di esempio per eseguire il backup della scheda SD |
| hcxgrep.py | Estrae record da file m22000/hccapx/pmkid in base a regexp |
La maggior parte dei file di output verrà aggiunta a file esistenti (ad eccezione dei file pcapng, pcap, cap).
Si consiglia di utilizzare la modalità hash 22000 (22001) invece delle modalità hash deprecate 2500 (2501) e 16800 (16801).
hcxtools sono progettati per essere strumenti di analisi. Ciò significa che tutto viene convertito per impostazione predefinita e le informazioni indesiderate devono essere filtrate!
Attenzione: Non unire file di dump! Questo DISTRUGGERÀ i valori hash assegnati da blocchi personalizzati!
Gli strumenti NON eseguono CORREZIONI DI ERRORI NONCE! In caso di perdita di pacchetti, otterrai un PTK errato.
Questo branch è abbastanza strettamente sincronizzato con i repository di Hashcat e John the Ripper.
Ogni hash EAPOL nella riga hash WPA*02* è costruito da due messaggi di handshake.
Un messaggio fornisce il frame EAPOL (che contiene il MIC da verificare e un nonce già incorporato all'offset di byte 17). L'altro messaggio fornisce il secondo nonce non presente nel frame.
Insieme danno a hashcat tutto ciò di cui ha bisogno: ANonce + SNonce + MIC + frame EAPOL.
Ci sono tre scelte indipendenti quando si costruisce un hash da un handshake a 4 vie completo:
Ciò dà 2 x 2 x 3 = 12 combinazioni teoriche.
Ma il frame EAPOL contiene già un nonce incorporato all'offset di byte 17 (SNonce in M2/M4, ANonce in M3). Hashcat lo estrae automaticamente. Ha solo bisogno dell'altro nonce fornito esternamente. Quindi il modello reale è: 3 fonti EAPOL x 2 fonti di nonce esterno = 6 coppie di messaggi.
All'interno di una singola sessione di handshake, M1 e M3 trasportano lo stesso valore ANonce, e M2 e M4 trasportano lo stesso valore SNonce. Scambiare il messaggio da cui proviene il nonce esterno non cambia il nonce stesso. Quindi ogni coppia di coppie di messaggi che condividono la stessa fonte EAPOL produce un hash identico. 6 coppie si riducono a 3 hash unici, uno per fonte EAPOL.
Le righe sono raggruppate per fonte EAPOL (Hash 1/2/3). Le coppie all'interno dello stesso gruppo producono hash decifrabili identici.
La colonna ID utilizza il formato N{fonte nonce}E{fonte eapol}. Ad esempio, N1E2 significa che il nonce esterno proviene da M1 e il frame EAPOL proviene da M2.
"Challenge" significa che sono stati necessari solo M1 e M2. L'AP non ha ancora confermato che la password fosse corretta (M3 non era necessario). "Autorizzato" significa che M3 o M4 sono stati coinvolti, che esistono solo dopo che entrambe le parti hanno verificato il MIC. La password è stata sia inviata che convalidata.
Il Key Nonce di M4 deve essere 0 secondo IEEE 802.11i-2004 Sezione 8.5.3.4. La maggior parte delle implementazioni è conforme alla specifica e lo azzera. Alcune riutilizzano invece il SNonce di M2. Quando azzerato, le coppie di messaggi 0x01 e 0x05 sono inutilizzabili perché hashcat non può ricostruire entrambi i nonce. In pratica, la maggior parte delle catture produce solo Hash 1 e Hash 2.
Potresti aspettarti che io raccomandi che tutti dovrebbero usare hcxdumptool/hcxtools. Ma la realtà dei fatti è che hcxdumptool/hcxtools NON è raccomandato per essere utilizzato da utenti inesperti o principianti.
Se non hai familiarità con Linux in generale o non hai almeno un livello di conoscenza di base come menzionato nella sezione "Requisiti", probabilmente hcxdumptool/hcxtools non è ciò che stai cercando. Tuttavia, se possiedi quella conoscenza, hcxdumptool/hcxtools può fare magie per te.
L'intero toolkit (hcxdumptool e hcxtools) è progettato per essere un toolkit di analisi.
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
| Strumento | Descrizione |
|---|
| hcxpcapngtool | Strumento per convertire file di cattura grezzi in formati leggibili da Hashcat e JtR. |
| hcxhashtool | Strumento per filtrare hash da file HC22000 in base all'input dell'utente. |
| hcxpmktool | Strumento per calcolare e verificare un PSK e/o un PMK. |
| hcxpottool | Strumento per gestire il formato ASCII e diversi formati UTF del file pot di hashcat. |
| hcxpsktool | Strumento per ottenere candidati PSK deboli da file hash o input utente. |
| hcxeiutool | Strumento per preparare l'output -E -I -U di hcxpcapngtool per l'uso con Hashcat + regola o JtR + regola. |
| hcxwltool | Strumento per calcolare candidati per Hashcat e JtR basati su wordlist miste. |
| hcxhash2cap | Strumento per convertire file hash (PMKID&EAPOL, PMKID, EAPOL-hccapx, EAPOL-hccap, WPAPSK-john) in cap. |
| wlancap2wpasec | Strumento per caricare più file pcapng, pcap e cap (compressi con gzip) su https://wpa-sec.stanev.org |
| whoismac | Strumento per mostrare informazioni sul fornitore e/o scaricare l'elenco di riferimento oui. |
| ID | Bit | Hex | Messaggi | EAPOL da | Nonce esterno | Hash unico | Stato |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | Hash 1 | challenge, default |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | Hash 1 | autorizzato, default |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | Hash 2 | autorizzato, --all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | Hash 2 | autorizzato, --all (richiede nonce M4 non nullo) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | Hash 3 | autorizzato, --all (richiede nonce M4 non nullo) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | Hash 3 | autorizzato, --all (richiede nonce M4 non nullo) |
| Bit | Hex | Significato |
|---|
| 3 | 0x08 | Riservato |
| 4 | 0x10 | Attacco senza AP (nessuna correzione di errore nonce necessaria) |
| 5 | 0x20 | Router LE rilevato (correzioni di errore nonce solo per LE necessarie) |
| 6 | 0x40 | Router BE rilevato (correzioni di errore nonce solo per BE necessarie) |
| 7 | 0x80 | Replaycount non controllato (correzioni di errore nonce sicuramente necessarie) |