John the ripper in formato file passwd con sale non funzionante

3

Sto provando la forza della password di test in uno dei nostri siti di e-commerce. Sto usando john the ripper per forzare un file di password. L'algoritmo utilizzato da PHP è:

$hash = md5($salt . $pass)

Nessuna altra trasformazione viene eseguita né nel $ sale o nel passaggio, ho controllato manualmente un esempio. Ho trovato nella documentazione che il sub-formato che accompagna l'algoritmo è dynamic_4. Il problema è che il formato di file passwd come scritto nella documentazione, non sembra funzionare, John non è in grado di caricare gli hash, questo è il formato che ho usato:

// user:$dynamic_4$hash$salt
emi:$dynamic_4$83a3f08cfb2d9d0bac5d1a1619d8b7dd$Z3MkG2FZsaoV9EDCpmSRWvgANQAeXOeN7oadrAugu0rKEvfKqoNj6D9a

Ho provato a cambiare il sale per l'hash ma ancora niente

Ho provato la seguente combinazione di parametri:

john --single passwd
john --format=dynamic_4 --single passwd
john --subformat=dynamic_4 --single passwd
john --format=md5 --single passwd
john --format=raw-md5 --single passwd
    
posta user2253620 20.09.2013 - 18:22
fonte

1 risposta

4

Ho guardato il codice sorgente di John the Ripper e la sintassi di usare John The Ripper.

  • In john i formati di hash di hash dinamici del ripper sono limitati.
src/dynamic_preloads.c: 

static DYNAMIC_Setup Setups[] =
{
    { "dynamic_0: md5($p) (raw-md5)",           _Funcs_0, _Preloads_0, _ConstDefault, MGF_NO_FLAG, MGF_KEYS_INPUT },
    { "dynamic_1: md5($p.$s) (joomla)",         _Funcs_1, _Preloads_1, _ConstDefault, MGF_SALTED, MGF_NO_FLAG, -32 },
    { "dynamic_2: md5(md5($p)) (e107)",         _Funcs_2, _Preloads_2, _ConstDefault, MGF_NO_FLAG, MGF_KEYS_INPUT|MGF_SET_INP2LEN32 },
    { "dynamic_3: md5(md5(md5($p)))",           _Funcs_3, _Preloads_3, _ConstDefault, MGF_NO_FLAG, MGF_KEYS_INPUT|MGF_SET_INP2LEN32 },
    { "dynamic_4: md5($s.$p) (OSC)",            _Funcs_4, _Preloads_4, _ConstDefault, MGF_SALTED, MGF_NO_FLAG, -24  },
    { "dynamic_5: md5($s.$p.$s)",               _Funcs_5, _Preloads_5, _ConstDefault, MGF_SALTED, MGF_NO_FLAG, -12, 31, 56  },
    { "dynamic_6: md5(md5($p).$s)",             _Funcs_6, _Preloads_6, _ConstDefault, MGF_SALTED, MGF_KEYS_BASE16_IN1, -23, 55, 80 },
    ...
    ...
    ...

ad esempio dynamic_0 è 32 byte, dynamic_4 è 24 byte, dynamic_5 è 12 byte e ....

Devi modificare il codice sorgente e ricompilare JTR per supportare più del valore defualt per i sali.

    Il campo
  • dynamic_4 non è consentito nel file passwd.

Semplice cracking di un hash salato:

sajjad@xxx:~/Downloads/john-1.7.9-jumbo-7/run$ cat pass.txt
admin:d5fedea70cf14c3191fc8e94fe4ca8b9$Y0g7Wx78AdpjIdZd

sajjad@xxx:~/Downloads/john-1.7.9-jumbo-7/run$ ./john -form=dynamic_1 -w=password.lst pass.txt
Loaded 1 password hash (dynamic_1: md5($p.$s)  (joomla)  [128x1 (MD5_Body)])
admin            (admin)
    ...
    ...
    ...

Per mostrare la password incrinata, usa l'opzione --show

sajjad@xxx:~/Downloads/john-1.7.9-jumbo-7/run$ ./john --show pass.txt
    
risposta data 20.09.2013 - 20:14
fonte

Leggi altre domande sui tag