kali系统自带的有,也可以安装在其他linux和windows系统上.
官方网站:http://www.openwall.com/john/
安装命令
wget http://www.openwall.com/john/j/john-1.8.0.tar.gz
tar -xf john-1.8.0.tar.gz
cd john-1.8.0/src/
具体的其他选项可通过john --help查看,这列举常用的几个:
1. --single 简单破解模式,也是默认的执行模式,就是根据用户和家目录名进行一些简单的变形猜解
2.--incremental 逐个遍历模式,其实跟hashcat的increment模式是一样的,直到尝试完所有可能的组合
3.--wordlist 纯字典模式,后面跟上字典的路径即可
4.--show 显示已经破解出来的hash及所对应的明文密码
5.--users 只破解指定用户的hash,可以是用户名或者对应的uid
6.--groups 只破解指定用户组的hash,可以是组名或者对应的gid
7.--shells 只破解指定shell的hash,可以用逗号分隔多个shell程序
以下是以破解linux用户密码为例,在此之前我们需要将用户/组及密码配置文件合并成一个另一个文件,我是保存在了桌面下
*1.unshadow /etc/passwd /etc/shadow > hash.txt*2.unshadow /etc/group /etc/gshadow >> gshash.txt
实际破解中推荐的爆破顺序,为了尽量节省爆破时间,可以自行尝试:
single模式 -> wordlist模式 -> incremental模式 -> 默认模式
默认模式是先尝试single然后是incremental,直到所有的规则都结束
命令:john --user=ww passwd_shadow
指定了破解的用户名,默认破解所有用户密码
john --single --user=ww passwd_shadow
# 需要提前建立一个字典文件pass.txt
john --wordlist=pass.txt --user=ww passwd_shadow
破解模式的具体方法
破解模式的具体方法 破解的密码长度 所包含的字符
Incremental:all 0-8 All 95 printable ASCII characters
Incremental:all15 0-5 All 95 printable ASCII characters
Incremental:all6 6 All 95 printable ASCII characters
Incremental:all7 7 All 95 printable ASCII characters
Incremental:all8 8 All 95 printable ASCII characters
Incremental:alpha 1-8 A-Z 纯大写字母
Incremental:digits 1-8 0-9 纯数字
Incremental:lanman 0-7 A-Z, 0-9, and some special characters 大写字母,数字加
一些特殊字符
#以数字类型举例:
john --incremental:digits --users=ww passwd_shadow
john的三种模式作为入门使用基本可以了,他还有其他功能,例如破解压缩包数据库密码等