使用开膛手约翰生成基于规则的密码

问题描述

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

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

我要恢复的密码长度为15个字符。

我已经安装了John Ripper(大型版本1.9),并且尝试为角色创建一些规则 我知道我曾经使用过替代方法,希望能够快速生成所有可能的密码短语列表 根据我的规则。

比方说,我的密码短语为password,带有一些字符替换。如果我使用这套规则:

sa@
ss$
so0
soO

我得到那些结果:

p @ ssword pa $$ word passw0rd 密码

当我说我正在寻找所有可能的组合时,我正在寻找的外观类似于以下(此列表并不详尽)

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是否是适合该工作的工具。

解决方法

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

除此之外,使用方括号可以对同一字符应用多个替换。因此,x将产生两个密码,第N个字符用oN[xy],然后是x替换。

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

password

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