安装john并利用john破解linux密码

简介:

1. #cd /tmp   
    #wget http://www.openwall.com/john/g/john-1.7.4.2.tar.gz
      #tar -zxvf john-1.7.4.2.tar.gz
    # cd john-1.7.4.2
    # cd src
    #make linux-x86-any-a.out
或者使用yum install john
2:unshadow /etc/passwd /etc/shadow >passwd.txt (注意只有root才能执行unshadow,
                                                                        因为只有root才能读取/etc/shadow。)
3:chmod 600 passwd.txt
4: john passwd.txt
此外,如果已经破解成功,则可以查看john.pot来查看。
#john -show passwd.txt
#john -show -users:yujs passwd.txt
获得指定用户的密码。
John the Ripper的四种破解模式

「字典档」破解模式(Wordlist Mode)
这在John所支援的破解模式中是最简单的一种,你要做的唯一工作就是告诉John字典档在哪(字典档就是文字档,内容每行一个单字代表试验的密码),好 让它可以取出破解。在「字典档」破解模式里可以使用「字词变化」功能,来让这些规则自动的套用在每个读入的单字中,以增加破解的机率。

「简单」破解模式(Single Crack)
「简单」破解模式是专门针对「使用帐号当作密码」的懒人所设计的;所谓「使用帐号当作密码」的意思是,如果一个使用者帐号是「john」,它的密码也取为 「john」。在「简单」破解模式里john会拿密码档内的「帐号」栏位等相关资讯来破解密码,并且使用多种「字词变化」的规则套用到的「帐号」内,以增 加破解的机率。如帐号「john」,它会尝试用「john」、「john0」、「njoh」、「j0hn」….等规则变化来尝试密码的可能性。

「增强」破解模式(Incremental Mode)
��」。这个选项会以目前已破解出的密码为基础,来产生「字元频率表」(注:John会把已破解出的密码记录在JOHN.POT档案 内,)。如果所指定档名的档案已经存在的话,会被覆写。此选项产生出来的档案,可以用在「增强」破解模式上。

范例:john –makechars:ownchars

参数:-show
说明:显示目前已经破解出的密码。因为JOHN.POT档案内并不储存「帐号」资料,所以使用时你应该同时输入相对应的密码档。

范例:john –show passwd

参数:-test
说明:测试目前机器执行John各类型密码破解时的速度。

范例:john –test

参数:-users:[-]LOGIN|UID [,..]
说明:只破解某个「帐号」的密码,如只针对root或拥有root权利UID=0的使用者。 (若在LOGIN|UID名称前加上“-”符号则是相反,表示不要破解这个「帐号」的密码)

范例:john –i:all –users:root passwd

参数:-groups:[-]UID[,..]
说明:只破解某个「群组」内用户的密码。 (若在UID名称前加上“-”符号则是相反,表示不要破解这个「群组」内用户的密码)
范例:john –i:all –groups:100
参数:-shells:[-]SHELL [,..]
说明:和上面两个参数一样,这个选项是只针对所有可以使用shell的用户进行破解密码工作,对其它用户不予理会。(若在SHELL名称前加上“-”符号 则是相反,表示不要破解可以使用这个SHELL的用户的密码)。指定SHELL时,你可以省略绝对路径,如参数「-shells:csh」就会包含 「/bin/csh」或「/usr/bin/csh」等路径,但如果你指定的是「-shells:/bin/csh」则只会包含「/bin/csh」这个 SHELL名称。
范例:john –i:all –shells:csh passwd

参数:-salts:[-]COUNT
说明:只破解「salts」大于「COUNT」的帐号的密码,可以使你得到较佳破解速度(所谓「salts」是指UNIX拿来作为「密码」编码基础的单 位)。举例来说,你可以先只破解某部分用户的密码「-salts:2」来获得较佳的速度,然后有时间时才破解剩余用户的密码「-salts:-2」。

范例:john –i:all –salts:2 passwd

参数:-format:NAME与-savemem:LEVEL
说明:这两个参数是有关John内部运作的设定,跟破解本身没有直接关系,所以省略不介绍。

最常用的两个:john -w:all.txt passwd.txt

                        john -show passwd.txt >/pass.txt 把解密结果保存到pass.txt里面。

