John the Ripper 的使用方法为:
Usage: file://D/HACKER/CRACK/JOHN-16/RUN/john [OPTIONS] [PASSWORD-FILES]
它有多个使用选项,参见表1.4。
表1.4 John the Ripper使用选项含义
选项 意义
-rules 破解规则
-wordfile:FILE 字典文件
-incremental 增量方式
-restore[:FILE] 恢复已存储的进度
-session:FILE 存储当前进度
-show 显示当前进度
-makechars:FILE 字符集
-users:[-]LOGIN|UID[,..] 指定想破解的用户
-groups:[-]GID[,..] 指定想破解的用户组
由于Turbo Linux使用了Shadow文件,得先进行Unshadow处理:
Unshadow passwd shadow >pass
得到Unshadow的口令文件pass,再输入:
John -groups:500 -show pass
开始Crack过程。进行10个小时后,得到如表5.5所示的结果。其中,单位精确到分,没有Crack成功的标为"NO"。
表1.5 使用John the Ripper的Crack实验结果
花费时间 花费时间 花费时间
A5 00:12 B5 02:16 C5 NO
A6 02:25 B6 NO C6 NO
A7 01:38 B7 05:21 C7 NO
A8 04:54 B8 NO C8 NO
可以看出,A组的成功率为:100%,B组的成功率为:50%,C组的成功率为:0%。因此,随着字符集的扩大,破解的难度明显增大。所以,安全的口令必须包含特殊字符。
还有一点值得注意,即在整体上口令越长,破译所需的时间越多,但A7比A6的破译时间短,这说明John the Ripper并不是先尝试完n个字符的口令,再尝试长为n+1的口令;而是运用了复杂的规则进行匹配。各个Crack程序的具体实现有差异,它们运用了不同的规则,使得它们破译口令的所需时间不一样。