文章前言

在我们的渗透测试中或多或少都会涉及到密码的破解,本篇文章将对John的常用用法进行简单的介绍~

工具简介

John the Ripper是目前最受欢迎的密码测试和破解程序之一,它主要用于在已知密文的情况下尝试破解出明文,支持目前大多数的加密算法,如DES、MD4、MD5、SHA-1等,John the Ripper最初是为UNIX操作系统开发的,后来也相继为其他平台开发,目前支持包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS等多种平台。

基本使用

John the Ripper已预安装在了Kali中,本文涉及的破解皆在Kali中进行~

帮助信息

我们可以在Kali 终端输入"john"直接运行该工具并查看其相关参数说明:

john

配置文件

john.conf是john默认破解规则的配置文件,用户可自行设置每种模式下的具体破解规则,一般特殊的需求,我们是很少改配置的,有兴趣可以自我看一下:

/usr/share/john/john.conf

内置应用

john内置了一些应用用于辅助破解一些文件格式的密码散列,这些辅助实用程序可以通过以下命令查看:

locate *2john

破解模式

John the Ripper以四种不同的方式破解密码:

  • Wordlist mode:有规则及无规则的字典破解模式
  • Single crack mode:最简单的咨讯(源自登录名、"GECOS"、"Full Name"等字段)来进行破解的工作, 速度最快
  • Incremental mode:增强破解模式也被为"暴力法",这将尝试所有可能的字元组合
  • External mode:用户可以自我定义破解模式

纤细的介绍可以移步:https://www.openwall.com/john/doc/MODES.shtml

用户凭证1

下面介绍两种用于破解Linux用户凭证的方法,在此之前我们需要先创建一个用户——Al1ex/123456

方法1:直接破解

首先查看shadow文件,获取用户Al1ex的凭据并将其保存到一个文本文件中,这里将其命名为crack.txt

cat /etc/shadow

之后使用John直接进行破解

john crack.txt

方法2:批量破解

对于第二种方法我们将破解所有用户的凭据,要做到这一点我们将不得不使用John the ripper的一种叫做"unshadow"的工具,通过该工具来组合/etc/passwd和/etc/shadow文件,以便john可以使用它们来破解它们:

unshadow /etc/passwd /etc/shadow > crack.txt

之后使用John来破解所有用户的用户凭证

john crack.txt

当然你也可以通过参数"--wordlist"来指定字典路径(可以是自我前期信息收集阶段构建的字典也可以是John自带的字典)

john --wordlist=/usr/share/john/password.lst crack.txt

用户凭证2

下面介绍对于Windows的身份凭证的破解方法~

首先,我们需要通过reg的save选项将注册表中的SAM、System文件导出到本地磁盘(需要管理员权限哦)

reg save hklm\sam sam.hive
reg save hklm\system system.hive

之后在Kali中使用samdump执行以下命令将哈希提取到 hash.txt 文件中

samdump2 system.hive sam.hive > hash.txt

之后使用John进行破解

john -format=NT hash.txt  #破解,使用john自带的密码字典

之后可以通过以下命令来查看指定格式的破解结果

john --show -format=NT hash.txt   

中断/恢复

当John the Ripper正在破解一些密码时,我们可以中断或暂停破解,并在方便的时候恢复或重新开始破解,您可以通过按"q"或crtl+c来中断cracking

crtl+C

要恢复破解过程,我们可以使用John the Ripper的–restore选项即可

john --restore

加密破解

下面我们使用John the Ripper来解密常见的加密密文,关于John the Ripper支持的破解加密类型可以执行以下命令来查看:

john --list=formats

MD4

要解密md4加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-md4 crack.txt

MD5

要解密md5加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --format=Raw-MD5 rack.txt#rack.txt格式
usernaem:passwordHash

SHA1

要解密sha1加密,我们可以使用rockyou作为字典列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-sha1 crack.txt

SHA256

为了解密sha256加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-sha256 crack.txt

SHA512

为了解密sha256加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-sha256 crack.txt

RIPEMD128

