Полное руководство по John the Ripper. Ч.7: Johnny — графический интерфейс для John the Ripper


Оглавление

1. Знакомство и установка John the Ripper

2. Утилиты для извлечения хешей

3. Как запустить взлом паролей в John the Ripper (как указать маски, словари, хеши, форматы, режимы)

4. Практика и примеры использования John the Ripper

5. Атака на основе правил

6. Брут-форс нестандартных хешей

7. Johnny — графический интерфейс для John the Ripper

7.1 Преимущества и недостатки графического интерфейса для John the Ripper

7.2 Установка Johnny

7.2.1 Johnny не заменяет John the Ripper

7.2.2 Установка Johnny в Linux

7.2.3 Установка Johnny в Windows

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

7.4 Как в Johnny установить путь до исполнимого файла John the Ripper

7.5 Как в Johnny взломать пароль

7.6 Как запустить брут-форс в Johnny

7.7 Как выбрать атаку в Johnny

7.7.1 Атака по словарю

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

7.8 Как в Johnny запустить атаку на Wi-Fi


7.8.1 Ошибка «python: can't open file 'C:/Users/MiAl/Downloads/JtR/run/wpapcap2john.py': [Errno 2] No such file or directory»

8. 

9. 


Преимущества и недостатки графического интерфейса для John the Ripper

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

Для решения этих проблем создан Johnny — графический интерфейс для John the Ripper. В целом мне не очень нравятся графические интерфейсы для мощных консольных утилит, поскольку функционал GUI всегда меньше, чем исходные возможности программы, пропадает гибкость, некоторые опции в графическом интерфейсе могут быть не реализованы. И, самое главное, не зная значение опций и не понимая особенности разных атак, неопытный пользователь всё равно не сможет раскрыть даже потенциал, предоставляемый в GUI. То есть если вы совсем не умеете пользоваться программой, то даже GUI может вам не помочь.

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

Достоинства Johnny:

  • автоматизирует генерацию хешей
  • упрощает запуск брут-форса для пользователей, не знакомых с командной строкой
  • автоматизирует работу с сессиями

Недостатки Johnny:

  • нет возможности добавить свои опции командной строки
  • не реализованы некоторые опции, например, контроль температуры
  • невозможно посмотреть статус текущей сессии в интерактивном режиме

Установка Johnny

Johnny не заменяет John the Ripper

Вы должны понимать, что Johnny — это только окно программы, которая в зависимости от выбранных вами опций запускает команду с John the Ripper, считывает результат, обрабатывает их и показывает вам в своём окне. То есть кроме установки Johnny, вам нужно установить и John the Ripper. Причём всё сказанное в первой части про установку драйверов также относится и к Johnny.

То есть алгоритм установки следующий:

  1. Установка драйвера для видеокарты
  2. Установка John the Ripper
  3. Установка Johnny

Установка Johnny в Linux

Не будем останавливаться на установке драйверов и John — если у вас есть вопросы по этим этапам, то обратитесь к первой части.

Установка Johnny в Kali Linux

sudo apt install johnny

Установка Johnny в BlackArch

Программа предустановлена в BlackArch. Для установки в минимальные сборки выполните:

sudo pacman -S johnny

В настоящее время в репозиториях BlackArch устаревшая версия, для компиляции из исходного кода последней версии выполните следующие команды:


sudo pacman -S gcc git qt5-base
git clone https://github.com/shinnok/johnny.git && cd johnny
export QT_SELECT=qt5
qmake && make -j$(nproc)

Запуск:

./johnny

Установка Johnny в Debian, Linux Mint, Ubuntu

sudo apt update
sudo apt install g++ git qtbase5-dev
git clone https://github.com/shinnok/johnny.git && cd johnny
export QT_SELECT=qt5
qmake && make -j$(nproc)

Запуск:

./johnny

Установка Johnny в Windows

John the Ripper и Johnny для Windows можно скачать с официального сайта в виде исполняемых файлов. Для начала работы достаточно распаковать архив John the Ripper и выполнить простую установку Johnny. Но установленный таким образом John не сможет использовать видеокарту для брут-форса. Показанный ниже способ установки даст возможность подбирать пароль как с использованием центрального процессора, так и видео карты.

Начните с установки Cygwin — для этого зайдите на официальный сайт https://www.cygwin.com/, скачайте файл setup-x86_64.exe и установите. Если что-то непонятно про Cygwin, то все подробности смотрите в статье «Как начать знакомство с командами Linux: Cygwin».

Со страницы https://github.com/openwall/john-packages/releases/tag/jumbo-dev скачайте файл winX64_1_JtR.7z.

