开膛手约翰不破解密码

信息安全 密码破解 sha256
2021-08-29 15:55:51

我想攻击一个自行创建的 sha256 哈希 john --wordlist=

到目前为止,我已经完成了以下工作:

$ echo 'testpassword' | sha256sum > mypassword

用 vim 删除了输出的尾部

$ cat mypassword
dc460da4ad72c482231e28e688e01f2778a88ce31a08826899d54ef7183998b5

与约翰渗透

$ john --wordlist=list.txt --format=raw-sha256 mypassword

结果:

Using default input encoding: UTF-8
Loaded 1 password hash (Raw-SHA256 [SHA256 128/128 SSE2 4x])
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:06 DONE (2017-01-06 12:47) 0g/s 2347Kp/s 2347Kc/s 2347KC/s
Session completed

展示

$ john --show mypassword
0 password hashes cracked, 1 left

我做错了什么?raw-sha256不是格式不对?测试密码肯定在单词表中。

1个回答

您的字符串末尾有一个意外的换行符。用于-n省略尾随换行符:

echo -n '测试密码' | sha256sum > 我的密码

否则你最终会得到一个不同的哈希值:

$ echo testpassword | sha256sum
e0d7d338cb1259086d775c964fba50b2a84244ba4cd2815e9f6f4a8d9daaa656 -
$ echo -n 测试密码 | sha256sum
9f735e0df9a1ddc702bf0a1a7b83033f9f7153a00c29de82cedadc9957289b05 -

然后像你一样继续。

演示:

$ echo -n "abc123" | sha256sum | 剪切 -f 1 -d " " > 密码
$ john --format=raw-sha256 密码
$ 约翰 -- 显示密码
?:abc123

1 个密码散列被破解,剩下 0 个

(我曾经cut删除哈希后的连字符。)