要解密ripemd128加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=ripemd-128 crack.txt

RIPEMD160

要解密ripemd160加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=ripemd-160 crack.txt

Whirlpool

要解密whirlpool加密,我们将使用rockyou作为单词列表并破解密码,如下所示:

john --wordlist=/usr/share/wordlists/rockyou.txt --format=whirlpool crack.txt

RAR Password

下面我们将破解一些压缩文件,为此我们必须创建一个要压缩的文件,所以让我们使用echo命令来完成:

echo Hacking.in > file.txt

John the Ripper可以破解rar文件密码,为了测试密码的破解,首先让我们创建一个压缩的加密rar文件

rar a -hpabc123 file.rar file.txt#参数说明
a = Add files to archive
hp[password] = Encrypt both file data and headers

当您尝试打开文件时,会出现以下提示

现在john不能直接破解这个密钥,首先我们必须改变它的格式,这可以使用一个名为"rar2john"的john实用程序来完成

rar2john file.rar > crack.txt

现在使用jhon来进行破解:

john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt

ZIP Password

John the Ripper可以破解zip文件密码,为了测试密码的破解,首先让我们创建一个压缩的加密zip文件

zip -er file.zip file.txt#参数说明:
e = Encrypt
r = Recurse into directories

以上的操作会把我们的file.txt压缩和加密成file.zip,因此当您试图打开文件时,您将会看到以下提示:

现在john不能直接破解这个密钥,首先我们必须改变它的格式,这可以使用一个名为"zip2john"的john实用程序来完成

zip2john file.zip > crack.txt

现在让我们用John the Ripper来破解:

john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt

7-Zip Password

John the Ripper可以破解7-zip文件密码,为了测试密码的破解,首先让我们创建一个压缩的加密7z文件

7z a -mhe file.7z file.txt -p"password"#参数说明:
a = Add files to archive
m = Set compression Method
h = Calculate hash values for files
e = Encrypt file
p = set Password

这将把我们的file.txt压缩和加密成一个file.7z,当您试图打开文件时,您将会收到以下提示

现在john不能直接破解这个密钥,我们需要改变它的格式,这可以使用一个名为"7z2john"的john实用程序来完成,这不是内置的实用程序,可以从这里下载:

https://github.com/truongkma/ctf-tools/blob/master/John/run/7z2john.py

python 7z2john.py file.7z > crack.txt

现在让我们用John the Ripper来破解这个hash:

john -wordlist=pass.txt crack.txt

PuTTY Password

John the Ripper可以破解RSA加密中创建的putty私钥,为了测试私钥的破解,首先我们必须创建一组新的私钥,为了做到这一点,我们将使用一个随putty一起提供服务的工具——"putty密钥生成器"

点击"generate"生成密钥后,我们会看到一个窗口,我们将在其中输入密钥密码

输入密码后,单击保存私钥,在生成的传输密码会以.ppk文件的形式保存,之后复制ppk文件到kali linux,现在john不能直接破解这个密钥,首先我们必须改变它的格式,这可以使用一个名为"putty2john"的john实用程序来完成:

putty2john file.ppk > crack.txt

之后使用john进行破解

john crack.txt

Keepass2 Crack

John the Rippe可以破解keeppass2 key,为了测试密钥的破解,首先我们必须创建一组新的密钥,为此我们将使用一个名为"kpcli"的实用程序并通过该程序的命令"Save as"创建一个数据库文件,并将该数据库文件命名为al1ex.kdb:

john不能直接破解这个密钥,首先我们必须改变它的格式,这可以使用一个名为"keepass2john"的john实用程序来完成:

keepass2john al1ex.kdb > crack.txt

现在使用John the Ripper来破解这个密码:

john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt

Other Password

a、mssql 2012系列数据库用户hash:

john --wordlist=weakpass.txt --format=mssql12 hash.txt

b、mysql 系列数据库用户hash:

 john --wordlist=weakpass.txt --format=mysql-sha1 hash.txt

c、oracle 11g 数据库用户hash

john --wordlist=weakpass.txt --format=oracle11 hash.txt

