我目前正试图“破解”一个linuxembedded式设备。 这个设备有一个不应该被使用的telnet守护进程。 无论如何,我已经从manufacter网站取得了二进制固件,并已成功提取了根文件系统。 顺便说一下,我现在有/ etc / passwd文件。
passwd文件如下所示:
root:{10 char long}:0:0:root:/ bin:/ bin / sh
我的问题是:它可能是什么types的散列? 一个crypt()哈希方法将返回一个13字符的string。
如果我知道哈希方法,我可以蛮力或取代它…
非常感谢你
密码散列通常包含salt和使用的散列算法。 如果salt不以$
DES开头,则用于加密密码。
从crypt(3)手册页引用:
如果salt是以字符“$ id $”开头的字符串,然后是以“$”结尾的字符串:
$id$salt$encrypted
那么不是使用DES机器,而是使用id标识所使用的加密方法,然后确定如何解释密码字符串的其余部分。 支持以下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)
你应该可以通过插入例如(md5和空盐)来设置密码“测试”:
$1$$098f6bcd4621d373cade4e832627b4f6
您不需要手工绘制格式。 一般来说,如果你把passwd文件直接传给John The Ripper,它会自动检测并强制你的密码。