根据hint提示说:
The flag06 account credentials came from a legacy unix system.
这里要先介绍一下unix下的密码策略:
Unix 系统最初是用明文保存密码的,后来由于安全的考虑,采用crypt()算法加密密码并存放在/etc/passwd文件。现在,由 于计算机处理能力的提高,使密码破解变得越来越容易。/etc/passwd文件是所有合法用户都可访问的,大家都可互相看到密码的加密字符串,这给系统 带来很大的安全威胁。现代的Unix系统使用影子密码系统,它把密码从/etc/pa sswd文件中分离出来,真正的密码保存在/etc/shadow文件中,shadow文件只能由超级用户访问。这样入侵者就不能获得加密密码串,用于破 解。使用shadow密码文件后,/etc/passwd文件中所有帐户的password域的内容为"x",如果password域的内容为"*",则 该帐号被停用。使用passwd这个程序可修改用户的密码
unix下加密算法:
起初密码用DES算法加密,但因随DES加密破解难度的降低,已用其他加密算法替代DES。
/etc/shadow中的密码格式:
以下为id下不同加密算法:
/etc/passwd文件的格式:
username:passwd:UID:GID:full_name:directory:shell
/etc/shadow文件的每行由9个字段组成,以":"作为字段分隔符。每个字段的说明:
用户名(login name)。
加密后的密码(形如:$1$2eWq10AC$NaQqalCk3InEPBrIxjaJQ1)。如果密码是"*"或"!",则表示这个不会用这个帐号来登录(通常是一些后台进程)。
密码最后修改时间,从1970年1月1日起计算的天数。
不可修改密码的天数。如果是0,表示随时可修改密码。如果是N,表示N天后才能修改密码。
密码可以维系的天数。如果设置为N,则表示N天后必须更新密码。设置为99999通常表示无需更新密码。
在密码必须修改前的N天,就开始提示用户需要修改密码。
密码过期的宽限时间。
帐号失效时间。也是UNIX时间戳格式。
最后一个字段是保留字段。