web-dev-qa-db-fra.com

John le format de fichier passwd de Ripper avec du sel ne fonctionne pas

J'essaie de tester la force du mot de passe dans l'un de nos sites de commerce électronique. J'utilise John le ripper pour brut-force un fichier de mot de passe. L'algorithme utilisé par PHP est-il:

$hash = md5($salt . $pass)

Aucune autre transformation n'est effectuée ni dans le sel $ ou dans la passe, j'ai vérifié manuellement un exemple. J'ai trouvé dans la documentation selon laquelle le sous-format qui va avec l'algorithme est dynamic_4. Le problème est que le format de fichier passwd comme écrit dans la documentation, ne semble pas fonctionner, John est incapable de charger les hachages, c'est le format que j'ai utilisé:

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

J'ai essayé de changer le sel pour le hash mais toujours rien

J'ai essayé la combinaison de paramètres suivante:

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
3
user2253620

J'ai regardé John le code source Ripper et votre syntaxe d'utiliser John The Ripper.

  • Dans John, les sous-formats de hachage dynamiques de Ripper Sels Lenght sont limités.
[.____] SRC/dynamic_preloads.ca: [.____] [.____] 
 Statiques dynamic_setup configurations [] = [.____] {"dynamic_0: MD5 ($ p) (RAW- MD5) ", _funcs_0, _preloads_0, _CONSTDefault, mgf_no_flag, mgf_keys_input}, [ , { "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_base 16_in1, -23, 55, 80}, [.____] ... 
 ... 
 ...] ...] ...] [.____]

par exemple dynamic_0 est de 32 octets, dynamic_4 est de 24 octets, 12 octets est dynamic_5, et ....

Vous devez modifier le code source et recompiler JTR pour prendre en charge plus que la valeur de défaution pour les sels.


  • le champ dynamic_4 n'est pas autorisé dans le fichier PasswD.

Simple de craquage d'un hachage salé:

[.____] Sajjad @ xxx: ~/Téléchargements/John-1.7.9-Jumbo-7/Jumbo-7/Run $ Cat Pass.Txt [ @xxx: ~/Téléchargements/John-1.7.9-Jumbo-7/Run $ ./john -form = dynamic_1 -w = mot de passe.lst passe.txt 
 chargé 1 mot de passe hachage (dynamic_1: MD5 ($ p. $ s) (joomla) [128x1 (MD5_Body)]) 
 admin (admin) 
 ... 
 ... 
 ... 

Afin de montrer le mot de passe fissuré, utilisez le --show L'option

[.____] Sajjad @ xxx: ~/Téléchargements/John-1.7.9-Jumbo-7/Run $ ./john --Show Pass.txt [.____]
4
Sajjad Pourali