机器学习密码变形规则!
该工具能为给定的字典和密码列表找出高效的密码变形规则(适用于 John the Ripper 或 Hashcat)。
该工具目前仍处于 alpha 阶段。
你需要 Rust 工具链来构建此工具。你可以直接安装:
cargo install --git https://github.com/synacktiv/rulesfinder
ulimit -d 8388608 # limit memory usage to 8GBB
rulesfinder -w path/to/wordlist --cleartexts path/to/cleartexts -n 50 -t 7 --minsize 3 | tee result
或者,克隆此仓库后:
ulimit -d 8388608 # limit memory usage to 8GBB
cargo run --release -- -w path/to/wordlist --cleartexts path/to/cleartexts -n 50 -t 7 --minsize 3 | tee result
这里,50 是截断值,意味着一条规则至少要破解 50 个密码才会被保留,7 是线程数。
注意,这个程序可能会非常快地消耗大量内存!
可以在此阅读一篇长篇介绍文章。它解释了该工具背后的思路以及它的作用。
所有测量都是在我边用笔记本电脑做其他事情时进行的。 这些测量仅用于说明你在资源占用方面应该预期的情况。
第一阶段的内存使用情况
处理过程分为两个部分:
上面的 估计已破解密码数 列,是指使用给定字典和生成的规则时,明文语料库中能被破解的密码数量。 与所有机器学习内容一样,它并不能直接反映规则集的性能。 盲目地增大这个值会适得其反,因为它会导致:
根据经验,我建议:
| 明文大小 | 明文词数 | minsize=3 | minsize=4 | minsize=5 | minsize=6 |
|---|
| 11.264 MB | 1M 词 | 3767MB | 3245MB | 2732MB | 2255MB |
| 16.9 MB | 1.5M 词 | 7365MB | 6262MB | 5273MB | 4742MB |
| 22.528 MB | 2M 词 | 9263MB | 5273MB | 6518MB | 5389MB |
| 42.848 MB | 3.8M 词 | 14347MB | 4742MB | 10529MB | 8885MB |