如何解码 /etc/shadow 中的哈希密码

如何解码 /etc/shadow 中的哈希密码

我对 Ubuntu 不太了解,但 Ubuntu 能解码这类东西吗?还是我需要安装某个程序?如果不安装,我该如何使用 Ubuntu 读取文件?

答案1

您需要安装“John the Ripper”。

$ apt install john

然后只有 2 个命令

$ unshadow /etc/passwd /etc/shadow > mypasswd.txt 
$ john mypasswd.txt

完成后(4 位数字的密码需要 1-5 分钟),您将看到所需的密码。

$ john --show mypasswd.txt

答案2

简而言之 - 你不能!

/etc/shadow存储哈希密码的版本。无论出于何种目的,这都是不可能恢复的,因为散列是一种单向操作。

这可以阻止恶意人员读取系统上用户的密码。

答案3

事情是这样的。您无法解密散列密码,这会破坏散列的意义。

哈希算法的基本工作原理是,你取一个随机字符串,然后将其与密码混合(使用某种算法),使其完全不可读。然后你将这个密码 + 哈希存储在数据库中。

那么你怎么知道正确的密码是什么?好吧,你输入密码并采用相同的哈希字符串,然后你将获得相同的哈希值。然后只需比较这些哈希值,你就知道密码是否正确。

您可以找出用户使用的密码,但您需要知道使用什么哈希字符串对其进行哈希处理,还需要知道使用了什么哈希算法。最后,解决方案仍然是暴力破解密码(尝试每种组合),然后对其进行哈希处理,看看它是否与存储在数据库中的哈希值匹配。因此,总而言之,您可以“解密”哈希密码,但这并不容易。

关于该主题的有用链接:

答案4

Ubuntu 无法解密密码,但您可能会发现john有用:

http://manpages.ubuntu.com/manpages/jaunty/en/man8/john.8.html

相关内容