首页 > 解决方案 > 使用开膛手约翰生成基于规则的密码

问题描述

我正在尝试恢复很久没有使用的密码。

我知道密码短语中使用的单词,但我不记得确切的字符替换,以及我使用过的大写/小写。我只记得一些,并且知道其他人的可能性。

我试图恢复的密码是 15 个字符长。

我已经安装了 John the Ripper(巨型版本 1.9),并且我尝试为我知道我曾经使用过的字符替换创建一些规则,希望能够根据我的规则快速生成一个包含所有可能密码短语的单词列表。

假设我的密码是password一些字符替换。如果我使用这组规则:

sa@
ss$
so0
soO

我得到这些结果:

p@ssword pa$$word passw0rd passwOrd

当我说我正在寻找所有可能的组合时,我正在寻找看起来更像以下的东西(这个列表并不详尽)

p@ssword p@$sword p@$$word pa$sword pa$$word

p@ssw0rd p@$sw0rd p@$$w0rd pa$sw0rd pa$$w0rd

p@sswOrd p@$swOrd p@$$wOrd pa$swOrd pa$$wOrd

将所有规则收集在一行中并不能帮助我实现目标,并且通过字符位置替换来制作一条规则(行)基本上是手动生成我的列表。

我现在想知道如何才能实现我的目标,或者 JtR 是否是适合这项工作的工具。

标签: passwordscrackingkali-linuxword-list

解决方案


我找到了适合我用例的解决方案。该oNx语法允许将第 N 个位置(从零开始)的字符替换为x.

除此之外,使用方括号允许对同一个字符应用多个替换。因此oN[xy]将产生两个密码,其中第 N 位的字符替换为x, then y

对于我password上面的示例,实现我的目标所需的规则是:

o1[a@] o2[sS$] o3[sS$] o5[oO0]

我希望它可以帮助有一些旧数据库的人解锁)


推荐阅读