[工具教程]Kali中的工具John常见使用环境

常用使用环境:

1.破解Kali系统中的用户密码

首先需要使用John提供的的unshadow命令,因为john 对于需要使用的数据格式有一定要求,所以我们需要使用unshadow指令,合并/etc/passwd的数据和/etc/shadow的数据,然后使用> passwd.txt 指定生成的文件名称;

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

然后使用Kali中的john工具对生成的passwd.txt文件使用默认顺序破解模式(Wordlist mode)进行破解,但是此时可能出现报错提示如下:此时提示No password hashes loaded (未加载密码哈希)

john passwd.txt

出错原因:John无法识别当前加密方式(在编译过程中,没有指定合适的系统版本;导致编译出来的 john 文件不能识别64位机器的hash密码.)

解决方法:更换编译指令/指定加密算法

这里更换编译指令比较麻烦,因此我们通常进行手动指定加密算法,我们可以了解从Debian 11 / bullseye 系统 (适用于Kali)开始中的/etc/shadow文件中默认使用的密码哈希函数为:yescrypt

因此在Kali系统中我们只需要添加--format=[xxx]参数,即可指定John使用指定算法破解密码:

john --format=crypt passwd.txt

破解结束后无需再次对相同密文进行破解通常会提示:

Loaded [number] password hashes with [number] different salts (crypt, generic crypt([number]) [?/64])
No password hashes left to crack (see FAQ)

如果我们需要再次查看破解后的密码只需执行如下命令:

john --show passwd.txt

上面我们了解了如何使用John快速的对Linux系统进行破解,但是读者可能还会存在一些疑问,下面对相关知识点进行补充.

(1)John的其他常用命令和参数解析

官方Wiki:开膛手约翰用户社区资源 [Openwall 社区维基]

john --format=[加密方式] --wordlist=[字典路径] [待解密密文文件]

John 自带的密码字典,位于 /usr/share/john/password.lst

(2)如何识别常见的密码加密类型(如何选择--format=[]参数)

密码的加密算法可以通过观察/etc/shadow文件得到,有时候 John 无法很好地自动识别和加载哈希,此时我们可以使用其他工具来识别哈希类型,然后再将 john 设置为使用特定的哈希格式进行破解,有多种方法可以做到对哈希类型进行识别,下面给出四种解决方法:

2.1在线哈希识别器:

https://hashes.com/en/tools/hash_identifier

2.2 Hash-identifie:

https://gitlab.com/kalilinux/packages/hash-identifier/-/tree/kali/master

安装:
wget https://gitlab.com/kalilinux/packages/hash-identifier/-/raw/kali/master/hash-id.py
使用命令:
python3 hash-id.py
简单地启动它,输入你想要识别的hash值,它就会给出这个hash值可能对应的hash类型
2.3通过/etc/shadow文件识别加密类型:
/etc/shadow文件格式解析:
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

可以通过加密密码中的$[XX]特征识别当前加密密码的加密算法类型

2.4官方文档:

示例密码哈希编码字符串 [Openwall 社区维基]

如何生成各种格式的测试哈希 [Openwall 社区维基]

(3)示例

情景:我们有一台云服务器,使用Root账户登录后,查看/etc/shadow文件后,对应root用户的哈希值为,下图中的选中值:

$6$xaP5JVlQwY/Q7$cG.yPaQVnwY/Sdj9VMUz3fOtRejMtCrV3j6JLY2oI.Gp4VQiam.0hJik6nq7dKD60.C1MYDwP2qCywKC1Hz4w/

然后我们可以使用上面提到的几种方式对其进行加密方式进行识别,在这里我们使用在线识别的方式进行识别,可以看到能够成功识别

接下来我们使用John对其进行解密即可;

john --format=sha512crypt [待解密文件]

2.破解受密码保护的Zip压缩文件

理论:

我们可以用 John 破解密码保护的 Zip 文件:首先使用 John 工具套件的一个独立部分能将 zip 文件转换成 John 能够理解的格式(提取hash值),然后再进行破解;与我们之前使用的 unshadow 工具类似,我们将使用 zip2john 工具将 zip 文件转换为 John 能够理解的哈希格式(提取hash值),zip2john 的基本用法是这样的:

zip2john [options] [zip file] > [output file]

[options]           允许你向 zip2john 传递特定的校验和选项,这通常是不必要的
[zip file]          希望提取hash值的zip文件的路径
>                   这是输出指示器,我们用它来将这个文件的输出发送到..。
[output file]       这个文件将存储输出结果

示例用法
zip2john zipfile.zip > zip_hash.txt

开始破解:

使用了zip2john之后,我们就能够在示例中获取从 zip2john 输出的名为“ zip _ hash.txt”的文件,正如我们使用 unshadow 所做的那样,我们将“ zip _ hash.txt”直接提供给 john,因为我们已经为该文件做了输入格式的处理:

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

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值