Come si crack 'hash sale + SHA256 (salt + password)' con JTR?

3

Ho un set di hash delle password. Esempio:

9e74437e97ff201ff38416138a22a7f3adfa3b9c10e947481bd94b16eed7df6b6e2806

Dal codice sorgente dell'applicazione che genera questo hash ho appreso che il sale è anteposto come i primi 6 caratteri e l'algo complessivo che produce l'hash è:

salt + SHA256(salt + password)

Conoscendo la password in chiaro per il suddetto hash ( helloworld ) sono stato in grado di confermare la mia ipotesi ricavata dal codice sorgente sulla riga di comando di Linux (comando + risultato):

printf 9e7443helloworld | sha256sum
7e97ff201ff38416138a22a7f3adfa3b9c10e947481bd94b16eed7df6b6e2806  -

Ora come ho detto ho un set di quegli hash e mi piacerebbe impostare John The Ripper contro di loro e usare l'attacco del dizionario. Immagino che possa essere fatto usando --rules flag e fornendo file di configurazione personalizzati con regole personalizzate. Ma non sono sicuro che questo sia il modo giusto e non abbia familiarità con le regole di manomissione di JTR.

Puoi indicarmi come raggiungere il mio obiettivo con JTR?

    
posta golem 29.06.2015 - 01:59
fonte

2 risposte

6

per quanto ne so l'opzione --rules ti consente solo di definire le regole per la password che l'utente può utilizzare (foobar, foobar123, f00bar ...).

--format corrisponde al formato dell'hash: ci sono molte regole predefinite ( link ), quindi puoi modificare il tuo file nel formato salt:md5(salt+password) , ad esempio 9e7443:7e97ff201ff38416138a22a7f3adfa3b9c10e947481bd94b16eed7df6b6e2806 e trovare un formato che elabora username:md5(username+password) per esempio.

Un'altra opzione potrebbe essere quella di utilizzare script dinamici ( link ). Questo metodo sarà più complicato ma anche più flessibile.

    
risposta data 29.06.2015 - 14:02
fonte
3

La soluzione era usare i formati dinamici predefiniti. Usando il campione della mia domanda l'ho salvato in hashes.txt nel seguente formato:

username:7e97ff201ff38416138a22a7f3adfa3b9c10e947481bd94b16eed7df6b6e2806$9e7443

E poi usato il formato dinamico predefinito:

john --format=dynamic_61 hashes.txt

Il comando per elencare tutti i formati dinamici con JTR-jumbo:

john --list=subformats
    
risposta data 29.06.2015 - 19:10
fonte

Leggi altre domande sui tag