前言

1.liunx中的shadow文件

Linux/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:

1
2
3
4
5
6
7
8
9
10
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

- “登录名”是与/etc/passwd文件中的登录名相一致的用户账号
- “口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
- “最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是197011日。
- “最小时间间隔”指的是两次修改口令之间所需的最小天数。
- “最大时间间隔”指的是口令保持有效的最大天数。
- “警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
- “不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
- “失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

一、破解它

1.打开题目

在这里插入图片描述

2.解题

1、使用hashcat破解(windows)

1
2
hashcat64.exe -a 0 -m 500 out.shadow 10W.txt #500为hashcat识别出
hashcat64.exe --show out.shadow > pwd.txt #查看结果

2、使用john the ripper破解(liunx)

1
2
3
john --single out.shadow
john --format=md5crypt --wordlist=10W.txt out.shadow #md5crypt为hashid识别出
john --show out.shadow >pwd.txt #查看结果

这个两个工具在破解hash方面都是神器,支持大部分的hash类型破解。如果你有linux服务器,推荐使用john the ripper挂在上面日夜跑着。如果你在windows上,同时对速度有要求的话,推荐使用hashcat,并使用GPU破解来加快数据,还嫌不够快的童鞋可以研究hashcat分布式破解了!

1
john --show shadow
1
2
3
root:hellokitty:17770:0:99999:7:::

1 password hash cracked, 0 left

得到flag:hellokitty