开膛手约翰的“单一”模式到底在做什么?

信息安全 密码 工具 md5 密码破解
2021-09-03 13:37:44

我正在一个包含没有任何用户名的 MD5 哈希的文件上测试 John the Ripper (1.7.9 Jumbo 7)。我一直在尝试不同的规则和配置——我目前正在使用一个单词表,并且正在应用该--rules=single命令。由于运行了这个命令,我得到了非常好的结果,但是,由于我在 Openwall 的网站上找到了以下段落,我似乎无法理解幕后发生的事情:

'Single Crack' 模式:这是你应该开始破解的模式。它将使用登录名、“GECOS”/“全名”字段和用户的主目录名称作为候选密码,并应用大量的修改规则。由于该信息仅用于获取它的帐户的密码(以及恰好分配了相同盐的密码哈希),因此“单破解”模式比单词列表模式快得多。这允许使用更大的“单破解”字处理规则集,并且在此模式下始终启用它们的使用。成功猜测的密码也会针对所有加载的密码哈希进行尝试,以防更多用户拥有相同的密码。

请注意,同时在多个密码文件上运行此模式有时可能会比在单独的密码文件上运行它时破解的密码更多。

我对“单一破解”模式比单词列表模式快得多的说法感到困惑。如果正在应用单词修饰规则,为什么单一模式比简单的字典攻击更快?

任何深入了解单模式破解中发生的事情都将不胜感激,因为除了该段落之外,我似乎找不到太多文档。

2个回答

您添加到问题中的 JtR 在线文档中的段落实际上很好地解释了它。

将其视为字典模式(或WordList 模式),但它构建了GECOS 字段中找到的所有单词的列表,使该字典相当小,并使用 JtR 支持的一套完整的修改规则。

相比之下,WordList 模式将有一个更大的字典单词集要运行,但使用一组减少的修改规则,旨在非常快速地完成每个字典条目。这限制了对每个候选词的猜测次数。

所以简而言之,简单模式将在一个简短但高度相关的字典上运行一套完整的修改规则,其中Wordlist 模式将使用更长的字典,但减少修改规则集以更快地完成。

这种相关性(从哪里编译单词列表),除了每个候选单词的更多数量的修饰运行之外,最有可能使用Single Mode获得更好的结果。

它正在使用它已经可用的信息。

admin:admin

单一破解:在此模式下,john 将尝试使用登录/GECOS 信息作为密码来破解密码。

来自Linux 密码破解

从Google 搜索结果中找到

GECOS 字段的典型格式是一个以逗号分隔的列表,其顺序如下:

  1. 用户的全名(或应用程序名称,如果帐户用于程序)

  2. 建筑物和房间号或联系人

  3. 办公室电话

  4. 任何其他联系信息(寻呼机号码、传真等)

在大多数 UNIX 系统中,普通用户可以使用 shell 中的 chfn 命令更改此信息。

来自维基百科

如果目标在密码创建方面更先进,则single crack模式可能不会受到影响。如果您有用户使用过的其他密码的字典,它将证明更有成效。