本文将介绍密码破解工具JTR的初步使用方法,包括使用示例、应用技巧、基本知识总结和注意事项。JTR是John The Ripper的缩写,最初用于破解Linux系统用户的哈希值,但现在已经扩展到其他散列类型。尽管在某些方面与hashcat相比还有差距,但JTR有其独特之处。在开始之前,我们先来了解一下JTR的安装方法。
在Windows下,可以使用预编译的可执行文件,但实际破解时仍建议使用Linux版。下面简要介绍在Linux下的安装方法。在Ubuntu 16.04.2 LTS环境下,使用John The Ripper 1.8版本。对于类似的哈希破解工具,需要一台性能较好的机器,可以是独立的显卡或CPU。编译安装过程非常简单,如下所示(如果不想手动输入命令,可以将其放入脚本中运行)。
安装完成后,如果看到以下情况,基本上安装就成功了。这里还有一些建议:
-
下面是John默认破解规则的配置文件(可以自行设置每种模式下的具体破解规则,一般情况下我们很少更改配置)。如果感兴趣,可以仔细阅读该文件。
-
在运行期间,John会在当前目录生成一个john.pot文件,用于缓存破解时的数据,主要用于记录破解进度等。如果每次想从头开始破解,只需手动删除该文件,然后重新运行即可。
接下来是一些常用参数的解释。关于不同破解模式的官方介绍如下,建议多阅读官方文档,对您肯定会有很大帮助。
- Incremental模式详解
- Incremental模式的默认破解规则
- 破解模式的具体方法
- 破解的密码长度
- 所包含的字符
接下来是一些测试示例。以破解Linux系统用户密码哈希为例,我们首先需要合并Linux系统中的用户/组和密码哈希的配置文件。实际操作中,您可以先下载目标账户的哈希文件,然后在本地合并。另外,JTR有一个很好的功能,如果不知道某个哈希的具体散列类型,只需在john后面跟上要破解的哈希即可,它会自动识别类型,并先尝试简单模式,如果无法破解,则自动使用增量模式。
下面是一些实际测试的示例,包括测试用户和破解过程。为了尽快演示实际的破解效果,我们尽量选择字典模式。以下是一些示例:
- 粗暴简单的爆破模式(single)
- 基于字典的爆破模式(wordlist)
- 只破解特定shell类型的用户哈希
- 逐个遍历的爆破模式(逐位数字)
- 显示已破解的哈希
实际破解中推荐的爆破顺序是:首先破解最普通的MD5,然后是NTLM。可能是在编译时没有添加某些库,导致JTR不支持NT2类型的哈希,所以后面的示例中直接使用了Windows版的John。接下来是破解MSSQL 2012系列数据库用户哈希、MySQL系列数据库用户哈希、Oracle 11g数据库用户哈希和PostgreSQL数据库用户哈希。对于这些数据库,不需要特意指定类型,让JTR自动识别即可。
接下来是破解Office系列加密后的哈希(2016)、Drupal 7用户密码哈希、RAR系列密码哈希、ZIP密码哈希、7z密码哈希和PDF密码哈希。这里可能会遇到一些脚本问题,暂时不予处理。最后是破解WPA/WPA2哈希,直接从标准输出中读取密码然后逐个尝试。
以上是关于JTR的入门使用介绍,基本上涵盖了大部分内容。它确实非常简单,支持的哈希类型几乎都是一样的,关键是了解各种爆破模式的工作原理和各种哈希的提取方法。关于自定义规则,我会在以后的文章中单独说明。与hashcat相比,JTR唯一的优点是,如果您不指定目标哈希类型,它会自动匹配。但实际破解中,与hashcat相比还有一定差距(就免费版而言)。希望这篇文章对您有所帮助。