字典可以到http://www.milw0rm.com/上在下载

 

john的几个用法  

脱离字典档用暴力法破密码只要加上参数-i:all  
就可破象5e5t56e6这样的密码了。  
破解到一半因种种原因需要暂时停止破解,按ctrl+c,  
下次破解不必从新来过,只要john   -restore:restore即可接着破。  
john在纯dos下要比在win95下快,用unix更快,  
建议在linux下运行因为crypt函数系统本身就有,  
会快一点吧!?  

john笨招
   
说说我用JOHN的经历和成果:  
(PASSWD   有300来个ACCOUNT,   一般无防犯)  
1.  
john   -w:password.lst   passwd  
成功10个左右。  
2.  
john   -si   passwd  
成功(增加,后同)35个左右。  
3.  
john   -i   passwd  
将minlen,   maxlen都设成5,  
成功1个root(以后不可能啦)。  
4.  
john   -i   passwd  
改john.ini,1个字母加3个数字:成功1个左右。  
改john.ini,1个字母加4个数字:成功5个左右。  
5.  
john   -w:password.lst   -rules   passwd  
成功3个左右。  
6.  
xtract   \bdc\ck-x?.pms   >   myword1.lst  
john   -w:myword1.lst   -rules   passwd  
(BDC小学词库)成功5个左右。  
7.  
xtract   passwd   >   names.lst  
(sort,etc.)  
john   -w:names.lst   -rules   passwd  
成功2个左右。  
8.  
将john.ini中Single   ->   SingleOLD  
自己再造一个,各次分别加入  
l$[0-9]$[0-9]  
成功5个左右。  
l$[0-9]$[0-9]$[0-9]$[0-9]  
成功5个左右。  
l^[0-9]^[0-9]^[0-9]  
成功1个。  
l$[a-z]$[a-z]$[a-z]  
成功5个左右。  
l^[a-z]^[a-z]^[a-z]  
成功10个左右(很多人用类似tsh*)。  
etc.  
john   -si   passwd  
(不算太慢)  
9.  
将john.ini中Wordlist   ->   *OLD  
自己再造一个,各次分别加入类似8。  
成功2个左右。  
john   -w:word.lst   -rules   password  
   
总共有100左右,1/3。  
   

john.ini   建立自己的模式例子  
   
比如,在incremental:all模式完毕后,添加如下行,即可得到一个自己的模式  
两个字母+4位数字。61,62中的字母顺序是拷贝以前的东东的,无所谓,只要  
把26个都列上就可以了。这个模式并命名为zylin1d。  
   
[Incremental:zylin1d]  
CharCount   =   36  
MinLen   =   6  
MaxLen   =   6  
   
Charset61   =   smbcpadtrjhgflkwneoivzquyx  
Charset62   =   aoeiurhlntmpscwybkdgvfxjzq  
Charset63   =   0123456789  
Charset64   =   0123456789  
Charset65   =   0123456789  
Charset66   =   0123456789  
   
   
以后要调用这个模式时,只要用john   -i:zylin1d   passwd   就可以了。

