john the ripper是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如des、md4、md5等。它支持多种不同类型的系统架构,包括unix、linux、windows、dos模式、beos和openvms,主要目的是破解不够牢固的unix/linux系统密码。 john the ripper的官方网站: http://www.openwall.com/john/。
它的使用格式为:john [选项] [密码文件],下面对它的各项参数进行说明:
--single:使用简单破解(single crack)模式,主要是根据使用者的帐号产生的变化来解密。
--wordlist=file--stdin:使用字典模式解密,通过file指定字典文件,或通过--stdin接收键盘输入的单字来破解。
--rules:在字典模式下,开启字词规则变化功能,如读入单词hack,则在开启字词变化的情况下,程序可能会尝试hacker、hacke、hack等,这些变化是在john.ini文件中[list.rules:wordlist]区域设置的。
--incremental[=mode]:mode指定模式。使用增强破解模式解密,就是组合所有可能的字符当作密码来破解。在john.ini文件内的[incremental:*****]区域设定了许多模式,可以指定使用哪一模式来破解。
--external=mode:mode指定模式。使用外挂模式进行密码破解。使用者可以自己撰写破解模式。这此模式写在john.ini文件内的[list.external:******]区域内。
--stdout[=mode]:mode指定模式。显示john产生的字典,与破解无关。
--restore[=name]:继续上次中断的解密工作。在john进行密码破解工作时,可以按下ctrl+c中断工作,当前的破解进度会被存放到一个名为john.rec的文件。使用―restore参数可以从john.rec文件内读取上一次破解时的中断位置,然后接下去进行破解。
--session=name:设定当前工作的记录名。此记录名即使用―restore参数恢复工作时的名字,通过此参数可以区分不同的破解工作。
--status[=name]:name指定名字。显示工作记录里指定名的所记录的工作状态。
--make-charset=file:file指定文件名。产生一个字符集。
--show:显示破解出的密码。
--test:测试目前执行各项密码破解的速度。
--users=[-]login|udi[,…]:login指定用户名,uid指定用户的uid号,二者只能使用其一。此选项表示只破解某个帐号的密码,如只指针对root用户或拥有root权利的uid=0的使用者。如果在login|uid前面加上“-”则正好相反,表示不要破解此帐号的密码。
--groups=[-]gid[,….]:gid指定群组号。此参数表示指破解某个用户组内用户的密码,如果在uid前加上“-”则正好相么,表示不要破解此用户组内用户的密码。
--shells=[-]shell[,….]:shell指定shell名,如bash,csh等。此选项表示只破解可以使用此shell的用户密码,如果在shell前加“-”则正好相反,表示不破解可以使用此shell的用户密码。
--salts=[-]count:count指定数目。只破解satl大于等于count的帐号的密码,可以使你取得较快的速度(salt指的是unix/linux拿来做为密码编码的基准单位)。如果在count前加“-”则正好相反,只破解salt小于count的帐号的密码。
--format=name:name指定密文格式,可以是:des/bsdi/md5/bf/afs/lm。指定使用某种密文格式进行破解。
--save-memory=level:允许在内存中保存。level指定等级,可以是1,2,3。
以上为john的各项参数说明,下面说一个它的四种破解模式:
简单破解模式(singlecrack mode)
专门针对“使用帐号作为密码”的人,如某一个帐号用户名为:admin,密码是:admin888,admin123等。使用这种破解模式时,john会根据密码内的帐号进行密码破解,并且使用多种字词变化的规则套用到帐号内,以增加破解的机率。
字典破解模式(wordlistcrack mode)
这种解密模式需要用户指定一个字典文件,john读取用户给定的字典文件中的单词进行破解,john中自带了一个字典,文件名为:password.lst,里面包含了一些常用来作为密码的单词。
这种方式比较简单,只需告诉john密码文件的位置即可,在这种模式下john会自动使用字词变化功能来进行破解。
增加破解模式(incrementalmode)
这是john中功能最为强大的破解模式,它会自动尝试所有可能的字符组合,然后当作密码来破解,此为暴力破解方法,所用的时间较长。
外挂破解模式(externalmode)
该模式是让使用者可以使用自己用c语言写的一些“破解模块程序”,然后挂在john里面来使用。所谓的“破解模块程序”就是一些用c语言写好的副函数。它会产生一些单词让john尝试破解。
实例:
破解linux密码。john是对密码文件进行破解的工具,要破解linux密码首先要取得它的密码文件,假设我们已取得了一个用户的密码文件pass.txt,该文件位于C:\,下面我们就对pass.txt文件进行破解。如下图:
密码文件内容:
下面我们来进行破解:
如图所示:
破解出的root的密码是123456。
使用--show查看破解出的密码:
我们使用字典破解一下:
上面没显示出我们要的密码,这是因为这个md5我们已经破解过了,我们换一个md5就行了。而且我们破解出的密码都放在john.pot文件中。下面是我们破解出的密码都会放在john.pot这个文件中
工具使用就介绍到这里。。。。有兴趣的自己可以仔细的研究下,其实很简单的东西。。。。