使用John The Ripper破解密码哈希

2021-06-30 04:16:11

每一个自尊的普斯特都应该在他们的工具包中拥有一个强大的密码饼干,而John The Ripper只是最好的饼干。

最初在1996年由OpenWall发布,John The Ripper已成长为成为黑客和Pentesters的首选密码饼干以及审计员使用的可靠工具,以发现弱密码。

在本文中,我们将学习如何使用John The Ripper执行基本密码开裂。

John The Ripper是一个离线密码饼干。换句话说,它试图从捕获文件中查找密码,而无需与目标进行交互。通过这样做,它不会产生可疑流量,因为该过程通常在本地执行,在攻击者的机器上。

虽然它主要用于破解密码哈希,但John也可用于破解受保护的存档文件,加密私钥等。

John The Ripper是一个免费的开源项目。您可以从OpenWall网站或其官方Github存储库下载它。您应该确保为操作系统下载正确的包。

如果您有Kali Linux,那么John应该已经安装了。您可以通过运行locate命令找到二进制文件的正确位置。

一旦您成功下载并安装了John,您就可以通过在命令提示符上键入二进制文件的名称后跟密码文件来启动它。

在下面的示例中,PasswordFile是一个文件,其中包含我们想要破解的密码列表。

这是您可以使用的最基本命令。由于我们未指定密码文件以外的任何参数,因此John将尝试使用默认选项来破解此文件。

虽然这是使用John最简单和最简单的方法,但它不一定提供所需的结果。为此,我们必须指定其他选项。

尝试使用John The Ripper破解密码文件时,您需要考虑的第一件事是John应该如何执行开裂过程。

约翰有三种主要的裂缝模式,您可以选择。让我们看看这些模式中的每个模式。

这是使用John Primper的最常见方式。在此模式下,您可以指定包含可能密码列表的字列表文件的路径。约翰将测试该字列表中包含的所有单词,并检查是否存在正确的密码。此过程是称为字典攻击的过程。

重要的是,单词列表每行包含一个密码。否则,John The Ripper不会正确处理。

在下面的示例中,我正在使用' - wordList'选项来指定WordList文件的路径,它是'/usr/share/wordlists/rockyou.txt'。如果在该文件中正确的密码,John将显示它。

*'passwordfile'是包含我们想要破解的密码哈希的文本文件。

要增加查找正确密码的机会,您可以使用Mangling规则启用WordList模式。通过这样做,John将在WordList中略微修改每个单词。这将导致新的可能在字列表中存在的密码,因此它将增加找到正确的机会。

要启用“乱蓬蓬的规则”,您可以使用“ - -Rules”选项。但是,您应该注意,这需要更长的时间来处理WordList。

在尝试破解UNIX密码时通常使用单个裂缝模式。它利用Passwd文件中存在的GECOS字段。这些GECOS字段通常包含有关用户的信息,例如其用户名及其全名。

John将生成来自这些字段的候选密码列表,并使用广泛的一组扫描规则(默认情况下,在单个裂缝模式下默认情况下,生成的列表将定制为每个用户。

您应该注意,当没有指定模式时,默认情况下的John以单裂模式开始,然后在以增量模式结束之前(将在即将到来的部分中看到)。

为了更好地说明此模式,让我们看看如何破解UNIX系统的密码的示例。

unix systems存储有关用户信息的古典密码文件是'/ etc / passwd'。但是,几乎所有Unix系统都在单独的文件'/ etc / shadow'中存储密码哈希。

现在,为了拥有Gecos字段和密码哈希的单个文件,我们可以使用John的“Unshadow”实用程序。

上面的命令将在名称“passwordfile”下的当前目录中保存生成的文件。

一旦我们拥有我们的密码文件,我们就可以使用单个裂缝模式运行John。

这是约翰的蛮力模式。启用后,John将在指定的Charset和密码长度限制内尝试所有可能的字符组合。

要启用增量模式,可以使用“ - ” - “ - ” - “ - ” - “ - ” - “ - ”选择“模式。此模式是定义要使用的字符集和密码长度限制的原因。

约翰附带一些预定义的增量模式。要选择最适合您目的的模式,您可以检查“John.Conf”文件,其中存储RIPPer的设置。

如本配置中定义的字母模式可以破解长度为1到13个字符的密码,以及52个可能的字符的字符集。

您可以在配置文件中找到的其他预定义模式包括:ASCII(所有可打印的ASCII字符),Alnum(所有字母数字字符),较低(仅小写字母)和数字(仅位数)。

如果找不到适合您需求的增量模式,则可以在配置中添加它。如果您决定这样做,我邀请您阅读关于如何自定义Ripper的官方文档。

默认情况下,John The Ripper检测到哈希类型,然后尝试根据该类型破解密码。但是,约翰有时会错过正确的类型。在这种情况下,最好绕过自动哈希检测并手动指定类型。为此,您可以使用“ - -format”选项,然后使用散列类型。

要获取所有支持的哈希格式的列表,可以运行以下命令:

您现在拥有所有基础知识,您需要使用John The Ripper开始打击密码。 当然,约翰还有其他我们尚未介绍的其他功能,所以如果您想要更完整的学习材料,我邀请您查看官方文档。