sudo apt install john
John是一款备受喜爱的密码破解工具,它支持目前大多数的加密算法,如DES、MD4、MD5等。除了字典破解方式,John还支持暴力破解方式。它适用于多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS。John能够自动识别需要破解的哈希类型,并找到适用于该类型哈希的破解方法,因此我们可以直接使用John进行密码破解。如果您的系统中没有安装此工具,可以执行以下命令进行安装。
john [options] [path to file]
john --wordlist=/usr/share/wordlists/mima.txt hash.txt
John的基本语法是[path to file],其中路径包含了您要破解的哈希文件。为了方便起见,我们将需要破解的哈希值直接存放在了txt文件中。John能够自动检测给出的哈希类型,并为您选择合适的规则和格式来破解它,这是最简单的选择!
john --format=raw-md5 --wordlist=/usr/share/wordlists/mima.txt hash.txt
unshadow /etc/passwd /etc/shadow > mima.txt
如上所述,我们只需要指定密码字典的位置和哈希的位置即可。如果您知道密码的加密类型,可以直接使用–format参数来指定类型。
实战中,我们可以利用John来破解Linux密码。Linux系统账户存储在/etc/passwd中,密码存储在/etc/shadow中。我们可以将/etc/passwd文件和/etc/shadow文件合并成一个.txt文件。
john mima.txt
要破解密码,如果出现”Using default input encoding: UTF-8″的提示,并不意味着破解失败,而是说明该哈希之前已经被破解过。使用john –format=crypt命令可以还原明文。
zip2john aaa.zip > zip.txt
john --wordlist=pass.txt zip.txt
rar2john kali.rar > kali.txt
john --wordlist=pass.txt kali.txt
除了破解zip压缩包,我们还可以生成一个带有密码的zip压缩包,并在Kali中获取对应的哈希。
与破解rar压缩包类似,我们可以先使用命令转换rar文件格式(提取哈希值)。
综上所述,John和之前提到的hashcat一样,都是非常强大的密码恢复工具。相比之下,John的破解范围更广,不仅支持密码字典,还支持密码组合。然而,John更加专注于哈希类的破解。两者各有千秋!