A volte incontreremo questo problema. Ad esempio, se la password è in modalità abcdabcd e non c'è abcdabcd nel nostro dizionario, se lo generiamo, occuperà molto spazio. Esiste un modo per generare abcdabcd attraverso abcd? In hashcat, ovviamente, è possibile, in questa sezione, parleremo prima di questa modalità, ovvero la modalità di attacco combinazione dizionaria (il parametro è rappresentato come-a 1).
Innanzitutto, descriviamo il significato di-a 1 attraverso un semplice esempio, quindi ti portiamo passo dopo passo alla complessa applicazione di questo modello.
hashcat – a 1 – m 0 mima.txt – o outfile dic.txt dic.txt
Il significato di questo comando è utilizzare dic.txt Questo dizionario viene combinato per decifrare mima.txt. Se dic.txt è composto dal dizionario
mostrato nella figura seguente, allora la nuova coppia di mima.txt formata dopo la combinazione dei comandi è:
Ogni riga in dic.txt viene combinata con se stessa per formare un nuovo dizionario.
L'introduzione precedente è la combinazione dello stesso dizionario. Se si tratta di dizionari diversi, anche hashcat lo supporta. Il comando utilizzato è il seguente
significa che tutte le righe in dic1.txt sono combinate con tutte le righe in dic2.txt e il dizionario formato risolve mima.txt.
In quali circostanze viene utilizzata la modalità combinata? In modalità combinata, in genere, quando la password dell'utente è chiaramente divisa in due fasi, come: abcd1234, asdfasdf, aaa19770101,..., ecc., la password appare chiaramente nel paragrafo precedente e nel paragrafo successivo.
(1) Nella modalità di combinazione, hashcat attualmente può supportare solo due dizionari (o lo stesso dizionario 2 volte) per la combinazione e non può supportare più dizionari (più di 3 dizionari) o più di 3 attacchi combinati sullo stesso dizionario.
Cioè il seguente comando è sbagliato:
hashcat – A 1 – m 0 mima.txt – ooutfile dic.txt dic.txt
hashcat – A 1 – m 0 mima.txt – ooutfile dic1.txt dic2.txt dic3.txt
(2) Nella modalità combinata, le directory non sono supportate (nell'articolo precedente, nella modalità-a 0, è supportata l'intera directory), ovvero anche le due situazioni seguenti non sono funzionanti.
hashcat – a 1 – m 0 mima.txt – ooutfile/dic/
hashcat – a 1 – m 0 mima.txt – ooutfile/dic/*.txt
(3) Problemi di tempestività
Quando si utilizza la modalità di combinazione, se il dizionario è molto grande, ad esempio due dizionari sono 10.000.000, lo spazio combinato è 100.000.000.000.000, che equivale a 10.000.000 di dizionari (ciascun dizionario ha 10.000.000) attacchi, lo spazio è troppo grande e potrebbero verificarsi molte duplicazioni. Sebbene la copertura sia aumentata, la tempestività non è elevata.
Il brute force crack, come suggerisce il nome, consiste nell'esaurire violentemente lo spazio di testo in chiaro specificato, che è un metodo inesauribile (perché non c'è modo di ridurre lo spazio di esaurimento).
Prima di parlare ufficialmente di Brute Force Crack, parliamo di esaurimento dello spazio. Prendendo come esempio le comuni lettere minuscole + numeri, se la lunghezza della password è 4, lo spazio è 36**4=1679616, che non sembra grande e uscirà dopo un po'; Se la lunghezza della password è 8, il suo spazio è 36**8=2821109907456. Se il tempo di risoluzione è 1000.000.000 (1 miliardo di volte/s), il tempo di risoluzione è di circa 2820 secondi, circa 47 minuti, il che sembra essere sopportabile; Se la lunghezza della password è 10, il suo spazio è 36**10=3656158440062976. Se il tempo di risoluzione è 1000.000.000 (1 miliardo di volte/s), il tempo di risoluzione supera le 1000 ore, quindi non c'è modo di accettarlo.
Esistono molti tipi diversi di modalità brute force (parametri rappresentati come-a 3) in hashcat. Di seguito, ne parliamo uno per uno.
hashcat ha 8 set di caratteri predefiniti integrati, vale a dire l (26 lettere minuscole), u (26 lettere maiuscole), d (10 numeri), H (caratteri esadecimali minuscoli), H (caratteri esadecimali maiuscoli), s (caratteri speciali 31), A (raccolta di 95 caratteri interi di l, u, d, s) e b (binario
Esempio
(1) Se esauriamo lo spazio a 6 bit delle lettere minuscole, il comando è il seguente:
(2) Se esauriamo tutti i caratteri Il comando per utilizzare lo spazio a 8 bit è il seguente:
(3) Se esauriamo tutto lo spazio numerico con un intervallo di 4-6 bit, il comando è il seguente:
Qui viene aggiunto un parametro- -inrcement- -increment-min 4- -inrcement- -increment-max 6 rappresenta i valori minimo e massimo della lunghezza esauriente.
La modalità combinata qui è la modalità organizzativa nella modalità esaustiva, non la modalità (-a 1).
Un esempio diretto per spiegare:
(1) Una password esaurisce l'intervallo. Si ipotizza che la lunghezza della password sia 6. La prima cifra è l'intero set di caratteri, la seconda cifra è minuscola lettere e la terza cifra è maiuscola Le lettere, la quarta, la quinta e la sesta cifra sono l'intero set di caratteri, quindi il comando può utilizzare la seguente modalità:
(2) Diverse modalità di combinazione sono fornite di seguito,
Uno: Se l'intervallo di una password è maiuscola + numeri e la lunghezza è 6, il comando è il seguente:
Qui viene utilizzato-1? Io? Tu? d significa lettere maiuscole e minuscole + numeri.
2: Se l'intervallo esaustivo è di 6 cifre, la prima e la quarta cifra sono maiuscole + numeri, la seconda cifra è maiuscola, la terza e la quinta cifra sono maiuscole + numeri e la sesta cifra è un numero, allora il comando è il seguente:
Naturalmente, puoi anche specificare la lunghezza minima e la lunghezza massima, come mostrato nella figura seguente
In precedenza, abbiamo introdotto che hashcat ha 8 tipi di set di caratteri integrati, ma cosa succede se il set di caratteri richiesto dall'utente non rientra in questi 8 tipi? Cosa fare? Non importa, hashcat ha anche preparato ricche modalità di attacco brute force personalizzate per tutti.
Utilizzando il comando hashcat – h, puoi vedere che è definita la seguente modalità di utilizzo
Di seguito lo spieghiamo attraverso esempi uno per uno:
(1) Se la lunghezza della password è di 8 bit e ciascun bit è composto da "0123456789aqwcfhj,. < > = -_ +", è possibile utilizzare il seguente comando.
Puoi anche scrivere questi caratteri in un file, come char.txt, utilizzando il seguente comando.
(2) Se la lunghezza della password è di 8 bit, il primo, terzo e sesto bit sono in "43545yt", il secondo e quarto bit sono in "345dfv- = _ +" e il quinto e settimo bit sono in "9vjnbbf-brg" e l'ottavo bit è in "345fkfggh", è possibile utilizzare il seguente comando.
Naturalmente è anche possibile scrivere questi caratteri in file diversi, come char1.txt, … … …, utilizzando il seguente comando.
Nota: Alcuni simboli hanno significati speciali nella riga di comando, quindi quando ci sono simboli speciali nel set di caratteri, è meglio scriverli in forma di file.
(3) Sulla base di (2), aggiungere la lunghezza minima e la lunghezza massima, ad esempio 4-8 bit. Puoi utilizzare il seguente comando.
Nell'articolo precedente abbiamo introdotto l'uso di alcuni parametri. Oggi introdurremo alcuni parametri comunemente utilizzati. Oggi mi concentrerò sui parametri di visualizzazione dello schermo
. L'articolo precedente ha introdotto i comandi relativi all'output del file (-o/ - -outfile-format). Attraverso questi comandi, il risultato della decifratura della password hashcat può essere emesso in un determinato formato nel file. Ma durante l'esecuzione di hashcat, non possiamo vedere quali password hashcat ha decifrato. Se lavoriamo con hashcat, possiamo stampare direttamente la password decifrata da hashcat sullo schermo, il che sarà più intuitivo e conveniente. Ci sono esattamente diversi parametri in hashcat che possono restituire i risultati dell'esecuzione di hashcat sullo schermo.
Il comando show emetterà l'hash decifrato e la password memorizzati nella cache nel file pot nella finestra dello schermo.
Il comando left emetterà il valore hash non decifrato da hashcat sullo schermo
Il comando stdout non decifrerà la password, ma stamperà il contenuto del dizionario utilizzato per decifrare la password.
Hashcat ha molti comandi e i diversi parametri sono molto diversi. Se vuoi dare pieno gioco alle funzioni e funzioni di Hashcat, ti consigliamo di utilizzare di più Prova diversi comandi per familiarizzare con la combinazione di diversi comandi di Hashcat. Per la funzione dei parametri hashcat, puoi imparare dalla guida online hashcat (-h).