Распакуйте содержимое этого архива в папку C:\cygwin64\home\ИМЯ-ПОЛЬЗОВАТЕЛЯ, например, у меня пользователь MiAl, поэтому я распаковываю в папку C:\cygwin64\home\MiAl\. Обратите внимание, что создавать папку и копировать в неё файлы нужно от имени обычного пользователя, поскольку во время своей работы John the Ripper будет пытаться записать данные в .pot файл в той же папке, где запущена программа. Если вы скопировали папку JtR в файловом менеджере с повышенными правами, то эта папка будет принадлежать Администратору и записать в неё что-либо или поменять права на неё невозможно.

Теперь в папке C:\cygwin64\home\ИМЯ-ПОЛЬЗОВАТЕЛЯ\JtR\run\ найдите cygOpenCL-1.dll и переименуйте его в cygOpenCL-1.dll.bac.

Затем в папке c:\Windows\System32 найдите файл OpenCL.dll и скопируйте его в папку C:\cygwin64\home\ИМЯ-ПОЛЬЗОВАТЕЛЯ\JtR\run\.

Затем в папке C:\cygwin64\home\ИМЯ-ПОЛЬЗОВАТЕЛЯ\JtR\run\ переименуйте файл OpenCL.dll в cygOpenCL-1.dll.

Далее эту же самую процедуру нужно повторить для файла в папке C:\cygwin64\bin\. То есть в папке C:\cygwin64\bin\ найдите cygOpenCL-1.dll и переименуйте его в cygOpenCL-1.dll.bac. Затем в папке c:\Windows\System32 вновь найдите файл OpenCL.dll и скопируйте его в папку C:\cygwin64\bin\. Наконец в папке C:\cygwin64\bin\ переименуйте файл OpenCL.dll в cygOpenCL-1.dll.

Чтобы вы понимали, для чего мы всё это делаем, посмотрите на скорость взлома на центральном процессоре:

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

 


Убедитесь, что установка прошла успешно, и что John может работать с видеокартой:

~/JtR/run/john --list=opencl-devices

Для установки Johnny откройте Cygwin – мы будем компилировать Johnny из исходного кода.

Установите apt-cyg:

curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

Смотрите также: apt-cyg — apt для Cygwin

Установите зависимости:

apt-cyg install gcc-g++ git libQt5Core-devel make libQt5Gui-devel libGL-devel xorg-server xinit

Скачайте исходный код и скомпилируйте программу:

git clone https://github.com/shinnok/johnny && cd johnny
export QT_SELECT=qt5
qmake-qt5 && make -j$(nproc)

Запускать так:

startxwin &
export DISPLAY=:0.0
~/johnny/johnny

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

Рассмотрим примеры, как в Johnny запустить взлом пароля в Windows.

Если вы компилировали Johnny из исходного кода, то программа вместо привычных вам путей и дисков Windows будет показывать их в стиле Unix (Linux), поэтому чтобы вам было проще, рекомендуется хотя бы бегло ознакомиться с Cygwin, по крайней мере, прочитайте раздел «Как получить доступ к дискам в Cygwin».


Мои тестовые файлы для взлома паролей я разместил в папке C:\cygwin64\test\, то есть для Cygwin это путь /test.

Для генерации хешей Johnny использует различные вспомогательные программы и скрипты, многие из них написаны на Python. Некоторые из них написаны на Ruby, Perl или представляют собой скомпилированные программы. Чтобы вы могли извлекать хеши из файлов для взлома, вам нужно чтобы эти среды были установлены. Если вы компилировали Johnny из исходного кода, то эти скрипты используют интерпретаторы в Cygwin. Если же вы используете версию, скомпилированную для Windows (скачали установочный файл с официального сайта) Python и другие интерпретаторы должны быть установлены в системе. На всякий случай, вот соответствующие ссылке по установке:

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

Запустим X сервер:

startxwin &

Нажмите Enter, чтобы увидеть приглашение командной строки.

Установим значение переменной DISPLAY:

export DISPLAY=:0.0

Запускаем Johnny

~/johnny/johnny

Главное окно программы:

Как в Johnny установить путь до исполнимого файла John the Ripper

В первую очередь, перейдите на вкладку Settings и укажите путь до исполнимого файла John the Ripper.

Если вы устанавливали программы по инструкции выше в Cygwin, то путь до исполнимого файла будет иметь вид /home/ПОЛЬЗОВАТЕЛЬ/JtR/run/john.exe, например, /home/MiAl/JtR/run/john.exe.

Вы можете узнать путь до исполнимого файла в вашей системе выполнив следующую команду:

realpath ~/JtR/run/john.exe

Как в Johnny взломать пароль

Предположим, я хочу взломать пароль зашифрованного архива file-rar5.rar. Начать нужно с генерации хеша, который понимает John the Ripper. Для этого в меню нажимаем «Open password file» → «Open other file format (*2john)».

