
機械学習によるパスワードマングリングルール生成ツール!
このツールは、与えられた辞書とパスワードリストに対して、(John the Ripper または Hashcat 用の)効率的なパスワードマングリングルールを見つけ出します。
このツールは現在アルファ品質です。
このツールをビルドするには 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 はスレッド数です。
注意:このプログラムは非常に速く大量のメモリを使用する可能性があります!
詳細な記事はこちらで読むことができます。このツールの背後にあるアイデアと、その動作について説明されています。
すべての測定は、ラップトップで他の作業をしながら実施されました。 これらの測定値は、リソース使用量に関して期待されるものを示すためのものです。
最初のフェーズのメモリ使用量
処理は2つの部分に分かれます:
上記の 推定クラック済みパスワード数 の列は、指定された辞書を使用して生成されたルールでクラックされたであろう平文コーパス内のパスワード数です。 機械学習全般に言えることですが、これはルールセットの性能を直接反映するものではありません。 この値を無分別に増やすと逆効果になります。なぜなら、次のような結果を招くからです:
経験則として、以下を推奨します:
| Cleartext size | Cleartext words | minsize=3 | minsize=4 | minsize=5 | minsize=6 |
|---|
| 11.264 MB | 1M words | 3767MB | 3245MB | 2732MB | 2255MB |
| 16.9 MB | 1.5M words | 7365MB | 6262MB | 5273MB | 4742MB |
| 22.528 MB | 2M words | 9263MB | 5273MB | 6518MB | 5389MB |
| 42.848 MB | 3.8M words | 14347MB | 4742MB | 10529MB | 8885MB |