Открыть сервис

John the Ripper

John the Ripper — это свободная программа для взлома паролей (криптоаналитическая утилита), предназначенная для восстановления паролей по их хеш-значениям. Она относится к классу инструментов для аудита безопасности и тестирования на проникновение, позволяя проверять стойкость паролей путём перебора (брутфорса) и использования словарей. Программа распространяется в исходных кодах под лицензией GNU General Public License (GPL) и поддерживает множество алгоритмов хеширования, включая DES, MD5, SHA-1, SHA-256, bcrypt, scrypt, NTLM и другие.

История

John the Ripper была создана в 1996 году программистом Александром Песляком (известным под псевдонимом Solar Designer). Первоначально проект разрабатывался для операционной системы Linux, но впоследствии был портирован на многие другие платформы, включая Windows, macOS, BSD и Unix-подобные системы. Основной целью создания утилиты было предоставление администраторам и специалистам по безопасности инструмента для проверки надёжности паролей в корпоративных сетях и системах.

В 2007 году Песляк передал развитие проекта сообществу, и с тех пор John the Ripper поддерживается группой разработчиков Openwall. Регулярно выходят обновления, добавляющие поддержку новых алгоритмов хеширования и улучшающие производительность. Наиболее значимые версии включают:

  • John the Ripper 1.6 (1999) — первая стабильная версия с поддержкой нескольких платформ.
  • John the Ripper 1.7 (2006) — добавлена поддержка алгоритмов MD5 и SHA-1.
  • John the Ripper 1.8 (2013) — введена поддержка GPU-ускорения через OpenCL и CUDA.
  • John the Ripper 1.9 (2019) — улучшена поддержка современных алгоритмов, таких как bcrypt и scrypt.

Принцип работы

John the Ripper восстанавливает пароли, сравнивая хеш-значения, полученные из целевого файла (например, /etc/shadow в Linux или SAM-базы в Windows), с хешами, вычисленными из возможных паролей. Процесс включает три основных метода:

Словарная атака

Программа последовательно перебирает пароли из заранее подготовленного текстового файла (словаря), вычисляет их хеши и сравнивает с целевыми. Этот метод эффективен против слабых паролей, которые встречаются в распространённых словарях (например, rockyou.txt).

Атака по маске

Используется, когда известна часть пароля или его структура (например, длина, наличие цифр или символов). Пользователь задаёт шаблон (маску), и программа перебирает все возможные комбинации, соответствующие шаблону. Например, маска ?l?l?l?d?d означает три буквы в нижнем регистре и две цифры.

Полный перебор (брутфорс)

Программа перебирает все возможные комбинации символов в заданном диапазоне (например, от a до z, от 0 до 9). Этот метод требует больших вычислительных ресурсов и времени, особенно для длинных паролей.

Инкрементальный режим

Комбинирует словарную атаку и брутфорс: сначала проверяются короткие пароли и распространённые слова, затем — более длинные и сложные комбинации. Этот режим является наиболее гибким и часто используется по умолчанию.

Классификация

John the Ripper существует в нескольких вариантах, различающихся по функциональности и целевой аудитории:

  • John the Ripper (Community Edition) — основная версия, поддерживаемая сообществом. Включает все базовые функции и поддерживает большинство алгоритмов хеширования.
  • John the Ripper Pro — коммерческая версия, разрабатываемая компанией Openwall. Отличается более высокой производительностью за счёт оптимизированных алгоритмов и поддержки большего числа форматов хешей. Распространяется по платной лицензии.
  • John the Ripper Jumbo — неофициальная сборка, содержащая множество дополнительных патчей и расширений. Включает поддержку редких алгоритмов, таких как Ethereum, Electrum, Bitcoin и других криптовалютных хешей.

Устройство и характеристики

John the Ripper представляет собой консольную утилиту, работающую через командную строку. Основные компоненты программы:

  • Ядро (core) — отвечает за управление процессом взлома, загрузку хешей и вывод результатов.
  • Модули хеширования — библиотеки, реализующие поддержку различных алгоритмов. Каждый модуль оптимизирован для конкретного типа хеша.
  • Драйверы ускорения — поддержка GPU (графических процессоров) через OpenCL и CUDA, что позволяет значительно ускорить перебор за счёт параллельных вычислений.
  • Генераторы паролей — модули, создающие комбинации для словарной атаки и брутфорса.

