Полное руководство по John the Ripper. Ч.7: Johnny — графический интерфейс для John the Ripper
Оглавление
1. Знакомство и установка John the Ripper
2. Утилиты для извлечения хешей
3. Как запустить взлом паролей в John the Ripper (как указать маски, словари, хеши, форматы, режимы)
4. Практика и примеры использования John the Ripper
6. Брут-форс нестандартных хешей
7. Johnny — графический интерфейс для John the Ripper
7.1 Преимущества и недостатки графического интерфейса для John the Ripper
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.8 Как в Johnny запустить атаку на Wi-Fi
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.
То есть алгоритм установки следующий:
- Установка драйвера для видеокарты
- Установка John the Ripper
- Установка 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 и другие интерпретаторы должны быть установлены в системе. На всякий случай, вот соответствующие ссылке по установке:
- Как установить Python и PIP на Windows 10. Настройка Python в качестве модуля веб-сервера
- Как установить и использовать Ruby в Windows
- Установка Perl в Windows
Сами скрипты для извлечения хешей не поставляются с 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. Как исправить эту ошибку без перекомпиляции, я не знаю.
Связанные статьи:
- Полное руководство по John the Ripper. Ч.6: брут-форс нестандартных хешей (77.6%)
- Полное руководство по John the Ripper. Ч.1: знакомство и установка John the Ripper (74.3%)
- Полное руководство по John the Ripper. Ч.3: как запустить взлом паролей в John the Ripper (как указать маски, словари, хеши, форматы, режимы) (69.9%)
- Полное руководство по John the Ripper. Ч.4: практика и примеры использования John the Ripper (69.4%)
- Как использовать предварительно вычисленные таблицы для взлома паролей Wi-Fi в Hashcat и John the Ripper (68.5%)
- Базовое и продвинутое использование oclHashcat (Hashcat) для взлома WPA/WPA2 паролей из хендшейков (RANDOM - 52.2%)