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
J'ai regardé John le code source Ripper et votre syntaxe d'utiliser John The Ripper.
[.____] 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.
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 [.____]