如何用John the Ripper破解密码

1,552 阅读6分钟

用 "开膛手约翰 "破解密码

大多数人经常误解hacking 。从你的角度来看,你可能认为黑客是试图获得某些网络服务器的行为。嗯,你可能是对的。

但是,hacking ,也是试图探索突破防御机制的方法,利用系统的弱点,通过封堵系统中发现的漏洞,防止未经授权的各方进入系统。这种形式的黑客攻击通常被称为penetration testing ,也被称为笔测试

什么是渗透测试?

这是一种尝试,通过授权人员的许可,试图通过确定的漏洞进入系统,来确定安全系统的水平。另一方面,未经许可试图绕过系统的安全被认为是非法的,因此被称为Red Hat hacking

渗透测试的类型

渗透测试可以通过不同的方式进行。

让我们来看看系统漏洞被利用的一些常见方式。

  • External Pen Test - 这是一种攻击类型,笔试者使用公开可用的信息,试图获得进入系统的权限。被利用的漏洞可以授予笔试者远程访问私人数据的权限。像这样的漏洞在不需要的一方获得访问权之前就被发现并封存。

  • Internal Pen Test- 这是一种笔测试,攻击者试图通过物理访问内部资源,植入恶意驱动器,或扮演一个不怀好意的员工来获得对私人数据的远程访问。

  • Social Engineering- 有人说,任何安全系统中最薄弱的环节就是人。笔试者可以通过提问或欺骗员工,试图从员工那里提取有用的信息。这种类型的渗透测试被称为社会工程。

知道了什么是渗透测试后,让我们看看什么是密码破解

首先,让我们了解一下密码是如何存储在你的电脑或任何服务器上的。

当你在一个账户中输入密码时,该密码并不是以原始格式保存的。hashing algorithm 将原始密码转换为一系列的字符(哈希值),这需要花费大量的时间和资源来解码。

这就是John the Ripper 的作用。John the Ripper 是一个免费的、开源的密码破解和恢复安全审计工具,可用于大多数操作系统。

它有一堆原始和散列格式的密码。这一堆存储在一起的密码被称为password dictionary

现在要破解密码,开膛手约翰将以哈希格式识别所有潜在的密码。然后,它将把散列的密码与初始散列的密码进行匹配,并试图找到一个匹配的密码。

如果在密码哈希值中找到匹配,John the Ripper就会以原始形式显示密码,作为破解的密码。匹配密码哈希值以找到一个匹配的过程被称为dictionary attack

知道了密码破解的过程,让我们来看看John the Ripper在破解过程中是如何执行命令的。

目标

在本教程中,我们将学习如何发现系统中的弱口令。我们将使用John the Ripper ,安全专家广泛使用的是Kali Linux 操作系统。

免责声明:本教程仅用于学术目的,针对本指南中的任何材料所采取的任何行动都是你自己的责任。

前提条件

在你开始任何黑客或密码破解之前,你应该带着以下东西。

  • 在你的机器上安装Kali Linux和John the ripper。
  • 在你的系统上安装了Git

如何安装 John the Ripper

John the Ripper通常预装在Kali Linux中,但如果你还没有它,你可以按照下面的步骤在基于Linux的机器上安装它。

在你的机器上安装开膛手约翰的方法有很多,但我们将看看一些基本的方法。

1.从源代码安装

同时按住Ctrl+Alt+T打开终端,运行以下命令。

mkdir src

这将创建一个目录,我们将在其中存储所有的文件。

导航到src 目录并克隆John the Ripper资源库,如下图所示。

cd src
git clone https://github.com/openwall/john.git

Cloning John the Ripper repository

这将创建一个名为John 的目录。为了使其激活,我们需要运行下面的命令。

cd john

导航到src 目录,我们将在这里设置和配置编译源。

cd src
./configure

Configuring files in src directory

运行make 命令,将源代码编译成可执行程序和库。这可能需要一些时间,取决于你的机器和分配给它的资源。

make

最后,运行make install 命令来安装开膛手约翰。

make install

Run make install command

运行下面的命令,看看安装是否成功。

cd ..
cd run
./john

Confirm Installation

2.从软件包中安装

你也可以通过运行下面的命令来安装John the Ripper。

sudo apt install john

Install from package

John the Ripper如何破解密码

在破解过程中,John the Ripper使用了一个彩虹表的方法,它从一个内置的字典中取词,这个字典是自带的。

然后,它编译该字典的变化,并将散列的密码与密码文件中的内容进行比较,试图找到一个匹配的密码。这样反复进行,直到找到匹配的密码。

破解密码的例子

你将需要运行不同的命令,这取决于你所利用的目标类型。

让我们看看使用开膛手约翰破解密码时可能遇到的一些情况。

1.破解一个zip/rar 密码保护的文件

破解一个ziprar 文件的密码,也是用同样的方法。

首先,我们需要访问我们要破解的密码的哈希值。注意你的压缩文件的名称,因为你将被要求在其余的命令中说明它。

要访问密码哈希值,请导航到你的zip密码保护文件的位置,在终端运行以下命令。

zip2john Test.zip

你可以将输出结果导出到一个文本文件,以保存密码哈希值,因为我们以后要使用它。

zip2john Test.zip > hash.txt

要开始攻击你的zip文件,请运行下面的命令。

john --format=zip hash.txt

在上面的命令中,我们已经指定了目标文件的格式。

密码破解过程就开始了。这就是密码强度的作用。密码越强,执行攻击所需的时间就越长。

攻击成功后,密码将显示在终端上。

2.破解Kali Linux中的用户账户密码

接下来,我们将学习如何使用John the Ripper破解另一个用户的账户密码。

首先,让我们创建另一个用户账户,我们要破解它的密码。在终端中运行下面的命令。

sudo useradd -r James

Adding User

我们已经创建了一个名为James 的用户账户。

现在,让我们为该账户设置密码。

sudo passwd James

运行下面的命令来破解詹姆斯的密码。

john /etc/shadow

开膛手约翰将首先识别哈希方法并显示在终端上。然后,它将密码哈希值解码为原始密码并显示出来。

总结

在本教程中,我们已经学到了以下内容。

  • 在Kali Linux机器上安装John the Ripper。
  • 破解一个受密码保护的zip/rar文件的密码。
  • 在Kali Linux机器上创建和破解一个二级用户账户的密码。