John the ripper
Швейцарский нож для брутфорса хэшей.
Может работать с различными типами хэшей, имеет множество вспомогательных утилит предназначеных для подготовке данных к брутфорсу.
Основные моменты при использовании:
Автоматический режим
В этом режиме пробует самостоятельно определить формат хэша, поэтому быстро запускается, но долго работает
Режим с указанием формата хэша
В этом режиме нужно предварительно понять, что за хэш. Это можно сделать тут, или воспользоваться этим.
Для получения информации о всех известных форматах:john --list=formats
Single режим
В этом режиме он изменяет имя пользователя различными способами, подставляя измененные значения в качестве пароля. Такая техника еще называется word mangling.
Дополнительные утилиты
В дополнение к основному модулю, имеются различные дополнительные утилиты, далее некоторые из них:
unshadow - подготавливает файл содержащий в себе соответствие /etc/shadow
и /etc/passwd
для последующего скармливания такого файла John'у:
unshadow [/path/to/paswd] [/path/to/shadow] > 2john.txt
john --format=sha512crypt --wordlist=/usr/share/wordlists/rockyou.txt 2john.txt
rar2john - подготовливает rar архив для работы с john
ssh2john - подготавливает private ключи для работы с john. John попытается подобрать passphrase к ключу.
К сведению.
Не всегда есть бинарники этих утилит. В kali, например python версии утилит лежат в /opt/john/
В дополнение ко всему сказанному, John имеет обширные возможности по установке и применению собственных правил. С помощью этих правил, возможно изменение каждого пробуемого варианта из списка слов.
К примеру, можно указать John'у начинать каждое пробуемое слово с заглавной и добавлять в конце число и спецсимвол, или чередовать прописные с заглавными и т.д.