Как использовать John the Ripper

Защита данных

John the Ripper (JtR) — это одна из самых популярных программ для взлома паролей, а также один из хакерских инструментов, который команда реагирования на инциденты Varonis использует в своей демонстрации кибератак в реальном времени. В этой статье мы подробно рассмотрим программу John the Ripper: покажем, как она работает, и объясним, чем она может быть полезна.

Взлом, или хакерство, — это поиск информации о системах и их устройстве, а также людях. В нашем случае речь идет о программном обеспечении и операционных системах. Взлом не обязательно является преступлением, хотя этот инструмент часто используют для реализации дурных намерений. Мы выступаем за этичный взлом и «белых хакеров». Оставайтесь на светлой стороне силы.

Как работает John the Ripper?

John the Ripper (JtR) поддерживает несколько распространенных технологий шифрования, стандартных для систем на основе UNIX и Windows. (Прим.: MacOS также основана на UNIX). JtR автоматически определяет шифрование хэшированных данных и сравнивает его с большим текстовым файлом с популярными паролями (словарем), хэшируя по очереди каждый пароль и сравнивая его. Когда совпадение найдено, процесс останавливается. Все просто. Во время нашей демонстрационной кибератаки, проводимой в реальном времени командой реагирования на инциденты Varonis, мы наглядно показываем, как происходит кража хэшированного пароля, а также как использовать John the Ripper для поиска действующего пароля и дальнейшего входа с его помощью в учетную запись администратора. Это очень распространенный вариант использования John the Ripper.

Программа также содержит собственные списки распространенных слов (словари) на более чем 20 языках. Такие словари дают JtR тысячи возможных вариантов паролей. Из них программа может генерировать соответствующие значения хэша и сравнивать их с целевым паролем, что позволяет с высокой вероятностью угадывать верный пароль. Поскольку большинство пользователей создают легко запоминающиеся пароли, JtR показывает высокую эффективность даже со своими стандартными словарями паролей.
Программа John the Ripper включена в версии Kali Linux, предназначенные для тестирования на проникновение.

Для чего используется John the Ripper?

John the Ripper — это в первую очередь средство для взлома паролей, используемое во время тестирования на проникновение. Эта программа может помочь сотрудникам отдела информационной безопасности обнаруживать слабые пароли и несовершенные политики в отношении паролей.
John the Ripper использует следующие технологии шифрования:

  • UNIX crypt(3)
  • DES-based
  • “bigcrypt”
  • BSDI extended DES-based
  • FreeBSD MD5-based (linux и Cisco IOS)
  • OpenBSD Blowfish-based
  • Kerberos/AFS
  • Windows LM (DES-based)
  • DES-based tripcodes
  • SHA-crypt hashes (новейшие версии Fedora и Ubuntu)
  • SHA-crypt и SUNMD5 hashes (Solaris)

И это только официальный список. JtR является программой с открытым исходным кодом, поэтому если нужного вам способа шифрования нет в списке выше, попробуйте копнуть глубже. Вполне возможно, что кто-то уже создал нужное вам расширение для JtR.

Как скачать John the Ripper

Как уже упоминалось ранее, John the Ripper является проектом с открытым исходным кодом, поэтому вы можете скачать и скомпилировать исходный код самостоятельно, либо скачать программу в виде исполняемых бинарных файлов или в составе пакета утилит для тестирования на проникновение. Официальный сайт для John the Ripper находится на Openwall. Там вы можете получить исходный код и двоичные файлы, а также присоединиться к GitHub, чтобы внести свой вклад в проект. JtR доступен на Kali Linux в составе метапакетов для взлома паролей.

Руководство по John the Ripper

Рассмотрим несколько основных команд, которые вам нужно знать, чтобы начать использовать John the Ripper. Всё, что нужно для начала работы, — файл с хэш-значением, которое нужно расшифровать. Если вам когда-нибудь понадобится список команд JtR, выполните эту команду:

.\john.exe

Взлом паролей

Основные режимы взлома паролей John the Ripper: single mode (одиночный взлом), wordlist mode (режим словаря) и incremental mode (брутфорс).

Single mode (режим одиночного взлома) — самый оптимальный и быстрый, если у вас есть список всех пользовательских учетных записей.
Wordlist mode (режим словаря) сопоставляет хэш с известным списком возможных совпадений.
Incremental mode (брутфорс) — самый мощный инструмент, и в то же время непредсказуемый. Он представляет собой классический режим брутфорса — последовательного перебора всех возможных комбинаций букв, цифр и символов до тех пор, пока не будет найден искомый результат. Самый простой способ взломать пароль — дать JtR выполнить ряд попыток взлома в обычных режимах. Следующая команда запускает John the Ripper сначала в «простом» режиме, затем в режиме со стандартным словарем и, наконец, в режиме брутфорса.

.\john.exe passwordfile

Кроме того, вы можете загружать различные словари из интернета, а также создавать свои собственные словари для JtR и затем использовать их с параметром –wordlist.

.\john.exe passwordfile –wordlist=”wordlist.txt”

Если вы хотите специфицировать режим взлома, используйте точный параметр этого режима.

.\john.exe --single passwordfile .\john.exe --incremental passwordfile

Правила искажения слов

Искажение — это процессор предварительной обработки в JtR, который оптимизирует слова в словаре для ускорения процесса взлома. Для использования правил искажения используйте параметр –rules.


.\john.exe --wordlist=”wordlist.txt” --rules --passwordfile

Просмотр результата

Если вы хотите увидеть список взломанных паролей, используйте параметр –show.

.\john.exe –show passwordfile

Если ваш список взломанных паролей длинный, вы можете отфильтровать список с дополнительными параметрами. Вы также можете уточнить результаты взлома, используя базовое перенаправление в вашей оболочке. Например, если вы хотите узнать, взломали ли вы каких-либо привилегированных пользователей (UID=0), используйте параметр –users.

.\john.exe --show --users=0 passwordfile

Если же вы хотите показать пользователей из привилегированных групп, используйте параметр –groups.

.\john.exe –-show –-groups=0,1 passwordfile

Ниже вы найдете команду JtR, используемую в нашей демонстрации кибератаки. В этом сценарии наш хакер использовал расширение привилегий через Kerberos (Kerberoasting) для кражи первичного удостоверения пользователя для доступа к сетевым ресурсам Kerberos (TGT), в котором содержится хеш-код для взлома. Этот хэш был сохранен в файле с именем ticket.txt. В нашем случае в качестве словаря был использован классический файл паролей rockyou.txt из Kali Linux, и дана команда предоставлять отчет о ходе выполнения каждые 3 секунды.

.\john.exe "--format=krb5tgs" "ticket.txt" "--wordlist=”rockyou.txt" "--progress-every=3"

Если вы хотите увидеть различные тактики тестирования на проникновение и защиты с помощью Varonis, посетите нашу демонстрацию кибератак в реальном времени! Мы проведем ее в любое удобное вам время.

 

Бесплатный аудит рисков кибербезопасности

Узнайте об уязвимостях вашей ИТ-инфраструктуры - мы проведем бесплатный аудит рисков и подготовим для вас отчет. Это займет около 90 минут вашего времени и никак не отразится на бизнес-процессах компании.