我查看了 John the ripper 源代码和您使用 John The Ripper 的语法。
- 在 john 中,开膛手动态哈希子格式盐的长度是有限的。
src/dynamic_preloads.c:
静态 DYNAMIC_Setup 设置 [] =
{
{ “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 },
...
...
...
例如 dynamic_0 是 32 字节,dynamic_4 是 24 字节,dynamic_5 是 12 字节,并且 ... 。
您必须修改源代码并重新编译 JTR 以支持超过默认值 salts 。
- 在 passwd 文件中不允许使用 dynamic_4 字段。
破解盐渍哈希的简单方法:
sajjad@xxx:~/Downloads/john-1.7.9-jumbo-7/run$ cat pass.txt
管理员:d5fedea70cf14c3191fc8e94fe4ca8b9$Y0g7Wx78AdpjIdZd
sajjad@xxx:~/Downloads/john-1.7.9-jumbo-7/run$ ./john -form=dynamic_1 -w=password.lst pass.txt
已加载 1 个密码哈希 (dynamic_1: md5($p.$s) (joomla) [128x1 (MD5_Body)])
管理员(管理员)
...
...
...
为了显示破解密码,使用--show
选项
sajjad@xxx:~/Downloads/john-1.7.9-jumbo-7/run$ ./john --show pass.txt