实验目的&要求

  • 熟悉和掌握正确的口令设计规则
  • 熟悉常见的防御口令攻击的方法

实验内容

Wordlist mode

  • 首先需要先创建一个新的用户:test,并把密码设置为password

    1-1

    此时/etc/passwd和/etc/shadow两个文件会包含对应的用户的hash值,而需要将这两个文件通过unshadow命令来进行提取hash值并放入一个txt文件中

    1-2

    之后在查看john在字典模式下所需要的字典

    字典位于/user/share/john/password.lst

    来进行用户名和密码的破解

    1-3

    还有一个是根目录,即root,不知道为什么并没有显示破解成功,但是在进行sudo su的时候(切换到root权限的时候)并没有要求输入密码

  • 复盘:整个过程其实就是将对应的hash值进行提取,并放入到一个文件中,之后就用字典挨个查找即可,所以比较关键的地方在于字典的选择/构造

Single Crack mode

根据用户名来设置密码,我们就需要John -Single 这个命令,原理是根据用户的名称,加上常见的变化而猜测密码。

  • 首先新建用户:test_password,密码设置为test_password123

    2-1

    后面步骤和上面wordlist步骤一样,都是unshadow进行提取,之后开始用-single来进行破解

    2-2

    可以看到与用户名test_password明显相关的密码test_password123被破解

Incremental mode

  • 创建新的账户incremental,密码设置为了123,用的是增量模式下面的数字字符集

    3-1

    之后unshadow提取,并用john –incremental=digits命令破解

    3-2

    而另外的root和seed账户的密码由于并不是数字字符集构成,所以只能破解出incremental账户的内容

这是最强大的破解模式,它可以尝试所有可能的字符组合作为密码。但是,假定这种模式的破解永远不会终止,因为组合的数量太大(实际上,如果您设置了较低的密码长度限制或使用较小的字符集,它就会终止),并且您必须更早地中断它。

这就是为什么这种模式处理三谱图频率,分别处理每个字符位置和每个密码长度,以便在有限的时间内破解尽可能多的密码。

要使用该模式,您需要为该模式的参数定义一个特定的定义,包括密码长度限制和要使用的字符集。这些参数是在名为[Incremental:MODE ]的配置文件部分中定义的,其中MODE是您指定给该模式的任何名称(这是您需要在John的命令行中指定的名称)。您可以使用预定义的增量模式定义,也可以定义自定义模式。

在版本1.8.0中,预定义的incremental模式是“ASCII”(所有95个打印的ASCII字符),“LM_ASCII”(使用LM哈希),“Alnum”(所有62个字母数字字符),“Alpha”(所有52个字母),“LowerNum”(小写的字母+数字,总共36位),“UpperNum”(大写字母+数字,总共36位),“LowerSpace”(小写字母+空格,总共27位),“Lower”(小写字母),“Upper”(大写字母),和“Digits”(仅数字)。提供的.chr文件包括所有这些模式的长度不超过13的数据,除了“LM_ASCII”(其中输入到LM散列的密码部分假定被截断为长度7)和“位数”(其中提供的.chr文件和预定义的incremental模式的长度为20)。这些预定义增量模式所需的许多.chr文件中的一些可能不会与John the Ripper的每个版本捆绑在一起,可以单独下载。

External mode


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

Local DNS attack 上一篇
同步互斥lab 下一篇