使用 John the Ripper 进行弱口令检测和破解

本文详细介绍了如何在Linux环境下安装并使用JohntheRipper密码破解工具,包括下载、编译、运行等步骤,并演示了如何利用弱口令字典检测或破解shadow文件中的密码。

官方网站:http://www.openwall.com/john/

下载:wget http://www.openwall.com/john/j/john-1.8.0.tar.gz

解压:tar -xvf john-1.8.0.tar.gz

进入src目录:

cd john-1.8.0 && cd src

make

根据自己系统版本选择。

make clean linux-x86-64

编译成功会在run目录下生成john可执行文件。

John the Ripper 的使用方法

  1. 检测(或者说破解)弱口令
    1)Linux 的用户口令保存在 “/etc/shadow” 文件中,可先将其拷贝到一个文本文档中:
# shadow 加密保存 root 或其他用户的口令
sudo cat /etc/shadow
root:$6$6VgjtRpu$DbbXO54tDOsqhEQD1rqrwrL83cd4fSUisNHvFu69VA5mYIKtE556LQzzbaSxGLQFh7u.smpe2meRjTPn5y0uJ1:17716:0:99999:7:::
andy:$6$DK4ye8lg$.DWNm6KZbt.0gbpwN/KoKUoC.2wONd.JQL/Dp8jGYOcUHAt37ecz24Zy5bfq3EUw8Ajt1aAuQT.hWEqxPr1Su1:17716:0:99999:7:::

#拷贝 shadow 文件
sudo cp /etc/shadow shadow.txt

2)执行检测或破解

#执行检测或破解
andy@localhost:~$ run/john shadow.txt 
Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123456           (andy)
123456           (root)

andy@localhost:~$ run/john --show shadow.txt 
root:123456:17716:0:99999:7:::
andy:123456:17716:0:99999:7:::
  1. 更新弱口令字典
    1)John the Ripper 针对弱口令的检测或破解,其实就是利用了弱口令字典。其默认的字典保存在 “run” 目录中,文件名为 “password.lst”,下面截取了一小段,感受一下
123456
12345
password
password1
123456789
12345678
1234567890
abc123
computer
tigger
1234
qwerty
money
carmen
mickey
secret
summer
internet
a1b2c3
123
service

2)做一个实验,我把用户的密码强度提高,比如123456@china,这就不在弱口令字典中了

andy@localhost:~$ sudo passwd andy
[sudo] password for andy: 
Enter new UNIX password: 
Retype new UNIX password: 

3)重新拷贝 “/etc/shadow” 文件,然后进行检测或破解,你会发现经过很长时间也破解不了
在这里插入图片描述

4)将该密码也作为弱口令添加到弱口令字典中,再进行检测或破解呢?
在这里插入图片描述

重新执行检测或破解,这次很快就破解了。也就是说,随着时间的延续发展,可以不断的更新弱口令字典,以保证口令的强度。

andy@localhost:~$ run/john shadow.txt 
Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64])
Remaining 1 password hash
Press 'q' or Ctrl-C to abort, almost any other key for status
123456@china     (andy)

andy@localhost:~$ run/john --show shadow.txt 
root:123456:17716:0:99999:7:::
andy:123456@china:17821:0:99999:7:::

2 password hashes cracked, 0 left
### 使用John the Ripper在Windows上的操作指南 #### 下载与安装 为了在Windows上使用John the Ripper,需先下载适用于该系统的二进制版本。可从官方资源获取John the Ripper 1.7.9的Windows版二进制文件,大小约为2029 KB,并验证其签名以确保安全性[^1]。 #### 配置环境变量 解压下载好的ZIP文件到指定目录后,建议配置系统路径以便于命令行调用工具。这一步骤并非强制性,但如果完成,则可以在任何位置通过CMD或PowerShell运行`john.exe`而无需输入完整路径。 #### 获取目标哈希值 对于Windows操作系统而言,存在两种主要类型的密码散列算法——LAN Manager(LM) NT LAN Manager(NTLM)[^3]。通常情况下,现代安全实践倾向于仅存储更强大的NTLM格式;然而,在某些老旧环境中仍可能遇到LM哈希。要利用John the Ripper破解这些散列,首先需要获得它们。可以通过多种方式实现这一点,比如直接读取SAM数据库备份或是借助其他辅助软件导出当前账户的信息。 #### 执行破解过程 一旦拥有了待测试的目标散列列表(假设保存在一个名为`passwords.hash`的纯文本文件中),就可以启动实际的攻击尝试: ```batch C:\path\to\john> john --wordlist=C:\path\to\rockyou.txt passwords.hash ``` 上述命令指定了一个字典文件作为猜测源(`--wordlist`)来匹配给定的散列集合。这里使用的例子选择了常见的`rockyou.txt`作为样本词库,但用户可以根据具体需求替换为任意合适的单词表。 另外,如果希望采用暴力穷举法而非依赖预定义词汇表的话,可以省略`--wordlist`参数并让程序自动生成候选字符串进行试探: ```batch C:\path\to\john> john --incremental=all passwords.hash ``` 此模式会按照字符集从小至大逐步增加长度直至找到解决方案为止,不过请注意这种方式往往耗时较长且计算成本较高。 #### 结果分析 当成功解析某个散列对应的明文口令之后,John the Ripper会在终端输出相应信息。同时也会自动更新本地缓存记录已知映射关系供后续查询之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值