相关链接

https://github.com/openwall/john

https://openwall.info/wiki/john/johnny

https://www.openwall.com/lists/john-users/

https://www.jisuan.mobi/index.php?tag=hash

https://countuponsecurity.files.wordpress.com/2016/09/jtr-cheat-sheet.pdf

Guide for John the Ripper相关推荐

  1. John the Ripper

    John the Ripper John the Ripper(简称John)是一款著名的密码破解工具.它主要针对各种Hash加密的密文.它不同于Rainbow Table方式.它采用实时运算的方式和 ...

  2. John the Ripper 密码破解者

    John the Ripper

  3. 利用 John the Ripper 破解用户登录密码

    一.什么是 John the Ripper ? 看到这个标题,想必大家都很好奇,John the Ripper 是个什么东西呢?如果直译其名字的话就是: John 的撕裂者(工具). 相比大家都会觉得 ...

  4. John the Ripper 著名密码破解工具

    著名密码破解工具 John the Ripper 发布了 1.9.0-jumbo-1 版本. John the Ripper 是一款速度很快的密码破解工具,目前可用于 Unix.macOS.Windo ...

  5. Ubuntu中使用john the ripper口令破解

    一   创建新用户 登录到root用户,如果已有root用户可跳过本步骤(如果你之前有设置过root用户,那就通过以下命令更改密码) sudo passwd root 然后登陆root su root ...

  6. Linux小白想成为007,先会用“John the Ripper工具”

    内容预知 1. John the Ripper工具的简介 2. Linux中软件的下载方法 3. John the Ripper工具从下载到使用过程 3.1 安装软件包 3.2 准备破译的文件 3.3 ...

  7. 密码破解工具John the Ripper使用说明

    John the Ripper John 包描述 John the Ripper 既功能丰富又运行快速. 它在一个程序中结合了几种破解模式,并且可以根据您的特定需求进行全面地配置(你甚至可以使用支持C ...

  8. John the Ripper编译安装及使用

    在现如今的Internet环境里,过于简单的口令.密码是服务器的最大风险.尽管都知道要设置一个长且复杂的口令密码会更安全,但仍有部分用户图省事而采用简单.便于记忆的口令密码字串.对于任何一个肩负安全责 ...

  9. john the ripper跑多核多cpu

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 普通的j ...

最新文章

  1. img标签 文件不存在_HTML常用标签
  2. C语言中嵌入正则表达式
  3. CSS3无前缀脚本prefixfree.js及Animatable介绍
  4. Mac 编译报错 symbol(s) not found for
  5. Oracle11g创建表空间语句
  6. requestfacade 这个是什么类?_Java 的大 Class 到底是什么?
  7. delphi控件切图界面闪烁_DirectUI用户手册.pdf
  8. python内置类型和类_python – 内置类型和用户定义之间的不一致
  9. Linux下svn 安装搭建配置流程
  10. 二叉搜索树c++_LeetCode98验证二叉搜索树
  11. 特斯拉最强自动驾驶系统登场,实测视频火热出炉
  12. python学习:Python 包
  13. SQL Server内部的内存管理
  14. linux-getch函数
  15. 浅谈Java程序员的黄金五年,如何实现快速进阶
  16. 苹果电脑上好用的五个文档文本编辑工具
  17. 计算机系统导论与计算机导论,计算机系统导论之学习心得
  18. PDF文件太大,如何将它压缩得更小一点?
  19. openmodelica安装
  20. 站长开源工具箱V2.0网站源码

热门文章

  1. HTML <bdi> 标签
  2. javax.mail包的官网下载地址
  3. RINEX 采用的格式说明
  4. 微信小程序的自动化测试框架
  5. 2021年 山东大学 算法导论考卷 回忆版
  6. swf文件解析(一) 文件header部分解析
  7. 山城有朵火热的云……
  8. 从ST官网获取标准外设库以及官方例程
  9. Linux系统简介与深度解析
  10. Web中实现Flash播放器点播视频(Web向Flash中传递参数)