了解如何使用 John the Ripper,这是一款功能强大且适应性强的哈希破解工具。
任务1:介绍
John the Ripper 是一个众所周知的、深受喜爱的、多功能的哈希破解工具。它结合了快速的破解速度和非凡的兼容哈希类型。
学习先决条件
为了获得最大的收益,我们建议您在前三个关于密码学的介绍性房间之后尝试这个房间。
除了基本的命令行功能外,没有其他学习先决条件。
学习目标
完成此房间后,您将了解如何使用 John 进行以下操作:
- 破解 Windows 身份验证哈希
- 破解哈希
/etc/shadow
- 破解受密码保护的 Zip 文件
- 破解受密码保护的 RAR 文件
- 破解 SSH 密钥
从任务 4 开始,您需要在连接的 VM、AttackBox 或您自己的系统上应用。为方便起见,您可以通过按下面的 Download Task Files(下载任务文件)按钮,从此任务中将所需的任务文件下载为单个 Zip 文件
任务2:基本术语
这个房间需要各种密码学术语的基本知识。为方便起见,在进入实际的哈希破解之前,我们会回顾最相关的术语和概念。
什么是哈希值?
哈希是一种获取任意长度的数据并以另一种固定长度的形式表示它的方法。此过程会屏蔽数据的原始值。哈希值是通过哈希算法运行原始数据来获得的。存在许多流行的哈希算法,例如 MD4、MD5、SHA1 和 NTLM。让我们尝试用一个例子来说明这一点:
如果我们采用 “polo”,一个包含四个字符的字符串,并通过 MD5 哈希算法运行它,我们最终会得到一个标准的 32 个字符的 MD5 哈希值。
b53759f3ce692de7aff1b5779d3964da
同样,如果我们采用 “polomints”,一个 9 个字符的字符串,并通过相同的 MD5 哈希算法运行它,我们最终会得到另一个标准的 32 个字符的 MD5 哈希值。
584b6e4f4586e136bc280f27f9c64f3b
是什么让哈希安全?
哈希函数设计为单向函数。换句话说,计算给定 input 的哈希值很容易;但是,在给定哈希值的情况下,找到原始输入是一个困难的问题。简单来说,在计算机科学中,一个难题很快就会变得在计算上不可行。这个计算问题的根源是数学 P 与 NP。
在计算机科学中,P 和 NP 是两类问题,可以帮助我们理解算法的效率:
- P(多项式时间):P 类涵盖其解可以在多项式时间中找到的问题。考虑按升序对列表进行排序。列表越长,排序所需的时间就越长;但是,时间的增加不是指数级的。
- NP (Non-deterministic Polynomial Time):类 NP 中的问题是可以快速检查给定解的问题,即使找到解本身可能很困难。事实上,我们不知道是否有一种快速的算法来首先找到解决方案。
虽然这是一个引人入胜的数学概念,被证明是计算和密码学的基础,但它完全超出了这个房间的范围。但抽象地说,对值进行哈希处理的算法将是 “P”,因此可以合理计算。然而,“un-hashing” 算法将是 “NP” 并且难以解决,这意味着它无法使用标准计算机在合理的时间内计算出来。
John 的用武之地
尽管该算法不可逆,但这并不意味着破解哈希值是不可能的。例如,如果您拥有密码的哈希版本,并且您知道哈希算法,则可以使用该哈希算法对大量单词(称为字典)进行哈希处理。然后,您可以将这些哈希值与您尝试破解的哈希值进行比较,以查看它们是否匹配。如果他们这样做了,您就知道哪个词对应于该哈希值 - 您已经破解了它!
这个过程称为字典攻击,John the Ripper 或通常简称为 John,是一种对各种哈希类型进行快速暴力攻击的工具。
了解更多
有关加密和解密的一些更深入的材料,我们推荐 Cryptography Basics 和 Public Key Cryptography Basics 房间;此外,对于哈希,我们推荐 Hashing Basics room。
这个房间将专注于最受欢迎的开膛手约翰的扩展版本,(Jumbo John)珍宝约翰。
任务3:设置系统
我这里使用内置的实验机
在这个房间的整个任务中,我们将使用以下设备:
- 开膛手约翰的“Jumbo John”版本
- RockYou 密码列表
如果您使用附加的虚拟机或 AttackBox,则无需在系统上安装 John the Ripper。因此,请随意跳过安装部分。如果您更喜欢使用系统进行安装,请继续阅读以了解如何继续安装。我们应该注意,如果您使用的 John the Ripper 版本不是 Jumbo John,您可能没有一些必需的工具,例如 zip2john
和rar2john
。
安装
John the Ripper 在许多操作系统上都受支持,而不仅仅是 Linux 发行版。在讨论之前,我们先了解了 John 的多个版本、标准的 “核心” 发行版和多个社区版本,它们扩展了原始 John 发行版的功能集。这些发行版中最受欢迎的是 “Jumbo John”,我们稍后会用到它的具体功能。
AttackBox 和 Kali
Jumbo John 已安装在连接的虚拟机和 AttackBox 上,因此如果您打算使用其中任何一个,则无需采取任何进一步措施。此外,像 Kali 这样的冒犯性 Linux 发行版附带了 Jumbo John。
您可以通过在终端中键入来仔细检查这一点。您应该会看到 John 的使用指南,第一行写着“John the Ripper 1.9.0-jumbo-1”或类似的东西,但版本号不同。john
其他 Linux 发行版
许多 Linux 发行版都提供了 John the Ripper,可从其官方存储库进行安装。例如,在 Fedora Linux 上,您可以使用 安装 John the Ripper,而在 Ubuntu 上,您可以使用 .不幸的是,在撰写本文时,这些版本提供了核心功能,并且错过了 Jumbo John 提供的一些工具。sudo dnf install john
sudo apt install john
因此,您需要考虑从源开始构建,以访问通过 Jumbo John 提供的所有工具。官方安装指南提供了详细的安装和构建配置说明。
在 Windows 上安装
要在 Windows 上安装 Jumbo John the Ripper,您需要在此处下载并安装 64 位系统的压缩二进制文件,或在此处下载并安装 32 位系统的压缩二进制文件。
词汇表
现在我们已经准备好了,我们必须考虑另一个不可或缺的组件:单词列表。john
正如我们之前提到的,要对哈希使用字典攻击,你需要一个要哈希和比较的单词列表;不出所料,这被称为 wordlist。有许多不同的单词表,可以在 SecLists 存储库中找到一个很好的集合。您可以在几个地方寻找用于攻击所选系统的单词列表;我们将快速浏览您可以找到它们的地方。
在 AttackBox 和 Kali Linux 发行版上,该目录包含一系列出色的单词列表。/usr/share/wordlists
RockYou
对于这个房间里的所有任务,我们将使用臭名昭著的 rockyou.txt
wordlist,这是一个非常大的常用密码 wordlist,从 2009 年一个名为 rockyou.com 的网站的数据泄露中获得。如果您未使用上述任何发行版,则可以从子部分下/Passwords/Leaked-Databases.tar.gztar
的 SecLists 存储库中获取rockyou.txt
wordlist。您可能需要使用 xvzf
从格式rockyou.txt.tar.gz
中提取它。
现在我们已经设置好了哈希破解器和单词列表,让我们继续进行一些哈希破解!
首先,让我们通过按下面的 Start Machine 按钮来启动虚拟机。
本机将在分屏视图中启动。如果 VM 不可见,请使用页面顶部的蓝色 Show Split View 按钮。
您还可以使用以下凭证通过 SSH 在 IP 地址访问虚拟机:10.10.246.66
- 用户名:
user
- 密码:
Tryhackme123!
任务4:破解基本哈希
有多种方法可以使用 John the Ripper 来破解简单的哈希。在继续我们自己破解一些之前,我们将先介绍一些。
John 基本语法
John the Ripper 命令的基本语法如下。我们将介绍使用时使用的特定选项和修饰符。
john [options] [file path]
john
:调用 John the Ripper 程序[options]
:指定要使用的选项[file path]
:包含您尝试破解的哈希的文件;如果它位于同一目录中,则无需命名路径,只需命名文件即可。
自动破解
John 具有内置功能,可以检测给定的哈希类型,并选择合适的规则和格式来为您破解它;这并不总是最好的主意,因为它可能不可靠,但如果您无法确定您正在使用的哈希类型并想尝试破解它,这可能是一个不错的选择!为此,我们使用以下语法:
john --wordlist=[path to wordlist] [path to file]
--wordlist=
:指定使用 wordlist 模式,从您在提供的路径中提供的文件中读取[path to wordlist]
:您正在使用的单词列表的路径,如上一个任务中所述
示例用法:
john --wordlist=/usr/share/wordlists/rockyou.txt hash_to_crack.txt
识别哈希
有时,John 不会很好地处理自动识别和加载哈希值,但这没关系!我们可以使用其他工具来识别哈希值,然后将 John 设置为特定格式。有多种方法可以做到这一点,例如使用像此站点这样的在线哈希标识符。我喜欢使用一个名为 hash-identifierhash-identifierhash-identifier 的工具,这是一个非常易于使用的 Python 工具,它会告诉你你输入的哈希类型可能是什么,如果第一个失败,它会给你更多选择。
要使用 hash-identifier,您可以使用 或从其 GitLab 页面下载 Python 文件。然后,启动它并输入您尝试识别的哈希值。它将为您提供最可能的格式列表。这两个步骤显示在下面的终端中。wget
curl
hash-id.py
python3 hash-id.py
user@TryHackMe$ wget https://gitlab.com/kalilinux/packages/hash-identifier/-/raw/kali/master/hash-id.py $ python3 hash-id.py
特定于格式的破解
确定要处理的哈希值后,您可以告诉 John 在使用以下语法破解提供的哈希值时使用它:
john --format=[format] --wordlist=[path to wordlist] [path to file]
--format=
:这是告诉 John 您正在为其提供特定格式的哈希值并使用以下格式破解它的标志[format]
:哈希值的格式
示例用法:
john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash_to_crack.txt
关于格式的说明:
当你告诉 John 使用格式时,如果你正在处理一个标准的哈希类型,例如上面例子中的 md5,你必须在它前面加上前缀,告诉 John 你只是在处理一个标准的哈希类型,尽管这并不总是适用的。要检查是否需要添加前缀,您可以使用 列出所有 John 的格式,然后使用类似 .raw-
john --list=formats
john --list=formats | grep -iF "md5"
实际
现在您已经了解了破解基本哈希的语法、修饰符和方法,请亲自尝试一下!这些文件位于连接的虚拟机上。~/John-the-Ripper-The-Basics/Task04/
这里我用的hash-identifier工具
任务5:破解 Windows 身份验证哈希
现在我们已经了解了 John the Ripper 的基本语法和用法,让我们继续破解一些更复杂的东西,如果你正在进行实际的渗透测试或红队交战,你甚至可能想尝试一下。身份验证哈希是操作系统存储的密码的哈希版本;有时可以使用我们的蛮力方法破解它们。要获得这些哈希值,您通常必须已经是特权用户,因此我们将在尝试时解释我们计划破解的一些哈希值。
NTHash / NTLM
NThash 是现代 Windows 操作系统计算机用于存储用户和服务密码的哈希格式。它通常也称为 NTLM,它引用了以前版本的 Windows 格式,用于对密码进行哈希处理,称为 LM,因此称为 NT/LM。
一点历史:Windows 产品的 NT 名称最初是指 New Technology。从 Windows NT 开始,它用于表示不是从 MS-DOS 操作系统构建的产品。最终,“NT” 行成为 Microsoft 发布的标准操作系统类型,该名称被删除,但它仍然存在于某些 Microsoft 技术的名称中。
在 Windows 中,SAM (Security Account Manager) 用于存储用户帐户信息,包括用户名和哈希密码。您可以通过在 Windows 计算机上转储 SAM 数据库、使用 Mimikatz(猕猴桃) 等工具或使用 Active Directory 数据库来获取 NTHash/NTLM 哈希:NTDS.dit
。您可能不必破解哈希来继续权限提升,因为您通常可以进行“传递哈希”攻击,但有时,如果存在弱密码策略,哈希破解是一个可行的选择。
实际
现在你已经知道了它背后的理论,看看你是否可以使用我们在上一个任务中练习的技术以及这是什么类型的哈希来破解文件!该文件位于~/John-the-Ripper-The-Basics/Task05/ntlm.txt
中。
任务6:破解 /etc/shadow 哈希
从 /etc/shadow 破解哈希
该文件是 Linux 计算机上存储密码哈希的文件。它还存储其他信息,例如上次密码更改日期和密码过期信息。它包含系统的每个用户或用户帐户的每行一个条目。此文件通常只能由 root 用户访问,因此您必须具有足够的权限才能访问哈希值。但是,如果您这样做,您将有机会破解一些哈希值。/etc/shadow
取消遮影
John 可以非常挑剔地处理它需要 data 格式才能使用它;因此,要破解密码,您必须将其与文件相结合,以便 John 理解它所提供的数据。为此,我们使用 John 工具套件中内置的名为 unshadow
的基本语法如下:
unshadow [path to passwd] [path to shadow]
unshadow
:调用 unshadow 工具[path to passwd]
:包含您从目标计算机获取的文件副本的文件/etc/passwd
[path to shadow]
:包含您从目标计算机获取的文件副本的文件/etc/shadow
示例用法:
unshadow local_passwd local_shadow > unshadowed.txt
文件说明
使用unshadow
时,您可以使用整个/etc/passwd
and /etc/shadow
文件(假设您有它们可用),也可以使用每个文件中的相关行,例如:
文件 1 - local_passwd
包含 root 用户的行:/etc/passwd
root:x:0:0::/root:/bin/bash
文件 2 - local_shadow
包含 root 用户的行:/etc/shadow
root:$6$2nwjN454g.dv4HN/$m9Z/r2xVfweYVkrr.v5Ft8Ws3/YYksfNwq96UL1FX0OJjY1L6l.DS3KEVsZ9rOVLB/ldTeEL/OIhJZ4GMFMGA0:18576::::::
裂化
然后,我们可以将 unshadow
的输出(在我们的示例用例中称为 )直接馈送到 John。我们不需要在这里指定模式,因为我们已经专门为 John 进行了输入;但是,在某些情况下,您需要指定格式,就像我们之前使用的那样:--format=sha512crypt
john --wordlist=/usr/share/wordlists/rockyou.txt --format=sha512crypt unshadowed.txt
实际
现在,看看您是否可以按照该过程破解文件中提供的 root 用户的密码哈希etchashes.txt
。祝你好运!这些文件位于~/John-the-Ripper-The-Basics/Task06/
中。
任务7:Single Crack 模式
到目前为止,我们一直在使用 John 的 wordlist 模式来暴力破解简单和不那么简单的哈希。但 John 还有另一种模式,称为 Single Crack 模式。在此模式下,John 仅使用用户名中提供的信息,通过稍微更改用户名中包含的字母和数字来尝试启发式地计算出可能的密码。
单词修饰
解释 Single Crack 模式和单词修饰的最好方法是通过一个例子:
考虑用户名 “Markus”。
一些可能的密码可能是:
- Markus1、Markus2、Markus3 (等)
- MArkus、MARkus、MARKus (等)
- Markus!, Markus$, Markus* (等)
这种技术称为单词修饰。John 正在根据它收到的信息构建它的字典,并使用一组称为 “mangling rules” 的规则,这些规则定义了它如何改变它开始的单词,以根据你试图破解的目标的相关因素生成一个单词列表。这利用了基于用户名或他们正在登录的服务的信息的密码质量有多差。
GECOS 公司
John 的单词修饰实现还与 UNIX 操作系统的 GECOS 字段以及其他类似 UNIX 的操作系统(如 Linux)兼容。GECOS 代表通用电气综合操作系统。在上一个任务中,我们查看了/etc/shadow
和/etc/passwd
的条目。仔细观察,您会注意到字段之间用冒号分隔。用户帐户记录中的第五个字段是 GECOS 字段。它存储有关用户的一般信息,例如用户的全名、办公室号码和电话号码等。John 可以获取存储在这些记录中的信息,例如全名和主目录名称,以添加到使用单破解模式破解哈希时生成/etc/shadow
的单词列表中。:
使用 Single Crack Mode
要使用 single crack 模式,我们使用与目前使用的语法大致相同的语法;例如,如果我们想破解名为 “Mike” 的用户的密码,使用单一模式,我们将使用:
john --single --format=[format] [path to file]
--single
:此标志让 John 知道您要使用单一哈希破解模式--format=[format]
:与往常一样,确定正确的格式至关重要。
示例用法:
john --single --format=raw-sha256 hashes.txt
关于 Single Crack 模式下的文件格式的说明:
如果你在单破解模式下破解哈希,你需要更改你提供给 John 的文件格式,以了解从哪些数据创建单词列表。您可以通过在哈希前面加上哈希所属的用户名来执行此操作,因此根据上面的示例,我们将更改文件hashes.txt
从 1efee03cdcb96d90ad48ccc7b8666033
自 mike:1efee03cdcb96d90ad48ccc7b8666033
实际
现在您已经熟悉了 John 的单破解模式的语法,访问哈希并破解它,假设它所属的用户称为 “Joker”。该文件位于 中。~/John-the-Ripper-The-Basics/Task07/
首先就是判断是什么类型的hash,显然是MD5(32位)
接着编译为joker:hashs
然后john --single --format=raw-MD5 hash07.txt
任务8:自定义规则
什么是自定义规则?
当我们探索 John 在 Single Crack Mode 中可以做什么时,您可能对一些好的修饰模式或您的密码经常使用哪些模式可以使用特定的修饰模式进行复制有一些想法。好消息是,您可以定义规则,John 将使用这些规则动态创建密码。当您了解有关任何目标的密码结构的更多信息时,定义此类规则的能力非常有用。
常见自定义规则
许多组织需要一定程度的密码复杂性来尝试对抗字典攻击。换句话说,在创建新帐户或更改密码时,如果您尝试使用类似 的密码,它很可能不起作用。原因是强制密码的复杂性。因此,您可能会收到一条提示,告诉您密码必须包含以下各项中的至少一个字符:polopassword
- 小写字母
- 大写字母
- 数
- 象征
密码复杂性很好!但是,我们可以利用大多数用户在这些交易品种的位置是可预测的这一事实。对于上述标准,许多用户将使用如下内容:
Polopassword1!
考虑先用大写字母和数字,最后加上符号的密码。这种熟悉的密码模式,附加和预置了修饰符(如大写字母或符号),是人们在创建密码时使用和重复使用的一种令人难忘的模式。这种模式可以让我们利用密码复杂性的可预测性。
现在,这确实满足了密码复杂性要求;但是,作为攻击者,我们可以利用我们知道这些添加元素的可能位置这一事实,从我们的单词列表中创建动态密码。
如何创建自定义规则
自定义规则在john.conf
文件中定义。此文件可以在/opt/john/john.conf
TryHackMe Attackbox 中找到。如果您使用包管理器安装了 John,或者使用/etc/john/john.conf
make
.
让我们回顾一下这些自定义规则的语法,使用上面的示例作为我们的目标模式。请注意,您可以在这些规则中定义大量精细控制。我建议查看此处的 wiki,以全面了解您可以使用的修饰符和规则实现的更多示例。
第一行:
[List.Rules:THMRules]
用于定义规则的名称;这是您将用于将自定义规则称为 John 参数的内容。
然后,我们使用正则表达式样式模式匹配来定义单词的修改位置;同样,我们在这里只介绍主要和最常见的修饰符:
Az
:获取单词并附加您定义的字符A0
:获取单词并在其前面加上您定义的字符c
:按位置将字符大写
这些可以组合使用来定义要修改的单词中的位置和内容。
最后,我们必须定义应该附加、前置或以其他方式包含哪些字符。我们通过在应该使用它们的方括号中添加字符集来实现这一点。这些遵循 double quotes 内的修饰符模式。以下是一些常见示例:[ ]
" "
[0-9]
:将包含数字 0-9[0]
:将仅包含数字 0[A-z]
:将同时包括大写和小写[A-Z]
:将仅包含大写字母[a-z]
:将仅包含小写字母
请注意:
[a]
:将仅包含a
[!£$%@]
:将包含符号 、 和!
£
$
%
@
综上所述,要从与示例密码匹配的规则中生成一个单词列表(假设该单词在我们的单词列表中),我们将创建一个如下所示的规则条目:Polopassword1!
polopassword
[List.Rules:PoloPassword]
cAz"[0-9] [!£$%@]"
利用以下内容:
c
:将首字母大写Az
:附加到单词的末尾[0-9]
:0-9 范围内的数字[!£$%@]
:密码后跟以下符号之一
使用自定义规则
然后,我们可以使用该标志将此自定义规则称为 John 参数。--rule=PoloPassword
作为完整命令:john --wordlist=[path to wordlist] --rule=PoloPassword [path to file]
请注意,如果您正在编写规则,我发现讨论这些模式会很有帮助;如上所示,这同样适用于编写 RegEx 模式。
Jumbo John 已经有一个广泛的自定义规则列表,其中包含几乎适用于所有情况的修饰符。如果你遇到困难,如果你的语法不能正常工作,试着查看那些规则 [在第 678 行附近]。
现在,是时候试一试了!
任务9:破解受密码保护的 zip 文件
是的!你没看错。我们可以使用 John 破解受密码保护的 Zip 文件的密码。同样,我们将使用 John 工具套件的单独部分将 Zip 文件转换为 John 可以理解的格式,但我们将使用您已经熟悉的语法来实现所有意图和目的。
Zip2John
与我们之前使用的unshadow
工具类似,我们将使用该工具zip2john
将 Zip 文件转换为 John 可以理解并希望破解的哈希格式。主要用法是这样的:
zip2john [options] [zip file] > [output file]
[options]
:允许您将特定的校验和选项传递给 ;这通常不是必需的zip2john
[zip file]
:要获取其哈希值的 Zip 文件的路径>
:这会将此命令的输出重定向到另一个文件[output file]
:这是将存储输出的文件
示例用法
zip2john zipfile.zip > zip_hash.txt
裂化
然后,我们可以获取示例用例中输出的文件zip2john
,zip_hash.txt
并像我们对unshadow
一样,将其直接馈送到 John 中,因为我们专门为它进行了输入。
john --wordlist=/usr/share/wordlists/rockyou.txt zip_hash.txt
实际
现在,尝试破解一个“安全”的 Zip 文件吧!该文件位于 中。~/John-the-Ripper-The-Basics/Task09/
zip2john secure.zip > secure.txt
john --wordlist=/usr/share/wordlists/rockyou.txt secure.txt
unzip secure.zip
任务10:破解受密码保护的 RAR 档案
破解受密码保护的 RAR 档案
我们可以使用与上一个任务中使用的类似的过程来获取 RAR 档案的密码。如果您不熟悉,RAR 存档是由 WinRAR 存档管理器创建的压缩文件。与 Zip 文件一样,它们会压缩文件夹和文件。
稀有2约翰
与该工具几乎相同,我们将使用该工具将 RAR 文件转换为 John 可以理解的哈希格式。基本语法如下:zip2john
rar2john
rar2john [rar file] > [output file]
rar2john
:调用工具rar2john
[rar file]
:要获取其哈希值的 RAR 文件的路径>
:这会将此命令的输出重定向到另一个文件[output file]
:这是将存储命令输出的文件
示例用法
/opt/john/rar2john rarfile.rar > rar_hash.txt
裂化
同样,我们可以获取示例用例中输出的文件,并将其直接馈送到 John 中,就像我们对 .rar2john
rar_hash.txt
zip2john
john --wordlist=/usr/share/wordlists/rockyou.txt rar_hash.txt
实际
现在,尝试破解一个“安全”的 RAR 文件吧!该文件位于 中。~/John-the-Ripper-The-Basics/Task10/
任务11:与 John 一起破解 SSH 密钥
破解 SSH 密钥密码
好的,好的,我听到了。没有更多的文件存档了!好!让我们探索一下 CTF 质询中半频繁出现的 John 的另一种用法 — 使用 John 破解文件id_rsa
的 SSH 私钥密码。除非另有配置,否则请使用密码验证 SSH 登录。但是,您可以配置基于密钥的身份验证,这允许您使用私钥id_rsa
作为身份验证密钥,通过 SSH 登录到远程计算机。但是,这样做通常需要密码才能访问私钥;在这里,我们将使用 John 来破解此密码,以允许使用该密钥通过 SSH 进行身份验证。
SSH2john
谁能猜到,另一个转换工具?嗯,ssh2john
这就是与 John 合作的全部意义所在id_rsa
。顾名思义,将用于登录 SSH 会话的私有密钥转换为 John 可以使用的哈希格式。撇开玩笑不谈,这是约翰多才多艺的另一个美丽例子。语法是关于你所期望的。请注意,如果您尚未安装ssh2john
,可以使用ssh2john.py
位于/opt/john/ssh2john.py
.如果您在 AttackBox 上执行此操作,请将命令替换为 ssh2john
或python3 /opt/john/ssh2john.py
Kali、python /usr/share/john/ssh2john.py。
ssh2john [id_rsa private key file] > [output file]
ssh2john
:调用工具ssh2john
[id_rsa private key file]
:要获取其哈希值的 id_rsa 文件的路径>
:这是输出控制器。我们使用它来将此命令的输出重定向到另一个文件。[output file]
:这是将存储
示例用法
/opt/john/ssh2john.py id_rsa > id_rsa_hash.txt
裂化
最后一次,我们将从 ssh2john 输出的文件提供,在我们的示例用例中,该文件称为 ,正如我们对 所做的那样,我们可以将其与 John 无缝地使用:id_rsa_hash.txt
rar2john
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa_hash.txt
实际
现在,我希望您破解与此任务相关的文件的哈希值!该文件位于 中。id_rsa
~/John-the-Ripper-The-Basics/Task11/
/opt/john/ssh2john.py id_rsa > id_rsa_hash.txt
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa_hash.txt
标签:txt,Cryptography,john,Cyber,哈希,使用,John,破解 From: https://blog.csdn.net/2301_79096184/article/details/144789656