John the Ripper
John The Ripper是一个免费的密码破解工具。它最初为Unix操作系统开发,但可以在十五种不同的平台上运行(其中十一种是特殊体系结构的Unix,以及DOS,Win32,BeOS和OpenVMS版本)。它是最常用的密码测试和破解程序之一[3][4],因为它将许多密码破解程序组合到一个软件包中,可以自动检测密码的雜湊值类型,并包括可自定义的破解程序。它可以针对各种加密的密码格式运行(这包括了各种基于DES,MD5或Blowfish加密的Unix版本,Kerberos AFS和Windows NT/2000/XP/2003中最常见的几种加密密码雜湊值类型)。其他模块扩展了其功能,以扩展在基于MD4的密码雜湊值和存储在LDAP、MySQL等中的密码破解功能。[5]
開發者 | N/A |
---|---|
当前版本 | |
源代码库 | |
操作系统 | Cross-platform |
类型 | 密码破解 |
许可协议 | GNU General Public License Proprietary (Pro version) |
网站 | www |
样本输出
这是在Debian Linux环境下的样本输出:
$ cat pass.txt
user:AZl.zWwxIh15Q
$ john -w:password.lst pass.txt
Loaded 1 password hash (Traditional DES [24/32 4K])
example (user)
guesses: 1 time: 0:00:00:00 100% c/s: 752 trying: 12345 - pookie
第一行的命令是显示pass.txt
中的内容。下一行是这个文件的内容,即用户AZl
和用户关联的雜湊值zWwxIh15Q
。第三行使用了-w
参数运行John The Ripper的命令。password.lst
是一个文本文件的名称,该文件充满了程序将对雜湊值进行处理的单词,pass.txt
是我们希望John处理的文件。
然后我们看到了John The Ripper的输出结果。加载了1个密码雜湊值(我们在cat命令中看到的密码)以及John The Ripprt猜测的雜湊值类型(为传统DES)。 我们还看到,尝试需要在0的时间进行一次猜测,猜测率为100%。
攻击类型
John The Ripper可以使用的模式中,其中一种是字典攻击。它通常从文件获取文本字符串样本通常从文件(称为单词列表,其中包含在词典中找到的单词或之前破解的真实密码),以与检查的密码相同的格式对其进行加密(包括加密算法和密钥),并将输出与加密的字符串进行比较。它还可以对字典单词进行各种修改,并尝试这些修改。这些更改中的许多更改也用在John The Ripper的单一攻击模式中,该模式修改了关联的纯文本(例如带有加密密码的用户名),并根据雜湊值检查了变化。
John The Ripper还提供了暴力模式。在这种模式的攻击中,程序将遍历所有可能是密钥的纯文本,对每个纯文本进行雜湊運算,然后将其与输入雜湊值进行比较。John The Ripper使用字符频率表来尝试首先包含较为常用的字符纯文本。此方法对于破解未出现在词典单词列表中的密码很有用,但运行时间较长。