
Machine-learn password mangling rules
Машинное обучение для поиска правил преобразования паролей!
Этот инструмент находит эффективные правила преобразования паролей (для 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 — количество потоков.
Будьте осторожны, эта программа может очень быстро задействовать много памяти!
Развёрнутую статью можно прочитать здесь. В ней объясняется, в чём заключается идея инструмента и что он делает.
Все измерения проводились на моём ноутбуке, пока я параллельно занимался на нём другими делами. Эти измерения приведены лишь для иллюстрации того, что следует ожидать с точки зрения использования ресурсов.
Использование памяти на первом этапе
Обработка состоит из двух частей:
Приведённая выше оценочная колонка взломанных паролей — это количество паролей в корпусе открытых паролей, которые были бы взломаны с помощью сгенерированных правил при использовании данного словаря. Как и во всём, что связано с машинным обучением, это не отражает напрямую эффективность набора правил. Бездумное увеличение этого значения даст обратный эффект, так как приведёт к:
Как эмпирическое правило, я рекомендую:
| 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 |