如何从 /etc/shadow 逆向工程密码

信息安全 密码 哈希 linux
2021-08-28 08:57:05

我未能在 CaptureTheFlag 事件中回答问题,这个问题仍然困扰着我。我想在这里分享这个问题,如果您知道解决方案,请帮助我。

问:你有一个 linux 机器的影子文件。请找到管理员密码。而影子文件的内容是

root:*:17277:0:99999:7:::
daemon:*:17272:0:99999:7:::
bin:*:17272:0:99999:7:::
sys:*:17272:0:99999:7:::
sync:*:17272:0:99999:7:::
games:*:17272:0:99999:7:::
man:*:17272:0:99999:7:::
lp:*:17272:0:99999:7:::
mail:*:17272:0:99999:7:::
news:*:17272:0:99999:7:::
uucp:*:17272:0:99999:7:::
proxy:*:17272:0:99999:7:::
www-data:*:17272:0:99999:7:::
backup:*:17272:0:99999:7:::
list:*:17272:0:99999:7:::
irc:*:17272:0:99999:7:::
gnats:*:17272:0:99999:7:::
nobody:*:17272:0:99999:7:::
avahi:*:17272:0:99999:7:::
sshd:*:17272:0:99999:7:::
admin:$6$/iIQV39h$ZpQpavCJ5xo2GshqMtkSMsBxaGA9WBwqmtBwyszeE9zdy9546eBb45LdqKyF9/BE3nAS.w/26dJBZ74mDB2Kl/:17401:0:99999:7:::

从可用信息中,我发现密码是使用带有盐的 SHA512 散列的。

由于 SHA512 是一种非常强大的单向哈希算法,我不知道要对密码进行逆向工程。

(这个问题必须有正确答案,因为其他一些活动参与者回答正确。)

2个回答

使用JTR的蛮力攻击将密码显示为qwertyuiop

root@pro5:~/hack# john file.txt 
Loaded 1 password hash (crypt, generic crypt(3) [?/32])
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:14 40% 1/3 0g/s 67.89p/s 67.89c/s 67.89C/s :99999..DrAdmin
qwertyuiop       (admin)
1g 0:00:01:15 100% 2/3 0.01325g/s 68.11p/s 68.11c/s 68.11C/s samsung..britney
Use the "--show" option to display all of the cracked passwords reliably
Session completed
root@proc5:~/hack#

它用我的旧电脑在不到 5 分钟的时间内破解了密码,因为它是一个弱密码。如果密码强度很高,则需要更多时间来破解它。

这个挑战似乎是关于暴力破解密码。可能您需要遍历一个单词列表并使用特定的盐对所有密码进行散列,然后将其与散列进行比较。

例如 mkpasswd -m sha-512 PASSWORD SALT

你会用你所有的密码循环这个,看看是否有任何匹配。