Linux旧密码文件 - 逆转

nol*_*oli 3 linux embedded-linux

我目前正试图"破解"linux嵌入式设备.该设备有一个不应该使用的telnet守护进程.无论如何,我从制造商网站上获取了二进制固件并成功提取了根文件系统.顺便说一句,我现在有/ etc/passwd文件.

passwd文件看起来像这样:

root:{10 char long}:0:0:root:/ bin:/ bin/sh

我的问题是:它可以是什么类型的哈希?crypt()哈希方法将返回13个字符串的字符串.

如果我知道哈希方法,我可以强制或替换它...

非常感谢你

kni*_*ttl 6

通常,密码哈希包含salt并使用散列算法.如果盐不启动,$则使用DES加密密码.

引用crypt(3)联机帮助页:

如果salt是以字符"$ id $"开头的字符串,后跟以"$"结尾的字符串:

  $id$salt$encrypted
Run Code Online (Sandbox Code Playgroud)

然后,id识别所使用的加密方法,然后确定如何解释密码字符串的其余部分,而不是使用DES机器.支持以下id值:

  ID  | Method
  ---------------------------------------------------------
  1   | MD5
  2a  | Blowfish (not in mainline glibc; added in some
      | Linux distributions)
  5   | SHA-256 (since glibc 2.7)
  6   | SHA-512 (since glibc 2.7)
Run Code Online (Sandbox Code Playgroud)

您应该能够通过插入例如(md5和空盐)来设置密码'test':

$1$$098f6bcd4621d373cade4e832627b4f6
Run Code Online (Sandbox Code Playgroud)