Честно говоря, John я беру не за скорость — hashcat с GPU тут вне конкуренции. Ценность John в другом: экосистема утилит *2john, которая умеет вытаскивать хеши из самых разных защищённых файлов. Это та часть инструментария которую ничем не заменишь.
Экосистема *2john
Набор скриптов для конвертации защищённых файлов в формат, который John (или hashcat) может взломать:
zip2john secret.zip > hash.txt
ssh2john id_rsa > hash.txt
keepass2john db.kdbx > hash.txt
office2john document.docx > hash.txt
pdf2john protected.pdf > hash.txt
Попался зашифрованный архив — zip2john. Нашли приватный SSH-ключ с парольной фразой — ssh2john. База паролей KeePass — keepass2john. Практически любой распространённый формат покрыт.
Базовый взлом
john hash.txt
Без флагов John сам пробует несколько режимов — single, потом словарь с правилами. Поглядеть взломанные:
john --show hash.txt
С явным словарём:
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
С правилами (мутации слов, похоже на hashcat rules):
john --wordlist=rockyou.txt --rules hash.txt
Linux-хеши
Классика: объединяем passwd и shadow и запускаем:
unshadow /etc/passwd /etc/shadow > combined.txt
john combined.txt
Режимы и форматы
--single — мутации имени пользователя, быстро, пробую всегда первым. --incremental — полный перебор по марковской модели, долго. --format=NT — явно указать формат если John не определяет автоматически. --list=formats — полный список поддерживаемых форматов, их несколько сотен.
Для параллельной работы на нескольких ядрах: --fork=4.
Когда брать John, а не hashcat
Если нужно вытащить хеш из нестандартного файла — John (вернее, его *2john утилиты). Для чистого перебора по большим спискам NTLM — hashcat с GPU быстрее. Связка «john для извлечения + hashcat для перебора» закрывает почти всё.
Пока нет комментариев. Будьте первым!