# O John the Ripper

### Что такое John the Ripper&#x20;

Одна из наиболее популярных программ для взлома паролей. Это свободно распространяемое ПО, которое отлично подходит для оценки безопасности веб-приложений.&#x20;

### Характеристики и возможность John the Ripper&#x20;

1. Поддерживает множество [алгоритмов хеширования](https://notes.kraken-security.ru/kraken/krupicy-znanii/obzor-populyarnykh-algoritmov-kheshirovaniya): DES, MD5, Blowfish, Kerberos AFS, и многие другие.
2. Работает на Unix, Windows, DOS, BeOS и OpenVMS.
3. Состоит из двух частей, которые обычно работают вместе. \
   \
   John →  обрабатывает сами хеш-файлы. \
   Unshadow → комбинирует файлы 'passwd' и 'shadow' в Unix-системах, чтобы создать единый файл, который может быть обработан программой.
4. Предлагает несколько режимов взлома, включая brute-force (полный перебор символов), dictionary (словарные атаки), инкрементальный режим и другие.
5. Может быть настроен для распределения нагрузки на несколько машин или процессоров. Это позволяет ускорить процесс взлома на многопроцессорных системах или сетях.
6. Архитектура позволяет писать плагины и расширения для поддержки новых алгоритмов хеширования и взлома паролей.
7. У инструмента активное сообщество разработчиков и пользователей, которые обмениваются наборами слов и стратегиями для увеличения эффективности взлома.
8. Наличие PRO-версии. Она предлагает дополнительные функции и поддерживается на нескольких дополнительных платформах.

### Плюсы и минусы John the Ripper

| +                                                                                    | -                                                                                                                                     |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
| Открытый исходный код, что позволяет настраивать инструмент под свои нужды           | Требует хорошего понимания командной строки, хеширования и метода взломов паролей                                                     |
| Универсальность и возможность работать с многими типами хеширования                  | Настройка и конфигурация требует серьезного опыта работы с инструментом. Интуитивно настроить на все 100%  с первой попытки не выйдет |
| Гибкие режимы атаки                                                                  | Нет графического интерфейса                                                                                                           |
| Высокая скорость работы                                                              | На слабых компах будет очень медленным. Так что нужно серьезное железо, особенно если хотите юзать брутфорс                           |
| Возможность работать на разных ПО                                                    | Против сложных паролей John не так хорош, как хотелось бы. Не хватает вычислительной мощности                                         |
| Возможность адаптировать инструмент под конкретные задачи и ускорить процесс взлома. | Медленные обновления, так это скорее некоммерческий продукт, его допиливает сообщество в свободное время                              |
| Расширяемость за счет плагинов (для взлома SSH, RAR, ZIP и других форматов)          |                                                                                                                                       |

### Как установить John the Ripper на Kali Linux&#x20;

Он уже предустановлен в дистрибутиве. Но вдруг надо установить новейшую версию.&#x20;

1. Обновим систему:

   `sudo apt update` \
   `sudo apt upgrade`
2. Установим John the Ripper:

   `sudo apt install john`
3. Установка из исходного кода (для последней версии):

   \
   Если хотите установить последнюю community enhanced version (Jumbo), которая включает в себя дополнительные плагины и функциональные возможности, необходимо будет загрузить и скомпилировать исходный код:<br>

   `sudo apt-get install -y git build-essential libssl-dev zlib1g-dev` \
   `git clone https://github.com/openwall/john -b bleeding-jumbo john` \
   `cd john/src` \
   `./configure` \
   `make -s clean && make -sj4`

   \
   Эти команды загрузят исходный код (ветка bleeding-jumbo имеет наиболее актуальные наработки), скомпилируют его и соберет исполняемые файлы. \
   \
   -sj4 для make  → указывает на использование четырех потоков для компиляции, что ускорит процесс. Так что если у вас другое количество ядер/потоков, укажите их количество.
4. Проверим установку: <br>

   `john --version`

   \
   Или установили из исходного кода и находитесь в директории с скомпилированным исполняемым файлом:

   \
   `./john --version`
5. Проверим работу: <br>

   `john --test`

   \
   Эта команда запустит ряд тестов производительности для различных алгоритмов хеширования.
