命令格式: john [-功能选项] [密码文件名]
功能选项
-single
使用单一模式进行解密。
-wordfile:<字典文件名> -stdin
指定解密字典文件。
-rules
打开字典模式的词汇表切分规则。
-incremental:<模式名称>
使用遍历模式,就是组合密码的所有可能情况。
-external:<模式名称>
使用自定义的扩展解密模式,定义的自订破解功能。
-stdout :<模式名称>
不进行破解,仅仅把生成的、要测试是否为口令的词汇输出到标准输出上。
-restore:<文件名>
恢复JOHN被中断破解过程,当前解密进度情况被存放在RESTORE文件中。
-makechars:<文件名>
制作一个字符表,你所指定的文件如果存在,则将会被覆盖。
-show
显示已经破解出的密码。
-test
测试当前机器运行JOHN的解密速度。
-users:[,..]
只破解某类型的用户或者属于某个组的用户。
-shells:[!][,..]
该选项可以选择对所有可以使用shell的用户进行解密,对其他他用户不予理睬。“!”就是表示不要某些类型的用户。
-groups=[-]GID[,..]
对指定用户组的账户进行破解,减号表示反向操作,说明对列出组之外的账户进行破解。
-list
在解密过程中在屏幕上列出所有正在尝试使用的密码。
format=NAME
指定密文格式名称,为DES/BSDI/MD5/BF/AFS/LM之一。
-save-memory=LEVEL
设置内存节省模式,当内存不多时选用这个选项。LEVEL取值在1~3之间。
John the Ripper安装
[root@localhost ~]# tar -xjvf john-1.7.3.4.tar.bz2
[root@localhost ~]# cd john-1.7.3.4
[root@localhost john-1.7.3.4]# ls
doc README run src
[root@localhost john-1.7.3.4]# cd src/
[root@localhost src]# make
[root@localhost src]# make generic
unshadow得到破解口令文件
[root@localhost run]# ./unshadow /etc/passwd /etc/shadow >pass
破解并显示口令文件
[root@localhost run]# ./john pass
Loaded 3 password hashes with 3 different salts (FreeBSD MD5 [32/32])
switch (switch)
000000 (mysql)
000000 (test)
guesses: 3 time: 0:00:07:01 (3) c/s: 2293 trying: mudwican
Session aborted
显示原始加密口令和破解后的口令
[root@localhost run]# cat john.pot
$1$hFWcRMkj$gxhNjceFVXClILTQJdnQI.:000000
$1$t8WjbybU$52mXVWGY3gqVMpi6/5cMj1:000000
$1$YMsr.toK$j1uZ6fgxFcCHaJrJvyHxV1:switch