用开膛手约翰生成回文

问题描述

如何配置 John the Ripper 以仅从单词列表生成损坏的(巨型)回文以破解密码哈希? (我用谷歌搜索过,但只找到了 "how to avoid palindromes"

解决方法

john/john.conf 中(例如 9 和 10 个字母的回文) - 在末尾附加以下规则:

# End of john.conf file.
# Keep this comment,and blank line above it,to make sure a john-local.conf
# that does not end with \n is properly loaded.
[List.Rules:palindromes]
f
f D5

然后使用您的词表和新创建的“回文”规则运行 john

$ john --wordlist=wordlist.lst --rules:palindromes hashfile.hash 

rule f 简单地将自身的反射附加到词表中的当前词,例如P4ss! -> P4ss!!ss4P

rule f D5 不仅反映单词,而且删除 5th 个字符,例如P4ss! -> P4ss!ss4P

我还没有找到“删除中间字符”的方法,所以到目前为止,必须将规则调整为所需的回文长度,例如f D4 表示 7 的长度,f D6 表示 11 的长度等

编辑:可变长度的可能解决方案(尚未测试):

f
Mr[6

M = 记住当前单词,r = 反转整个单词,[ = 删除第一个字符,6 = 将保存到内存中的单词添加到当前单词前

使用这种方法,回文还可以“由内而外”(单词列表中的单词位于生成的回文末尾而不是开头)

f   
Mr[6
Mr]4

M = 记住当前单词,r = 反转整个单词,] = 删除最后一个字符,4 = 将保存到内存中的单词附加到当前单词中