Использование опции --rules с пользовательскими правилами
На этом шаге вы изучите опцию --rules, которая позволяет John the Ripper применять набор предопределенных или пользовательских правил к словам из списка слов (wordlist). Правила — это мощные преобразования, которые могут применяться к словам, такие как добавление цифр, изменение регистра или дублирование символов, что значительно увеличивает шансы на взлом паролей, являющихся вариациями распространенных слов.
John поставляется с несколькими встроенными наборами правил, такими как Wordlist (по умолчанию), Single и Jumbo. Вы можете перечислить доступные наборы правил, используя:
john --list=rules
Эта команда выведет список наборов правил.
Теперь давайте используем пользовательский файл правил. В настройках мы создали простой пользовательский файл правил с именем custom_rules.txt, который содержит такие правила, как :$[0-9] (добавить цифру) и Az (сделать первую букву заглавной).
Попробуем снова взломать user1, но на этот раз с использованием наших пользовательских правил. Предположим, пароль user1 был Password123 (заглавная P, затем 123). Наш список слов содержит только password. Правило Az сделает первую букву заглавной, а :$[0-9] добавит цифру.
john --wordlist=/home/labex/project/wordlist.txt --rules=/home/labex/project/custom_rules.txt /home/labex/project/passwords.txt --format=sha512crypt
Эта команда применит правила из custom_rules.txt к каждому слову в wordlist.txt перед их попыткой против хэшей. Например, password может стать Password, password0, password1 и т. д., а затем Password0, Password1 и т. д.
Вы также можете комбинировать правила с опцией --stdout (которую мы рассмотрим на следующем шаге), чтобы увидеть, какие слова генерируются вашими правилами:
john --wordlist=/home/labex/project/wordlist.txt --rules=/home/labex/project/custom_rules.txt --stdout
Эта команда выведет все слова, сгенерированные путем применения custom_rules.txt к wordlist.txt, в ваш терминал. Это полезно для отладки ваших наборов правил.
Опция --rules является мощной функцией для повышения эффективности атак по спискам слов путем генерации распространенных вариаций паролей.