Ключевые характеристики:

  • Поддерживаемые алгоритмы: более 100 различных хеш-функций, включая DES, MD5, SHA-1, SHA-256, SHA-512, NTLM, LM, bcrypt, scrypt, PBKDF2, Argon2, а также хеши криптовалют (Bitcoin, Ethereum, Litecoin).
  • Производительность: скорость взлома зависит от аппаратного обеспечения. На современных CPU (например, Intel Core i7) John the Ripper может проверять до 10 миллионов хешей в секунду для алгоритма MD5, а на GPU (например, NVIDIA RTX 3080) — до 100 миллионов хешей в секунду.
  • Платформы: Linux, Windows, macOS, BSD, Solaris, AIX.

Применение

John the Ripper используется в нескольких областях:

Аудит безопасности

Системные администраторы и специалисты по информационной безопасности применяют утилиту для проверки стойкости паролей в корпоративных сетях. Например, после получения хешей из файла /etc/shadow администратор может запустить John the Ripper, чтобы выявить слабые пароли и потребовать от пользователей их смены.

Тестирование на проникновение

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

Криминалистика

В цифровой криминалистике утилита применяется для восстановления паролей к зашифрованным файлам и дискам. Например, если изъят жёсткий диск с зашифрованным контейнером VeraCrypt, John the Ripper может попытаться восстановить пароль, используя хеш-файл.

Образовательные цели

John the Ripper часто используется в учебных курсах по информационной безопасности для демонстрации методов взлома паролей и важности использования сложных паролей.

Примеры использования

Взлом хешей из файла /etc/shadow

Для взлома хешей пользователей Linux необходимо сначала извлечь хеши из файла /etc/shadow (требуются права root). Затем запускается John the Ripper: `` unshadow /etc/passwd /etc/shadow > hashes.txt john hashes.txt `` Программа автоматически определит тип хеша и начнёт словарную атаку.

Взлом NTLM-хешей Windows

Для восстановления паролей из SAM-базы Windows используется инструмент samdump2 или mimikatz, который извлекает хеши NTLM. Затем John the Ripper запускается с указанием формата: `` john --format=nt hashes.txt ``

Использование GPU-ускорения

Для ускорения взлома на GPU используется опция --devices: `` john --devices=gpu hashes.txt ``

Критика

John the Ripper подвергается критике по нескольким причинам:

  • Этическая неоднозначность: программа может использоваться как для легитимного аудита, так и для злонамеренных целей, таких как взлом чужих аккаунтов. Разработчики подчёркивают, что инструмент предназначен только для законных целей, но его распространение не контролируется.
  • Производительность: хотя John the Ripper поддерживает GPU-ускорение, он уступает в скорости некоторым коммерческим аналогам, таким как Hashcat, особенно в задачах с большими словарями.
  • Сложность настройки: для эффективного использования требуется знание командной строки и понимание алгоритмов хеширования, что делает программу малодоступной для новичков.
  • Юридические риски: в некоторых юрисдикциях (например, в России) использование John the Ripper без разрешения владельца системы может быть квалифицировано как неправомерный доступ к компьютерной информации (статья 272 УК РФ). В связи с этим специалисты рекомендуют использовать программу только на собственных системах или с явного согласия владельца.

Интересные факты

  • John the Ripper назван в честь Джека Потрошителя (Jack the Ripper), что символизирует «взлом» паролей.
  • Программа входит в состав многих дистрибутивов Linux для пентестов, таких как Kali Linux, Parrot OS и BackBox.
  • В 2019 году John the Ripper был использован для взлома хешей, полученных из утечки базы данных LinkedIn, что позволило восстановить более 60 миллионов паролей.
  • Исходный код John the Ripper был проанализирован на предмет уязвимостей, и в 2020 году была найдена критическая ошибка, позволяющая выполнить произвольный код при обработке специально сформированного хеша (CVE-2020-15705).

Источники

  • Официальная документация John the Ripper (Openwall)
  • Статья «John the Ripper: A Comprehensive Guide» на сайте CyberSecurity.com
  • Материалы курса «Основы криптоанализа» (МФТИ, 2021)
  • Отчёт о безопасности «Password Cracking Tools: John the Ripper vs Hashcat» (SANS Institute, 2022)
  • УК РФ, статья 272 «Неправомерный доступ к компьютерной информации»

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →