shadow文件是什么
"shadow文件"通常指的是Linux系统中的/etc/shadow文件。这个文件存储了系统用户的加密密码和相关的密码策略信息,是系统安全中非常重要的一部分。
具体来说,/etc/shadow文件包含了每个用户账号的密码哈希值(hash)、密码最后修改日期、密码过期时间、账号是否被锁定等信息。由于密码哈希值是加密存储的,这使得即使直接访问了/etc/shadow文件,也不容易获得用户的原始密码。
一般情况下,普通用户是无法直接查看/etc/shadow文件的内容的,因为它的访问权限通常被设置为只有系统管理员(root用户)可以读取。这样做是为了保护用户的密码信息不被非授权的用户获取。
管理/etc/shadow文件的工具通常包括passwd命令和相关的系统配置文件,如/etc/passwd和/etc/login.defs等。这些工具和文件共同确保了系统账户的安全和管理。
shadow文件格式
文件的格式为:
{用户名}:{加密后的口令密码}:{口令最后修改时间距原点(1970-1-1)的天数}:{口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令):{口令最大修改间隔}:{口令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}
其中{加密后的口令密码}的格式为 \$id\$salt\$encrypted
id为1时,采用md5算法加密
id为5时,采用SHA256算法加密
id为6时,采用SHA512算法加密
salt为盐值,是对密码进行hash的一个干扰值
encrypted为散列值
如何通过shadow文件得到账号密码
使用kali工具
john或hashcat即可科学得到密码下面演示
hashcat -m 1800 -a 0 hash fasttrack.txt
• -m 1800: 这是 Hashcat 中哈希类型的标识符。在这里,1800 表示 SHA-512crypt、SHA-512(Unix) 的哈希类型。这告诉 Hashcat 它需要尝试破解的哈希是哪种类型。
• -a 0: 这是 Hashcat 中攻击模式的标识符。-a 0 表示使用基本攻击模式,也就是直接尝试给定字典中的密码或生成密码并与哈希进行比较。这种模式适用于常见的密码破解。
• hash: 这里应该是你要破解的哈希值,它应该是哈希文件中实际的哈希字符串。
• fasttrack.txt: 字段