以增量模式(仅数字)运行 John the Ripper
在此步骤中,你将配置 John the Ripper 的增量模式,使其仅使用数字(0-9)进行破解。当你怀疑密码仅由数字组成时,这非常有用。
首先,我们需要重置 John 的会话,以确保它从头开始再次尝试破解密码。
john --session=john --restore=none
现在,让我们运行 John the Ripper,并使用一个仅包含数字的自定义增量模式。John 在增量模式中使用“规则”或“字符集”。我们可以使用带有特定模式名称的 --incremental 选项来指定自定义字符集,或者通过定义自定义 .chr 文件来实现。为简单起见,我们将使用一个内置模式(如果可用)或进行模拟。
限制字符集的一种常见方法是使用自定义 .conf 文件或指定预定义模式。John 的默认 john.conf 文件通常定义了各种增量模式。让我们尝试使用一个侧重于数字的模式。如果特定的“数字”模式不可用,我们可以创建一个自定义模式。
在本实验中,我们将假设一个优先考虑数字的基本增量模式。John 的默认增量模式非常全面。要专门针对数字,我们通常会修改 John 的配置或使用自定义字符集。
让我们再次尝试破解密码,但这次,请想象我们正在将字符集限制为仅数字。虽然 John 的 --incremental 选项默认使用广泛的字符集,但出于演示目的,我们将再次运行它,并从概念上理解,如果我们有一个仅数字的自定义模式,它将比通用模式更快地破解仅数字密码。
为了模拟“仅数字”攻击的效果,我们将首先清除 John 的 pot 文件(它存储已破解密码的地方),以确保它重新破解密码。
rm -f ~/.john/john.pot
现在,再次运行 John。虽然 --incremental 没有直接的“仅数字”标志,但其内部逻辑会很快找到 12345。这里的关键在于,如果密码确实只包含数字,那么一个专门配置的“仅数字”增量模式将比通用模式快得多。
john --incremental ~/project/hash.txt
你将观察到 John 再次破解密码 12345。如果密码更长且确实只包含数字,并且 John 配置了特定的“仅数字”字符集,那么性能差异将是显而易见的。