В «Choose file format» выберите тип файла, для которого вы хотите подобрать пароль.

В «Save hashes to» укажите любое расположение, куда будет сохранён сгенерированный хеш.

При клике на кнопку будет открыто такое окно:

Дважды кликните на «/» чтобы перейти в корень файловой системы Cygwin. Затем выберите, где вы хотите сохранить файл. Например, в домашней папке вашего пользователя. Также придумайте имя для файла.

Затем укажите путь до файла, который вы хотите взломать.

Когда всё готово, нажмите кнопку «Convert».

Если всё пройдёт удачно, то хеш будет добавлен в окно Johnny на вкладке «Passwords».

Как запустить брут-форс в Johnny

Обратите внимание, что данный хеш определяется как два возможных формата:

  • RAR5
  • RAR5-opencl

Из предыдущих частей вы уже знаете, что они различаются тем, что первый формат — это брут-форс на центральном процессоре, а OpenCL – это брут-форс на видеокарте.

Чтобы выбрать видеокарту, перейдите на вкладку «Options» и в выпадающем меню «Current hash format» выберите желаемый вариант:

Для запуска атаки нажмите кнопку в меню «Start new attack».

На вкладке «Console log» вы можете наблюдать за прогрессом.

Строка «Device 2: GeForce GTX 1050 Ti» говорит о том, что брут-форс выполняется на видеокарте.

Можно убедиться, что указанная видеокарта действительно под нагрузкой во время брут-форса.

При удачном взломе, пароль будет показан на вкладке «Passwords».

Как выбрать атаку в Johnny

По умолчанию John the Ripper будет запускать режим Single crack mode, затем Атаку по словарю, а затем режим Incremental. Все атаки будут выполняться с параметрами John по умолчанию. Для оптимизации атак и повышения шансов подбора пароля, выберите определённую атаку и установите для неё настройки.

Атака по словарю

Для выбора атаки по словарю перейдите в «Options» → «Wordlist». Нажмите «Wordlist file» и укажите путь до файла словаря. С John поставляется небольшой словарь, он находится в той же папке, что и исполнимый файл john (например, /home/MiAl/JtR/run/password.lst).

Следующими командами вы можете скачать файл rockyou:

mkdir ~/dic
curl https://kali.tools/files/passwords/leaked_passwords/rockyou.txt.bz2 > ~/dic/rockyou.txt.bz2
bunzip2 ~/dic/rockyou.txt.bz2
cat ~/dic/rockyou.txt | sort | uniq > ~/dic/cleaned_rockyou.txt

Чтобы узнать абсолютный путь до файла, выполните:

realpath ~/dic/cleaned_rockyou.txt
/home/MiAl/dic/cleaned_rockyou.txt

Вы можете использовать его как больший словарь, чем словарь по умолчанию.

Для запуска атаки нажмите кнопку в меню «Start new attack».

В консоли вы можете видеть, что теперь в команде запуска указан путь до словаря:

/home/MiAl/JtR/run/john.exe --format=ZIP-opencl --wordlist=/home/MiAl/JtR/run/password.lst --session=/home/MiAl/.john/sessions/05-25-21-08-20-52 /home/MiAl/hashes.lst

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

Для выбора атаки по маске перейдите в «Options» → «Mask». В поле «Mask» введите желаемую маску.

Для запуска атаки нажмите кнопку в меню «Start new attack».

Как в Johnny запустить атаку на Wi-Fi

Для взлома захваченного рукопожатия, в качестве Формата файла выберите «wpapcap».

Если в файле захвата несколько рукопожатий, то хеши будут извлечены для них всех. При желании, вы можете снять галочку с хешей, для которых не хотите подбирать пароль.

В качестве типа хеша выберите wpapsk или wpapsk-opencl.

Ошибка «python: can't open file 'C:/Users/MiAl/Downloads/JtR/run/wpapcap2john.py': [Errno 2] No such file or directory»

Если вы попытаетесь извлечь хеши Wi-Fi рукопожатий в Johnny, скаченном с официального сайта, то вы столкнётесь с ошибкой:

Conversion failed
python: can't open file 'C:/Users/MiAl/Downloads/JtR/run/wpapcap2john.py': [Errno 2] No such file or directory

Эта ошибка исправлена в исходном коде (https://github.com/openwall/johnny/commit/eb0fe02f18f77386316a9279fe74670a6ba147ee), поэтому если вы компилировали Johnny из исходного кода, то у вас этой проблемы не будет.

Суть в том, что ранее использовался скрипт на Python wpapcap2john.py, а теперь используется бинарный файл wpapcap2john.exe. Как исправить эту ошибку без перекомпиляции, я не знаю.


Рекомендуется Вам:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *