Введение
John the Ripper (JtR) — популярный инструмент с открытым исходным кодом для взлома паролей. Хотя стандартная версия является мощной, версия "Jumbo" значительно расширяет ее возможности, добавляя поддержку множества других типов хешей, режимов взлома и утилит. Этот лабораторный практикум проведет вас через установку John the Ripper Jumbo и изучение его расширенных функций. Вы узнаете, как определять новые поддерживаемые форматы хешей, использовать расширенные режимы взлома и обнаруживать дополнительные инструменты, входящие в пакет Jumbo. К концу этого практикума вы получите твердое понимание того, как John the Ripper Jumbo может быть использован для более комплексного аудита паролей и задач по их восстановлению.
Установка John the Ripper Jumbo
На этом шаге вы установите John the Ripper Jumbo из его официального репозитория GitHub. Это включает клонирование репозитория, переход в каталог с исходным кодом и компиляцию программного обеспечения.
Сначала откройте терминал. Убедитесь, что вы находитесь в каталоге ~/project.
cd ~/project
Теперь клонируйте репозиторий John the Ripper Jumbo:
git clone https://github.com/openwall/john-the-ripper.git
Перейдите в каталог john-the-ripper/src:
cd john-the-ripper/src
Скомпилируйте John the Ripper Jumbo. Мы будем использовать make clean && make -s для обеспечения чистой сборки и подавления подробного вывода для более чистого терминала.
make clean && make -s
После компиляции исполняемый файл john будет находиться в каталоге ~/project/john-the-ripper/run. Вы можете проверить установку, проверив его версию.
~/project/john-the-ripper/run/john --version
Вы должны увидеть вывод, похожий на этот, указывающий на версию Jumbo:
John the Ripper 1.9.0-jumbo-1 (linux-gnu 64-bit x86_64 AVX2)
Copyright (c) 1996-2023 by Solar Designer and others
...
Определение новых форматов хешей, поддерживаемых Jumbo
На этом шаге вы изучите обширный список форматов хешей, поддерживаемых John the Ripper Jumbo. Версия Jumbo значительно расширяет количество хешей, которые можно взломать, по сравнению со стандартной версией.
Чтобы вывести список всех поддерживаемых форматов хешей, используйте опцию --list=formats с исполняемым файлом john. Поскольку вывод очень длинный, мы передадим его в less для более удобного просмотра.
~/project/john-the-ripper/run/john --list=formats | less
Нажмите q, чтобы выйти из less после просмотра списка.
Вы также можете отфильтровать список для поиска конкретных типов хешей. Например, чтобы увидеть форматы, связанные с bcrypt, вы можете использовать grep:
~/project/john-the-ripper/run/john --list=formats | grep -i bcrypt
Вы должны увидеть вывод, похожий на этот, показывающий различные форматы bcrypt:
bcrypt, bcrypt-opencl, bcrypt-cuda
Это демонстрирует, как Jumbo поддерживает более широкий спектр современных и сложных типов хешей, делая его более универсальным для аудита паролей.
Использование новых режимов взлома в Jumbo
На этом шаге вы познакомитесь с некоторыми новыми режимами взлома, доступными в John the Ripper Jumbo. Jumbo представляет продвинутые методы взлома и оптимизации, которые могут повысить эффективность взлома.
Одной из мощных функций является возможность использования списков слов (wordlists) с правилами. Давайте создадим простой файл паролей и список слов, чтобы продемонстрировать базовую попытку взлома.
Сначала создайте файл с именем passwords.txt с примером хеша. Для демонстрации мы будем использовать простой хеш MD5.
echo "user1:21232f297a57a5a743894a0e4a801fc3" > ~/project/passwords.txt
Хеш 21232f297a57a5a743894a0e4a801fc3 соответствует паролю admin.
Затем создайте простой список слов с именем wordlist.txt:
echo -e "password\nadmin\n123456" > ~/project/wordlist.txt
Теперь попробуйте взломать хеш, используя режим списка слов.
~/project/john-the-ripper/run/john ~/project/passwords.txt --wordlist=~/project/wordlist.txt
Вы должны увидеть вывод, указывающий на то, что пароль был взломан:
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (iteration count) is not supported for this hash type.
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
admin (user1)
1g 0:00:00:00 DONE (2023-10-27 08:00) 100.0g/s 100.0p/s 100.0c/s 100.0C/s admin
Session completed.
Чтобы показать взломанный пароль, используйте опцию --show:
~/project/john-the-ripper/run/john ~/project/passwords.txt --show
Вывод:
user1:admin
1 password hash cracked, 0 left
Этот базовый пример демонстрирует режим списка слов. Jumbo также поддерживает более сложные режимы, такие как инкрементальный режим с наборами символов, внешние режимы и другие, которые вы можете изучить далее с помощью документации.
Изучение дополнительных утилит в Jumbo
На этом шаге вы познакомитесь с некоторыми дополнительными утилитами, которые поставляются в комплекте с John the Ripper Jumbo. Эти утилиты предназначены для помощи в различных аспектах аудита паролей, таких как подготовка файлов паролей или генерация списков слов.
Одной из полезных утилит является unshadow, которая объединяет файлы /etc/passwd и /etc/shadow в формат, который John the Ripper может обрабатывать. Хотя мы не будем изменять системные файлы, мы можем имитировать ее использование.
Другой важной утилитой является unique, которая может отфильтровывать дублирующиеся записи из списка слов. Давайте создадим список слов с дубликатами, а затем используем unique для его очистки.
Создайте файл с именем duplicate_wordlist.txt:
echo -e "apple\nbanana\napple\norange\nbanana" > ~/project/duplicate_wordlist.txt
Теперь используйте утилиту unique, которая находится в каталоге run, для удаления дубликатов:
~/project/john-the-ripper/run/unique ~/project/duplicate_wordlist.txt
Вывод должен показать только уникальные слова:
apple
banana
orange
Это демонстрирует, как unique может использоваться для улучшения списков слов, что крайне важно для эффективного взлома. Другие утилиты вы можете найти в каталоге ~/project/john-the-ripper/run.
Сравнение Jumbo со стандартным John the Ripper
На этом шаге вы поймете ключевые различия и преимущества John the Ripper Jumbo по сравнению со стандартной версией. Хотя стандартная версия является надежным инструментом, Jumbo предлагает значительные улучшения.
Основные преимущества Jumbo включают:
- Расширенная поддержка хешей: Jumbo поддерживает гораздо более широкий спектр типов хешей, включая многие современные и специфичные для приложений хеши, которых нет в стандартной версии. Это было продемонстрировано в Шаге 2.
- Оптимизированная производительность: Jumbo часто включает оптимизированные алгоритмы взлома и лучшее использование аппаратного обеспечения (например, GPU через OpenCL/CUDA, хотя это и не рассматривается в данной лаборатории) для более быстрого взлома.
- Дополнительные утилиты: Как показано в Шаге 4, Jumbo включает несколько вспомогательных утилит, которые упрощают процесс аудита паролей.
- Активная разработка: Версия Jumbo обычно получает более частые обновления и новые функции от сообщества.
Таким образом, если вы серьезно относитесь к аудиту или восстановлению паролей, версия Jumbo John the Ripper почти всегда является предпочтительным выбором из-за ее расширенных возможностей и активной разработки. Стандартная версия может быть достаточной для базовых задач, но Jumbo предоставляет более полный и актуальный набор инструментов.
Вы успешно установили John the Ripper Jumbo, изучили поддержку новых форматов хешей, использовали базовый режим взлома и обнаружили одну из его дополнительных утилит. Эта лаборатория дала вам фундаментальное понимание расширенных функций, предлагаемых версией Jumbo.
Резюме
В этой лаборатории вы успешно установили John the Ripper Jumbo из исходного кода, продемонстрировав процесс компиляции мощного инструмента безопасности. Затем вы изучили его обширную поддержку различных форматов хешей, подчеркнув универсальность Jumbo в обработке различных типов хешей паролей. Вы также получили практический опыт использования одного из его режимов взлома, взломав образец MD5-хеша с помощью списка слов. Кроме того, вы обнаружили и использовали дополнительную утилиту unique, которая помогает в подготовке списков слов для более эффективного взлома. Наконец, вы поняли ключевые преимущества версии Jumbo по сравнению со стандартным John the Ripper, подчеркнув ее более широкую поддержку хешей, оптимизацию производительности и включенные утилиты. Эта лаборатория вооружила вас практическими навыками и знаниями для использования John the Ripper Jumbo для продвинутых задач аудита и восстановления паролей.


