john
是一款大受欢迎的、免费的开源软件、基于字典的密码破解工具。用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如
DES
、
MD4
、
MD5
等。
John
支持字典破解方式和暴力破解方式。它支持多种不同类型的系统架构,包括
Unix
、
Linux
、
Windows
、
DOS
模式、
BeOS
和
OpenVMS
,主要目的是破解不够牢固的
Unix/Linux
系统密码。
在对
john
输入命令时,命令行方式是
:john –
功能选项 密码文件名字功能选项。并且john所有的选项对大小写不敏感,并且在确认命令与其他的参数不会发生冲突的时候可以使用简写,比如 -restory可以写成-res -wordfile可以写成 -w。
使用说明,我们先添加一个用户test 命令是:useradd test,至于test用户的密码用passwd test来进行添加,在这里因为要测试john破解密码的能力,所以密码需要一直变化。
在使用时,我们首先要将
etc
目录下
passwd
、
shadow
的内容复制到另一个文本文件中,如下命令
。
Unshadow /
etc
/
passwd
/
etc
/shadow>passwd.txt //
将文件中的内容复制到
passwd.txt
中在这里passwd.txt的命名是可以随意的。
John passwd.txt //
解密这个文件使用
john
自带的一个简单的密码文件,如果猜想用户的密码非常的简单例如
123456
这一类的可以使用这个命令
。比如下面这样。
当用户的密码设置的十分困难时,我们就需要一个字典文件来进行破解,这时我们可以使用John -w –rules :使用字典文件来进行解密,如人们常用hello、admin、password、superman、cooler、asdfgh、 123456等作为自己的密码。而-rules参数则在此基础上再加上些变化,如字典中有单词test,则john还会尝试使用tes、teSt、 tset等单词变化进行解密。
使用
john
破解过得密码都将存放在一个名为
john.pot
的文件中,我们在查看时可以使用
find –namejohn.pot
来查看这个文件的路径并使用
cat
命令查看此文件中破解过的密码
。
–
restory
:如果在破解密码的过程中由于某些原因中断了破解,使用
restory
继续破解密码
。
-incremental
:使用遍历模式,就是使用字幕数字等组合密码的所有可能情况,一般不用,太浪费时间。如果你电脑速度够快又有足够的时间,可以来使用这种方式,这是威力最大的方式。