一份JOHN   的功能介绍(转载)  
原作者ROOT  
   
          John   the   Ripper  
          是什么东西?如果直译其名字的话就是:JOHN的撕裂者(工具)。翻译的很难听吧。  
          实际上它是一个工具软件,用于在已知密文的情况下尝试破解出明文的破解密码软件?
          目前的最新版本是JOHN  
          1.4版,主要支持对DES、MD5两种加密方式的密文进行破解工作。它可以工作于多中不不同的机型以及多种不同的操作系统之下,目前已经测试过能够正常运行的操作系统有:Linu  
          x86,   FreeBSD   x86,   Solaris   2.x   SPARC,   OSF/1   Alpha,   DOS,WinNT/Win95。  
          在1998年年初,JOHN1.4已经针对INTEL的MMX处理器进行了针对性的优化,速度可快30%%左右。  
          如果你想了解最新的动态,请访问:http://www.false.com/security/john/,这里是JJOHN的窝点。      
          ——————————  
          使用预览  
          ——————————  
          以下快速入门针对PC用户。  
          假设你已经取得了某个SHADOW文件,并且被存为SHADOW.TXT文件。  
          在你的硬盘中建一个新的目录,如HACK  
          进入这个目录,将JOHN1.4在此目录中解开,将SHADOW.TXT同样拷入此目录,这样我们们就完成了解密的准备工作?
          现在开始进行解密步骤:  
          1、先消灭FOOL   USER,就是“笨蛋用户”:  
          john   -single   shadow.txt  
          2、再消灭稍微聪明一点的用户:  
          john   -wordfile:password.lst   -rules   shadow.txt  
          3、最后进行大屠杀:  
          john   -i:all   shadow.txt  
          当然了,第三步可能要你的电脑跑上10000年。  
          解释:  
          1、第一步主要针对笨蛋而进行的,原理是根据用户的名称,加上常见的变化而猜测密密码。一般所谓的笨蛋是这样的,比如此用户叫fool,而他的密码是fool123、fool1、loof、loof123、lofo…。这样的用户一般在一分钟内会被全部消灭?
          2、第二部是使用字典文件来进行解密,不为什么,只是因为设置密码的是人而不是晃   数则在此基础上再加上?变化,如字典中有单词cool,则JOHN还会?
  行解密。一般视SHADOW中的用户多少及你的字典大小、你的机器速度,解密时间从几小时档   几天不等。  
          3、第三步是纯粹的碰运气解法,主要原理是遍历所有可能的密匙空间。JOHN会尝试以以95个字母(因为从键盘上只能输入95种可能的键值)进行1-8(8个字母是密码的最长值,所有密码中8位以后的部分均不会被使用,目前的DES加密体系就是这?
程,我们计算一下:以仅攻击一个用户为例,MMX200微机一台(攻击速度18000次/秒),假假设遍历50%的密码空间,需要的时间为?
          (95^8+95^7+95^6+95^7+95^6+…..+95^1)/2/18000=6.7047809E15/18000=3.7248783E3E11秒=10346884.19小时=4311201.745天=11811.5年?
          还好在JOHN可以进行自动预设取值。所以这样破解密码还是可能的,一般的经验是20父   小时可能破解一个,可能什么都没有。  
          本文后面介绍的经验可以帮助你尽快地进行破解。  
   
          ————————–  
          详细功能说明  
          ————————–  
          John   the   Ripper  
          1.4是目前比较好的破解密码工具,在解密过程中会自动定时存盘,你也可以强迫中断浇   密过程(用ctrl+c),下次还可以从中断的地方继续进行下去(john  
          -restore),任何时候敲击键盘,你就可以看到整个解密的进行情况,所有已经被破浇獾   密码会被保存在当前目录下的JOHN.POT文件中,SHADOW中所有密文相同的用户会被归成一类,这样JOHN就不会进行无谓的重复劳动了。  
          在程序的设计中,关键的密码生成的条件被放在JOHN.INI文件中,你可以自行修改设种   ,不仅支持单?类型的变化,而且支持自己编写C的小程序限制密码的取值方式。  
          唯一的遗憾是:在自动产生密码的遍历解密方法中不支持-rules选项。不过还好有方贩   可以克服。  
   
          命令行的参数功能解释  
          ———————–  
          命令行方式:   john   [-功能选项]   [密码文件名]  
   
          功能选项(所有的选项均对大小写不敏感,而且也不需要全部输入,只要在保证不与齐其他参数冲突的前提下输入即可,如-restor  
          参数只要输入-res即可):  
          -pwfile:[,..]  
          用于指定存放密文所在的文件名,(可以输入多个,文件名一我“,”分隔,也可以适褂?或者?这两个通配符引用一批文件)。也可以不使用此参数,将文件名放在命令行的最后即可。  
   
          -wordfile: <字典文件名>   -stdin  
          指定的用于解密用的字典文件名。你也可以使用STDIO来输入,就是在键盘中输入。  
   
          -rules  
          在解密过程中使用单词规则变化功能。如将尝试cool单词的其他可能,如COOLER、Coool等,详细规则可以在JOHN.INI文件中的[List.Rules:Wordlist]部分查到,我们在下面详细解释。  
   
          -incremental[: <模式名称> ]  
          使用遍历模式,就是组合密码的所有可能情况,同样可以在JOHN.INI文件中的[Incremmental:*****]部分查到,我们在下面详细解释。  
   
          -single  
          使用单一模式进行解密,主要是根据用户名产生变化来猜测解密,可以消灭笨蛋用户    其组合规则可以在JOHN.INI文件中的[List.Rules:Single]部分查到,我们在下面详细解释。  
   
          -external: <模式名称>  
          使用自定义的扩展解密模式,你可以在john.ini中定义自己需要的密码组合方式。JOHNN也在INI文件中给出了几个示例,在INI文件的[List.External:******]中。  
          所定义的自订破解功能.  
   
          -restore[: <文件名> ]  
          继续上次的破解工作,JOHN被中断后,当前的解密进度情况被存放在RESTORE文件中,,你可以拷贝这个文件到一个新的文件中。如果参数后不带文件名,JOHN默认使用RESTORE文件?
   
   
          -makechars: <文件名>  
          制作一个字符表,你所指定的文件如果存在,则将会被覆盖。JOHN尝试使用内在规则在在相应密匙空间中生成一个最有可能击中的密码组合,它会参考在JOHN.POT文件中已经存在的密匙?
   
          -show  
          显示已经破解出的密码,因为JOHN.POT文件中并不包含用户名,同时你应该输入相应档   包含密码的文件名,JOHN会输出已经被解密的用户连同密码的详细表格。  
   
          -test  
          测试当前机器运行JOHN的解密速度,需要1分钟,它会得出在当前的情况下解密的各种种可能情况下相应的解密速度,如同时解密100个用户时的平均速度,使用遍历法解密模式时解密的速度。salts指用户个数,如果给出的对于100个用户解密的平  
个用户解密,解密的速度为每个180次/秒。因为绝大多数的时间被用于密匙比较过程中了。。所以应该对用户进行挑选?
   
          -users:[,..]  
          只破解某类型的用户或者属于某个组的用户。如果得到的PASSWD文件没有包含密文,哪   么在得到SHADOW后应该进行组合,JOHN的附带程序UNSHADOW.EXE可以完成这一过程,当然了,你也可以手工做。一般的能够进入CSH的用户都是解密的首选对象  
   
          -shells:[!][,..]  
          和上面的参数一样,这一选项可以选择对所有可以使用shell的用户进行解密,对其他他用户不予理睬。“!”就是表示不要某些类型的用户。例如:?
          -shells:csh”。  
   
          -salts:[!]  
          只选择解密用户大于的帐号,可以使你得到选择的权利,尽快的得到所需要的用户的P腜ASS?
   
          -lamesalts   指定用户中密码所使用的cleartext。(我不大清楚此功能的作用)。  
   
          -timeout: <几分钟>   指定解密持续的时间是几分钟,到时间JOHN自动停止运行。  
   
          -list  
          -shells:[!][,..]  
          和上面的参数一样,这一选项可以选择对所有可以使用shell的用户进行解密,对其他的包含密码的文件名,JOHN会输出已经被解密的用户连同密码的详细表格。  
          -shells:csh”。  
   
          -salts:[!]  
          只选择解密用户大于的帐号,可以使你得到选择的权利,尽快的得到所需要的用户的P。所以应该对用户进行挑选?
   
          -lamesalts   指定用户中密码所使用的cleartext。(我不大清楚此功能的作用)。  
   
          -timeout: <几分钟>   指定解密持续的时间是几分钟,到时间JOHN自动停止运行。  
   
          -list  
          在解密过程中在屏幕上列出所有正在尝试使用的密码,建议不要使用,它会将大部分?
   
          -beep   -quiet   当解密出密码时是否要让PC喇叭叫一下,以提醒你。  
   
          -noname   -nohash   不使用内存来保存“用户名”等内容。  
   
          -des   -md5   指定使用的解密方式是解DES还是MD5,对于解密DES密码不用理会这一选?
   
          (待续)  

          john解密模式详解  
          —————————  
   
          一、   “Single   Crack ”   模式-即“简单解密模式”  
          ——————————————  
          这一模式是“john”的独到的地方,主要原理是根据用户名猜测其可能的密码,当然亮   ,解密者是计算机而不是人,所以需要人为定义相应的模式内容。  
          其模式的定义在john.ini中的[List.Rules:Single]部分,我们选取前几行给大家做一   个解释,假设有一用户名为fool:  
          [List.Rules:Single]  
          ###  
          #   Single   crack   mode   rules,   extended   Crack   syntax  
          ###  
          #   Simple   rules   come   first…  
          :[:cl]———————————–注释1  
          #   These   were   not   included   in   crackers   I ‘ve   seen,   but   are   pretty   efficient  
          #   so   I   include   them   near   the   beginning  
          > 6×06————————————注释2  
          > 7lx07———————————–注释3  
          > 6/?ulx06——————————–注释4  
          > 5×05————————————注释5  
在john.ini中起头为#的行为注释行,程序在遇到此行时自动跳过。  
          1、“:[:cl]”此行表示使用用户名自身作为密码进行尝试,即fool,而“[:cl]”在北3   原字母不变的前提下,首先强制第一个字母大写“c”,其余字母均变为小写“l”,即:Fool,也就是说此行导致john尝试使用fool和Fool两个单词进行解密  
          2、“> 6×06”表示当用户名大于6个字符的时候,从第0个算起,截断至第5个,则共保保留下6个字母,其余丢弃不用。如:用户名为foolers,则会产生如下被尝试的密码:即fooler?
          3、“> 7lx07”和上面相同,此行对于> 7的用户名,截断至7个字母,而且使用“l”强强制使用小写字母?
          4、“> 6/?ulx06”表示对于长度> 6的用户名,截断至6个,强制小写,“/?u”则表示小写字母“u”?
          5、“> 5×05”和上几个例子相同,不用解释了。  
   
          其余部分自己参考john.ini,具体参数解释如下:  
   
          john.ini中的每一行均由“条件指令”+“规则指令”组成。  
          1、位于起始部分的“条件指令”:  
          :   表示保持字母不变。  
          > n   表示满足条件的是字符长度   > n   的单词,n的取值范围为0-9。  
          ^x   表示在某单词前部添加字母“x”。  
          $y   表示在某单词尾部加上一个字母“y”。  
          l   强制整个单词全为小写字。  
          u   强制整个单词全为大写字。  
          c   强制单词第一个字为大写(单词的其余部分不受到影响)  
          r   将单词反序排列:如“fool”->   “loof”。  
          d   进行单词加倍:如“fool”   ->   “foolfool”。  
          f   进行单词加倍,后部单词反向写:如“fool”-> “foolloof”。  
          p   以一个字母为限度,在保持单词不变的前提下,尝试单词的所有组成字母的大小写鬃楹希?
          如(“fool”-> “Fool”、“fOol”、“foOl”、“fooL”)。  
          onx   从某单词的第n(由0开始计数)个字母开始,将原来的字母取代为字母“x”。  
          例如:“o1A”则对于“fool”则产生“fAol”。  
          inx   从某单词的第n(由0开始计数)个字母开始,在字母前插入以字母“x”。  
          例如:“i1A”则对于“fool”则产生“fAool”。  
          备注:如果指定的值n> 单词总长度,则相应的插入字符将会添加到单词的尾部。  
          xnm  
          从单词的第n位开始,将单词截成最长度为m个的单词。具体的例子就不列举了,上面乙   经谈过了。  
   
          2、以下是一些用于字母变化的命令:  
   
          sxy   字母替换,将某单词中的所有为“x”的字母替换成字母“y”。  
          s?cy  
          用字母“y”来替换单词中的所有包含于“c字母组”中的字母。关于“字母组”下面替讨论?
          @x   删除单词中所有“x”字母。  
          @?c   删除单词中所有包含于“c字母组”中的字母。  
          !y   跳过所有包含含有字母“y”的单词。  
          !?c   跳过所有包含含有“c字母组”中字母的单词。  
          /x   包含字母“x”的单词有效。  
          /?c   包含在“c字母组”中字母的单词为有效。  
          =nx   所有指定位置n的字母为“x”的单词才有效。  
          =n?c   所有指定位置n的字母包含于“c字母组”的单词才有效。  
          备注:和上面一样,起始字母位数从0开始计。  
   
          3、“字母组”的定义如下:  
   
          ??   等于字母“?”。  
          ?v   等于所有的元音字母“aeiouAEIOU”。  
          ?c   等于所有的辅音字母“bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ”。  
          ?w   等于“白色空格”符号:“   ”;  
          (原文的whitespace不晓得如何解释好,好象可以解释为“空格”或者是“EOF结尾符符”。?
          ?p   等于所有标点符号“.,:; ‘ “?!`”。  
          ?s   等于特殊符号“$%^&*()-_+=|\ <> []{}#@/~”。  
          ?l   等于所有26个小写字母(“a”   到   “z”)。  
          ?u   等于所有26个大写字母(“A”   到   “Z”)。  
          ?d   等于10个阿拉伯数字(“0”   到   “9”)。  
          ?a   包括所有26个字母的大小写形式(“a”   到   “z”   +   “A”   到   “Z”)。  
          ?x   包括26个字母大小写+10个阿拉伯数字(“a-z”+“A-Z”+“0-9”)。  
          备注组名可以用大小写的区别来表示“逻辑非”的关系,小写表示肯定,大写表示否抖ā?
          例如:   用?d可以表示“所有数字”,而大写?D就表示“所有非数字的”。  
   
          4、以下是一些附加的指令:  
   
          {   单词循环左移一位:   “fool”   ->   “oolf”,当然要左移动两位就表示为“{{”,乙   下同。  
          }   单词循环右移一位:   “fool”   ->   “lfoo”。  
          Dn   删除n位的字母(由0开计),切开的右面的单词部分自动接上,不会流下空格。  
          P   “crack”   ->   “cracked”,使用单词的过去式,只针对小写单词有效)。  
          G   “crack”   ->   “cracking”,使用单词的现在进行式,同样只针对小写单词有效)。  
          ~i   根据键盘的排列规则,转换为“shift键”+“对应键”所得到的单词,如“12345 ?->  
          “!@#$%”。  
          ~I   进行字母大小写转换,不影响数字及非字母的其他值,如“Fool123”   ->   “fOOL1123”。  
          ~v   将单词中所有元音字母转为小写,如“Crack96”   ->   “CRaCK96”。  
          ~>   根据键盘的排列方式将所有的字母右移一格。  
          例如我们可以看到键盘字母“c”键的右边是“v”键,则“Crack96”   ->   “Vtsvl07 薄?
          ~ <   和上一个一样,不过是左移,如“Crack96”   ->   “Xeaxj85”。  
   
          5、针对   “single   crack”模式的专用指令  
   
          专用指令有双字串支援,   控制这些指令要套用指令时需要用到下列的命令:  
   
          1   对第一个单词的规则  
          2   对第二个单词的规则  
          +   对于完成以上1、2规则变换后所得到的单词再进行其他的变换。  
          (要求“+”必需只用在“1”或“2”之後,   也就是   1+2   或   2+1)  
          (Chinaroot备注:以下一段我不太明白,所以英文照抄,天晓得“GECOS”是什么东挝鳎?@$#$%&%$)  
          If   you   use   some   of   the   above   commands   in   a   rule,   it   will   only   process   word   pairs   (full   names,   from  
          the   GECOS   information),   and   reject   single   words.A   ‘+ ‘   is   assumed   at   the   endd   of   any   rule   that   uses  
          some   of   these   commands,unless   you   specify   it   manually.   For   example,   ’1l2u ‘   will   convert   the   first  
          word   to   lowercase,   the   second   one   to   uppercase,   and   use   the   concatenation   oof   both.   The   use   for   a  
          ‘+ ‘   might   be   to   apply   some   more   commands:   ’1l2u+r ‘will   reverse   the   concatennation   of   both   words,  
          after   applying   some   commands   to   them   separately.  
          (根据本人开始的猜测,估计应该是将规则按你要求的顺序执行,后来发现猜错了,狭  
          首先是shadow部分:  
          root:!2dR3.pEo6#Q:0:1:Super-User:/:/bin/csh  
          foolers:%   dY).p*12Ver:0:1:AppleUser:/:/bin/csh  
          abc:QkzL@4%68tGHI:201:200::/home1/ahb:/bin/csh  
          最后得到如下两个结果:  
          “1l2u”————“superUSE”、“userSUPE”  
          现在终于明白了,原来此命令只使用shadow中的用户注解名(GECOS)而非用户名,秗  
后超过8位的部分被截断;而“AppleUser”、“ahb”却未被使用。  
          所以基于同样的原理,以下命令可以得到的结果如下:  
          “1l2u+r”———-“RESUrepu”、“REPUSres”。  
   
          6、批处理规则:  
   
          你可以使用“[]”来使用一批字符,如“[0-9]”则表示“0-9”这10个数字,你也可乙曰   合使字母列表加批量的格式,如“[aeiou1-9]”则表示包括所有的元音字母+“0-9”十个数字。简单的例子还有“[A-Z]”、“[a-z]”、“[A-Z0-9]”。比?
表示强制使用小写字母,并且在每个字母后面加入“0-9”这十个数字,即:如果用户名为ffool,则john尝试使用fool0、fool1、fool2、……vfool9,尝试进行解密。  
   
          二、   “Wordlist   Crack ”   模式-即“字典解密模式”  
          1、此解密模式需要用户指定一个字典文件,john读取用户给定的字典文件中的单词尝尝试进行解密。原理是:用户经常使用象hello、superman、computer、…之类的有意义单词作为自己的密码?
          john中自己带了一个字典,文件名为:password.lst,里面包含了一些常被用来作为妹   码的单?。以下给出几个:  
          12345、abc123、passwd、123456、Hockey、asshole、newpass、internet、Maddockⅱcomputer  
          00、Horses、Internet、duck2、Mickey、Cowboys、fiction  
   
          当然了所带的字典比较小,如果你觉得不够用,可以到ftp://coast.cs.purdue.edu/ppub/dict/里找,可以找到好几十兆的大字典文件。  
          使用方法很简单,假设字典文件名为:password.lst,shadow为shadow.txt,则命令挝?
          john   -word:password.txt   shadow.txt  
   
          2、和“single  
          —————————————————————————  
          12345、abc123、passwd、123456、Hockey、asshole、newpass、internet、Maddock?
          00、Horses、Internet、duck2、Mickey、Cowboys、fiction  
          —————————————————————————以混合使字母列表加批量的格式,如“[aeiou1-9]”则表示包括所有的元音字母+“0-9”十个数字。简单的例子还有“[A-Z]”、“[a-z]”、“[A-Z0-9]”。比?
   
          当然了所带的字典比较小,如果你觉得不够用,可以到ftp://coast.cs.purdue.edu/p  
          使用方法很简单,假设字典文件名为:password.lst,shadow为shadow.txt,则命令?
          john   -word:password.txt   shadow.txt  
   
          2、和“single  
          mode”一样,使用“字典解密模式”时,也可以使用“规则”,具体规则的定义在joh密码的单词。以下给出几个:  
          [List.Rules:Wordlist]部分,以下抽取其中的一小段:  
          ———————————

比如你有一个md5串$1$Ss.NEpuX$diWZjOyRI7CwGkR8QxWur0

那么你可以自己构造一个shadow文件呀
比如
root:$1$Ss.NEpuX$diWZjOyRI7CwGkR8QxWur0:19999:0:999:8:::

然后用john跑就是了

















本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/394294,如需转载请自行联系原作者

相关文章
|
7天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
78 20
|
3天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
59 7
|
9天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
27 2
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
64 4
|
弹性计算 安全 Linux
Linux的root账号忘记密码怎么办?看这一篇就够了!
今天上班的时候有个小伙伴说他管理的一台服务器密码给搞忘了,因为之前做过基线,试了5次就给封了半个小时,现在又急着要上去部署,我啪的一下很快啊,直接甩出了这篇文章。
|
Linux Shell 数据安全/隐私保护
linux忘记密码怎么办
linux忘记密码怎么办
71 0
|
Linux 数据安全/隐私保护
|
Linux 数据安全/隐私保护
|
Linux 数据安全/隐私保护
Linux忘记开机密码怎么办?
Linux忘记开机密码怎么办?<br>1. 开机ESC/Shift,在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键<br>2. 再次用上下键选中你平时启动linux的那一项(类似于kernel/boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键<br>3. 修改你现在见到的命令行,加入single,结果如下:<br>kerne
2778 0