您的位置:

John the Ripper——密码破解

一、安装


$ git clone https://github.com/magnumripper/JohnTheRipper.git
$ cd JohnTheRipper/src
$ ./configure && make -s clean && make -sj4
# 安装
$ sudo make install

John the Ripper是一个密码破解工具,可以用来破解多种加密方式。在使用John之前需要安装OpenSSL,OpenMP等依赖,建议在安装前进行检查。

下载John的源代码后,进入源码目录执行configure,make,make install即可完成安装。建议在安装前加sudo让用户具备安装权限。

二、简介

John the Ripper可以破解许多类型的密码,包括Unix密码,Windows LM或NTLM哈希,加密ZIP和RAR,加密PDF,加密Office文档等。它也可以破解通过网络抓包得到的hash值,用于单机和分布式高性能破解。

John the Ripper所使用的技术称为密码破解,使用字典攻击、暴力破解、彩虹表等方式进行攻击。字典攻击是指通过对目标密码进行字典匹配猜测,能找到目标密码所在的单词或词组。暴力破解是指穷举猜测目标密码的所有可能性,是最耗费时间的破解方式。而彩虹表则是一个预先计算好的加密值和对应密码的列表,用彩虹表可以在很短时间内进行高效的破解。

三、使用

以下为使用John the Ripper进行密码破解的步骤:

  1. 准备好字典或者彩虹表等攻击工具。
  2. 解密目标文件,获得加密文件的hash值。
  3. 使用John the Ripper进行破解。

以下为破解Linux用户密码的示例代码:


# 暴力破解(单机)
$ john /etc/shadow
# 字典攻击(单机)
$ john --wordlist=[字典路径] /etc/shadow
# 字典攻击(分布式高性能)
$ john --fork=[计算机数目] --nodefinite --wordlist=[字典路径] /etc/shadow
# 彩虹表攻击(单机)
$ john --format=nt --stdout --wordlist=[字典路径] | samdump2 system SAM > cracked.txt

第一个命令中,我们尝试对/etc/shadow文件进行暴力破解,使用默认的字典进行破解。

第二个命令中,我们通过指定字典类型为wordlist,指定字典路径,对/etc/shadow文件进行字典攻击。

第三个命令中,我们使用了分布式高性能字典攻击,使用--fork参数指定计算机数目,在多台计算机上进行高效破解。

最后一个命令中,我们使用了彩虹表攻击,使用了--format参数指定加密格式为nt,用于Windows NT类型的hash值的破解。