John the ripper как пользоваться на андроид

Обновлено: 28.04.2024

Я уже не раз в своих статьях, посвященных безопасности сетей, говорил о том, что администратору необходимо выявлять наличие нестойких паролей в своей системе. Именно из-за того, что пользователи выбирают слабые пароли, и производится много незаконных вторжений в, кажется, сильно защищенную систему. В данной статье речь пойдет о программе John The Ripper, позволяющей расшифровывать пароли пользователей в системах Unix.

Я не хочу утверждать, что эта статья целиком посвящена администраторам. Наоборот, я адресую эту статью в первую очередь обычным пользователям. Именно их часто одолевает лень разобраться в какой-либо программе полностью. Порой они даже не догадываются о том, сколько полезных функций заложено программистами. Используя все настройки, принятые по умолчанию, они запускают программу без каких-либо аргументов, пытаясь добиться от нее максимального результата в кратчайшие сроки. В сложных программах такого практически не бывает, поэтому зачастую программа "забрасывается" до лучших времен либо используется не на полную катушку. В администрировании такая халатность может привести к серьезным последствиям. Поэтому я и решил сделать подробное руководство по программе John The Ripper, как одной из лучших расшифровщиков паролей для Unix систем.

Для того чтобы использовать программу John The Ripper, вам понадобится копия файла с паролями. Очень часто у пользователей, заглянувших впервые в файл etc/passwd либо же etc/shadow, появляется слишком много вопросов. Сейчас я постараюсь кратко объяснить, как же устроен файл etc/passwd . В этом файле находится список всех пользователей. Для каждого пользователя отведена отдельная строка, которая описывает его учетную информацию. Рассмотрим на примере формат одной из таких строк:

root:qVbsxDKZ7lKxA:0:0:root:/root:/bin/bash .

В этой строке поля разделены двоеточиями. Эта строка разбивается на следующие части. root, в нашем случае, — это имя пользователя, т.е. его логин в системе; qVbsxDKZ7lKxA — это закодированный пароль пользователя root. Всего различных способов кодирования пароля 4096, так что очень маловероятно, что если у двух разных пользователей одни и те же пароли, то и в зашифрованном виде они будут выглядеть одинаково. 0, который следует сразу же за зашифрованным паролем, — это входной идентификационный номер пользователя. Обычно первые 100 идентификационных номеров зарезервированы для административных целей, так что желательно, чтобы идентификационные номера пользователей были больше 100, да и к тому же для каждого пользователя уникальными. Следующим за идентификационным номером пользователя идет идентификационный номер группы пользователя. Это создано из-за того, что большинство групп состоят более чем из одного пользователя, поэтому пользователи, принадлежащие к одной группе (идентификационные номера группы у пользователей равны), могут иметь общие файлы. Таким образом, доступ к таким файлам будет разрешен только членам этой группы и никому другому (кроме пользователя root, конечно:). Имена и номера групп должны быть определены в файле etc/group . За идентификационным номером группы следует место для комментария, обычно там указывается полное имя пользователя, однако здесь может располагаться любая другая информация. /root — это начальный каталог пользователя. /bin/bash — оболочка пользователя, принимаемая по умолчанию. Вот и весь формат файла. Таким образом, для каждого отдельного пользователя отведена одна строка, что, на мой взгляд, очень удобно для системного администратора.

Теперь приступлю к описанию самой программы. Сначала, вы должны получить копию файла паролей. Если вы, воспользовавшись правами root'a, получили файл, содержащий так называемые теневые (shadow) пароли, то вам понадобится преобразовать этот файл в нормальный вид, выполнив следующую команду: unshadow /etc/passwd /etc/shadow > passwd.1 . Таким образом, получится файл ' passwd.1', содержащий зашифрованные пароли пользователей, который нам в дальнейшем и понадобится для расшифровки. Если вы собираетесь расшифровывать AFS или NT пароли, то вам необходимо для этого использовать программу 'unafs', входящую в поставку John The Ripper, или cкачать утилиту PWDUMP (ftp://samba.anu.edu.au/pub/samba/pwdump/), соответственно. Предположим, что вы получили файл паролей, 'passwd.1', и хотите начать его расшифровку. Самый легкий способ состоит в том, чтобы использовать заданный по умолчанию порядок режимов расшифровки. Для этого необходимо выполнить следующую команду: john passwd.1 . В результате John The Ripper начнет расшифровку с режима 'single crack', затем будет использован режим 'wordlist', и, наконец, вы дойдете до последнего режима работы программы под названием 'incremental mode'. Для увеличения скорости расшифровки при помощи подбора паролей по словарю рекомендуется воспользоваться большим словарем паролей, т.к. словарь, поставляющийся с самой программой, невелик. Если у вас есть такой словарь, то вам необходимо в файле john.ini отредактировать строку, указывающую на применение другого словаря. Например, если словарь с паролями носит название 'passwordlist', то в файле john.ini вам необходимо найти строку 'Wordfile =' и написать следующее: Wordfile =

Как и в любой другой системе, взломщик пытается получить наивысшие привилегии в системе. В ОС Unix такой учетной записью является root или же любая другая учетная запись, имеющая идентификатор 0. Для того чтобы проверить, расшифровался ли такой пароль, выполняем команду: john -show -users:0 passwd.1 . Если таких файлов с паролями у вас не один, а несколько, то для того, чтобы просмотреть все файлы, вы можете обойтись одной лишь командой: john -show -users:0 passwd.* . Если вам понадобилось узнать расшифрованный пароль какого-либо пользователя, например root'a, выполним следующее: john -show -users:root passwd.1 . И, наконец, для просмотра всех расшифрованных паролей пользователей, принадлежащих к привилегированным группам, нам поможет команда: john -show -groups:0,1 passwd.1 .

Однако же, если вы хотите использовать какой-нибудь из режимов расшифровки в отдельности, например 'single crack', авторы этой программы также предусмотрели это и включили в свой продукт выбор различных режимов. В нашем случае команда будет выглядеть следующим образом: john -single passwd.1 . Я уже говорил о том, что синтаксис программы изменился, поэтому результат выполнения команды: john -si passwd.1 будет таким же, как и результат выполнения предыдущей команды. Если у вас имеется сразу несколько файлов с зашифрованными паролями, то вам поможет следующая команда: john -single passwd.1 passwd.2 или даже john -single passwd.*, что во многих случаях сокращает запись исполняющихся команд.

Допустим, что после использования режима 'single crack' у вас расшифровались не все пароли. Следующим шагом к раскрытию всех зашифрованных паролей вы можете применить более мощный режим расшифровки — подбор паролей по словарю. Однако этот метод будет хорош для угадывания паролей лишь тех пользователей, которые не позаботились как следует о своей безопасности и выбрали в качестве своего пароля легко подбираемое слово. Поэтому мы будем использовать опцию wordlist: john -w:words.lst passwd.1 . Для любителей наглядности предлагается использовать длинный синтаксис параметров: john — wordfile=words.lst passwd.1 . Однако то же самое можно записать и кратко: john -w=words.lst passwd.1 . Для атаки перебора паролей по словарю, используя специальные правила, нужно в командной строке написать следующее: john -w:words.lst -rules passwd.1 . Но данный метод работает медленнее, чем атака по словарю без использования опции 'rules', однако это повышает ваши шансы расшифровать большинство слабых паролей, чтобы не тратить время на их расшифровку впоследствии. Поэтому я рекомендую не пренебрегать данной опцией.

Теперь рассмотрим следующий пример. Допустим, у вас набралось много паролей пользователей, которые не имеют доступ к шеллам, и вы не желаете тратить время на подбор паролей к их учетным записям. Вы можете указать john'y, чтобы тот не подбирал пароли для таких пользователей: john -w:words.lst -rules -shells:sh, csh, tcsh, bash passwd.1 . Этот вариант перебора работает во всех режимах. Хочу заметить, что для взломщика, атакующего систему, пароли пользователей, не имеющие доступа к шеллам, представляют наименьшее значение, поэтому основной упор он будет делать именно на пользователей с доступом к шеллам, ну и, конечно же, на суперпользователя — root'a. Подобно всем другим режимам взлома паролей, для того, чтобы как можно быстрее расшифровать все файлы, вам необходимо при расшифровке использовать сразу все файлы с паролями: john -w:words.lst -rules passwd.* . При этом вы сэкономите уйму времени, потому как если в одном файле на взлом пароля root'a у вас может уйти много времени, то при использовании сразу несколько файлов шансы на быструю расшифровку увеличиваются за счет одновременного подбора паролей сразу ко всем пользователям. Ну, а далее все зависит только от скорости вашего процессора.

Так же как и в предыдущих режимах взлома, у вас присутствует возможность расшифровки каких-то отдельных паролей. Следующая команда производит расшифровку всех root'ов (универсальный идентификатор 0) во всех файлах паролей: john -w:words.lst -rules -users:0 passwd.* . Для альтернативы, если вы не желаете тратить впустую время на расшифровку ваших собственных паролей, будучи уверенным в том, что они не взламываемые: john -w:words.lst -rules -users:-root, solar passwd.* . Иногда полезно разбить ваши файлы паролей на две части, которые впоследствии можно будет расшифровывать в отдельности: john -w:words.lst -rules -salts:2 passwd.* и john -w:words.lst -rules -salts:-2 passwd.* .

В результате это приведет к попыткам John'a взломать два или более паролей как можно быстрее, а затем уже после этого программа будет пробовать расшифровать все остальные пароли. Общее количество времени, потраченное на взлом, будет относительно тем же, но у вас появляется возможность получить некоторые пароли раньше, поэтому в результате расшифровки вы уже можете не нуждаться в подборе остальных. Например, John подобрал пароль для суперпользователя root. При этом вы достигли максимальных привилегий, потому как все, что могут делать обычные пользователи, может делать root. Однако ни у кого, кроме него, не существует таких высоких полномочий (если в системе только один суперпользователь с уникальным идентификатором 0). Пароли других пользователей могут понадобиться только лишь в том случае, если вход в систему под именем root запрещен. Тогда вам нужно будет добыть пароль какого-нибудь пользователя. Под ним зайти в систему, а уже после этого, зная пароль пользователя root, попытаться поднять свои привилегии до рутовских.

Наиболее мощный режим расшифровки в программе John The Ripper называется "incremental". Для того чтобы начать перебор зашифрованных паролей в таком режиме, вы можете просто выполнить следующую команду: john -i passwd.1 . В результате выполнения этой команды John будет использовать заданные по умолчанию возрастающие параметры режима, которые определены в файле john.ini в разделе [Incremental:All] . В файле конфигурации, снабженном John'ом, эти параметры должны использовать все 95 символов и пробовать все возможные длины пароля, от 0 до 8. (Нулевой длиной пароля автор программы считает хэш, представляющий собой пустую строку, поскольку такие пароли тоже иногда могут попадаться). Не следует ждать того, что перебор всех возможных паролей закончится в разумное время, так как если пароль действительно стойкий, то подобрать его на обычном компьютере не реально.

Если ваш файл john.pot стал достаточно большим, то вы могли бы использовать этот файл для создания нового файла символов:

В примере, показанном выше, John запишет поверх старых файлов с символами новые файлы, которые сгенерируются и будут основаны только на файле john.pot (John The Ripper использует именно этот файл для генерации всех возможных символов, если вы не укажете для этого какой-нибудь другой файл с паролями). Обратите внимание, что фильтры слов, используемые в этом примере, предопределены в конфигурационном файле john.ini и поставляются для вашего же удобства вместе с программой.

Теперь рассмотрим файл конфигурации программы John The Ripper. Предположим, что вы обратили внимание на то, что в некоторых файлах паролей большинство пользователей в качестве паролей используют имена для входа в систему с некоторыми изменениями, а именно, они прибавляют к концу логина символы '?!'. Тогда вы можете сделать новое правило для режима 'single crack' и разместить его в самом начале конфигурационного файла:

Если вы генерируете новый файл символов (его генерацию я описал выше), вы должны будете также это указать в файле john.ini в разделе, относящемуся к режиму 'incremental'. В самом простом случае это может выглядеть следующим образом:

Используя, по возможности, весь этот арсенал команд, вы можете в кратчайшие сроки добиться желаемого результата. А значит, и принять меры борьбы со слабыми паролями, обратившись уже к конкретному пользователю с просьбой заменить слабый пароль чем-нибудь более стойким. И напоследок хочу заметить, что за все последствия, к которым может привести использование этой программы, я ответственности не несу.

Компьютерная газета. Статья была опубликована в номере 19 за 2001 год в рубрике soft :: безопасность

Этичный хакинг и тестирование на проникновение, информационная безопасность

Оглавление

Что такое John the Ripper

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

Даже если вы уже знакомы с Hashcat (а тем более, если НЕ знакомы с Hashcat), вам нужно изучить принципы работы John the Ripper, поскольку они отличаются.

Чем различаются John the Ripper и Hashcat

Hashcat для брут-форса может использовать видеокарту, центральный процессор (ЦП) или всё вместе.

John the Ripper может использовать что-то одно: или видеокарту, или видео ядро ЦП, или только ЦП.

Hashcat может использовать видеокарту для взлома любых поддерживаемых алгоритмов.

John the Ripper для взлома на видеокарте поддерживает только некоторые виды алгоритмов.

Если у вас несколько видеокарт, Hashcat «из коробки» поддерживает работу сразу с несколькими устройствами и по умолчанию разбивает задачу на нужное количество потоков и размер каждой этой задачи привязан к мощности видеокарты.

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

Для Hashcat не имеет значение, как вы её установили: собрали из исходного кода или скачали бинарный файл.

Для John the Ripper очень важно самому собрать бинарный файл, поскольку в этом случае учитывается специфика вашей системы. В результате при компиляции будут указаны поддерживаемые процессором наборы команд, например, AVX2 вместо дефолтного AVX, что в конечном счёте очень значительно скажется на производительности — для некоторых алгоритмов благодаря этому достигается ускорение взлома в 2 раза! Либо напротив, скомпилированные на более новом железе исполнимые файлы John могут не работать на некоторых компьютерах

Для Hashcat обязательно нужно указать тип хеша.

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

Синтаксис команд и опций сильно различается.

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

Преимущества John the Ripper:

  1. Более гибкая работа с хешами — даже если в файле с хешами имеются хеши других типов, то John не завершает работу с ошибкой, а просто используют хеши того типа, который указан в команде запуска. К тому же, утилиты для вычисления хешей зачастую добавляют строки, которые в Hashcat могут вызвать ошибку «неправильный хеш». John the Ripper нормально работает с такой формой записи.
  2. Более гибка Атака на основе правил. В John the Ripper и Hashcat имеется реализация Атаки на основе правил и синтаксис записи правил имеет много общего. Но в John the Ripper эта атака более мощная, поскольку имеет больше правил, а также позволяет использовать наборы символов в записи правил.
  3. Поддержка нестандартных хешей. Hashcat может работать только с хешами, которые предусмотрели разработчики этой программы. А в John the Ripper имеется режим Dynamic, который позволяет указать формулу, по которой был вычислен хеш. То есть можно взламывать произвольные типы хешей.

Установка драйверов видеокарт для John the Ripper

Если вы хотите использовать GPU для взлома паролей (а это в десятки раз быстрее, чем на центральном процессоре), то нужно установить видео драйвера.

Для взлома могут использоваться:

  • центральный процессор
  • видео ядро центрального процессора
  • видео карта

Нужно выбрать что-то одно из этого — самым быстрым вариантом является видео карта.

Конечно, конкретные конфигурации компьютеров могут различаться: у кого-то нет дискретной видеокарты, у кого-то нет видео ядра у ЦП — надеюсь, вы в состоянии это проверить самостоятельно.

Установка видео драйверов в Windows

В этой ОС всё просто — скорее всего, видео драйверы для вашей графической карты уже установлены. Если нет — перейдите на сайт производителя, скачайте и установите драйвер.

Для того, чтобы использовать центральный процессор как OpenCL устройство, вам нужно установить «OpenCL Runtime for Intel Core and Intel Xeon Processors». Нужные ссылки вы найдёте в этой статье по Hashcat, которая также использует это ПО.

Установка видео драйверов в Linux

В Kali Linux

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

Установка видео драйверов для NVIDIA в Linux

Включение OpenCL для Intel

Если ваш центральный процессор поддерживает OpenCL, то установите следующие пакеты:

В Arch Linux, BlackArch

Включение OpenCL для NVIDIA

Удалите xf86-video-nouveau есть он есть:

Установите проприетарный драйвер NVIDIA, CUDA и другие необходимые пакеты:

Включение OpenCL для Intel

Друзья, нужна ваша поддержка — если у вас другой дистрибутив или видеокарта AMD, напишите в комментариях, как вы установили видео драйвер — я добавлю эту информацию сюда.

Установка John the Ripper в Linux из исходного кода

Как уже было сказано, важно самому собрать John the Ripper чтобы он использовал все возможности вашего процессора. Ещё один плюс такого подхода — мы получим самую свежую версию John the Ripper.

Установка необходимых зависимостей в Kali Linux:

Установка необходимых зависимостей в Arch Linux, BlackArch:

Далее одинаково в любом дистрибутиве:

Обратите внимание, в последней команде вы можете использовать опцию -j после которых указать количество (логических) ядер вашего процессора, например, у меня 12 логических ядер, тогда я использую:

Теперь перейдите в папку run:

И запустите тест:

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

Помните, что если в терминале набрать

то запустится предустановленная в системе версия, а не та, которую вы скомпилировали.

Установка John the Ripper в Debian, Linux Mint, Ubuntu

Установка должна выполняться точно так же, как и в Kali Linux. Поэтому обратитесь к разделу «Установка John the Ripper в Kali Linux». Если у вас что-то не получилось, то напишите здесь в комментариях с указанием вашего дистрибутива и ошибки.

Как установить John the Ripper в Windows

Компиляцию John the Ripper из исходного кода в Windows мы рассмотрим как-нибудь потом. Воспользуемся официальным бинарным файлом.

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

На самом деле в Windows можно запустить John the Ripper даже без Cygwin, но в этом случае он не сможет использовать OpenCL (видео ядра) для брут-форса.

Теперь в папке 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.

Трюк с подменой файла может сработать не для всех систем — но в любом случае вы можете использовать для взлома центральный процессор или встроенную графику.

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


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


Откройте консоль Cygwin для выполнения команд.

Запустите тест установки::

Запустите бенчмарк вашей системы:

Но всё-таки JtR это одна из тех программ, которая в первую очередь предназначена для Linux. Дальше вы увидите, что мы будем запускать скрипты для генерации (извлечения) хешей из файлов и, например, для некоторых из вспомогательных программ/скриптов нужно, например, установленное окружение Python, которое в Linux присутствует по умолчанию.

Проверка John the Ripper

В этом разделе мы проверим, какие устройства видит John the Ripper для использования во время брут-форса.

Опции на любой системе одинаковые, но помните, что в Windows для запуска John the Ripper нужно открыть Cygwin и в качестве исполнимого файла указывать

Если вы запускаете в Linux установленный из стандартных репозиториев файл, то достаточно писать просто

Если вы запускаете скомпилированный из исходного кода файл, то перейдите в каталог с исполнимым файлом (в папке программы это директория run) и в качестве исполнимого файла указывайте

Для просмотра устройств OpenCL используйте опцию --list=opencl-devices:



Как вы можете увидеть, у меня три устройства:

1 — видео ядро центрального процессора:

2 — дискретная видео карта

3 — центральный процессор

Аналогично в Windows:


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

Список алгоритмов может различаться от ОС и от установленных зависимостей.

Чтобы посмотреть список поддерживаемых алгоритмов:

Список уместился не весь:


Чтобы посмотреть смотреть список алгоритмов для взлома на OpenCL:


Намного меньше, но Wi-Fi там есть.

Как использовать видеокарту для взлома в John the Ripper

По умолчанию JtR использует центральный процессор, даже если все необходимые драйвера для OpenCL установлены.

Чтобы включить видеокарту, нужно использовать опцию --format и явно указать алгоритм, который поддерживает OpenCL.

Например, для бенчмарка алгоритма wpapsk на видеокарте:

Чтобы взламывать wpapsk на центральном процессоре, нужно запускать примерно так:


Как можно увидеть на скриншотах: 114975/17385=6,61, то есть скорость перебора паролей увеличилась более чем в 6 раз.

Как использовать видео ядро центрального процессора в JtR

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

JtR может выполнять вычисления на:

  • обычных ядрах ЦПУ
  • используя OpenCL устройства

Список OpenCL устройств может включать:

  • видеокарту
  • интегрированную графику ЦПУ
  • обычные ядра ЦПУ

Как вы можете увидеть, даже без установки исполнимой среды OpenCL и видео драйверов, JtR способен взламывать пароли.

Алгоритмы, в названии которых отсутствует строке «-opencl», например wpapsk, могут брут-форситься только на обычных ядрах центрального процессора.

Алгоритмы, в названии которых присутствует строка «-opencl», например wpapsk-opencl, могут брут-форситься на:

  • видеокарте
  • интегрированной графике ЦПУ
  • обычных ядрах ЦПУ

Чтобы посмотреть список доступных устройств OpenCL выполните команду:

Посмотрите на следующие скриншоты:



Под номером один — встроенная графика ЦПУ.

Под номером два — видеокарта.

Под номером три — обычные ядра ЦПУ, с которыми JtR будет работать как с устройством OpenCL.

По умолчанию (без опции -dev), JtR использует одно из устройств OpenCL, которое как думает программа является самым быстрым.

Итак, чтобы запустить JtR на обычных ядрах ЦП, используйте название алгоритма без строки «-opencl»:

Чтобы запустить взлом пароля на первом устройстве OpenCL (у меня это встроенная графика ЦП, запуск завершился неудачей):


Чтобы запустить взлом пароля на втором устройстве OpenCL (у меня это дискретная видеокарта):

Чтобы запустить взлом пароля на тертьем устройстве OpenCL (у меня это обычные ядра центрального процессора):

Также опцию -dev можно использовать так:

При использовании OpenCL, эти опции говорят JtR использовать только GPU устройство(а) или только CPU устройство(а).


Как запустить бенчмарк John the Ripper

Чтобы проверить скорость перебора паролей в JtR используется опция --test.

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

Если вы хотите проверить скорость только определённого алгоритма, то используйте опцию --format.

Пример теста скорости взлома пароля Wi-Fi центральным процессором:

Пример теста скорости взлома пароля Wi-Fi дискретной видеокартой:

Если нужно только проверить работу расшифровки различных алгоритмов без запуска бенчмарка, то укажите 0 в качестве значения опции --test:

Как настроить John the Ripper

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

Обеспечьте хорошее охлаждение; следите за температурой. Если среда выполнения OpenCL поддерживает это, температура графического процессора будет отслеживаться и отображаться в строках состояния, а в john.conf есть изменяемый пользователем предел, который завершит работу при 95 °C.

Эта настройка устанавливается директивой:

Температура указывается в градусах Цельсия - °C.

Вместо прерывания, можно остановить программу на это количество секунд, чтобы охладить GPU, когда температура достигнет значения AbortTemperature, затем программа повторно проверит температуру и либо продолжит работу, либо останется на паузе. Установите значение 0 чтобы просто завершить работу.

Различие компиляции с AVX2 и AVX для John the Ripper

Чтобы посмотреть параметры сборки используйте опцию --list=build-info:


Бенчмарк двух версий программ:


1 . На этой половине скриншота бенчмарк последней версии JtR, которую я скомпилировал из исходного кода. Поскольку мой ЦП поддерживает AVX2, то John the Ripper также это поддерживает.

2 . А эту я установил из стандартного репозитория своего дистрибутива — она скомпилирована с AVX.

Разница весьма значительная.

Итог по первой части

Итак, это первая часть по John the Ripper — популярному офлайн брут-форсеру. В ней мы узнали хитрости по установке JtR, а также научились тестировать скорость перебора паролей, включать для использования видео карту и контролировать действия при перегреве.

При запуске подобных программ (John the Ripper и Hashcat) нужно заботиться о должном охлаждении. Если ваш компьютер/ноутбук перегревается, то скорость взлома будет очень значительно падать.

В следующих частях будет ещё интереснее! Мы научимся извлекать хеши паролей и запускать атаки по словарю и по маске, а также многое другое!

John the Ripper - одна из самых известных и широко используемых программ для взлома паролей на Windows, Linux а также операционные системы MacOS. Эта программа с открытым исходным кодом и специально предназначена для взлома паролей с помощью грубой силы, а также по словарю, она способна очень быстро взламывать хэши паролей (это зависит от мощности процессора вашего компьютера), и ее использование действительно простое. Сегодня в этой статье мы расскажем все о John the Ripper, одной из наиболее часто используемых программ для взлома паролей.

Что такое Джон Потрошитель?

Для тех, кто еще этого не знает, John the Ripper - инструмент для взлома паролей написан на C и широко используется аналитиками безопасности для проверки устойчивости ключа к атакам методом грубой силы. Эта программа способна взламывать MD5, SHA-1 и многие другие хэши, широко используемые в мире вычислений. Эта программа способна автоматически определять тип хэша, который мы взламываем, чтобы облегчить пользователю взлом, не беспокоясь о типе хэша, который он пытается «взломать».

Очень быстро взламывайте пароли или ключи с помощью Джона Потрошителя

Некоторые очень важные особенности этой программы заключаются в том, что она оптимизирована для многих моделей процессоров, работает на многих архитектурах ПК, а также в различных операционных системах, однако обычно используется в операционных системах на основе Linux, фактически, в основных дистрибутивах Linux. . ориентированная на пентестинг и компьютерную безопасность, эта программа уже включена по умолчанию.

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

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

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

Эта программа позволяет нам взламывать пароли по словарю. Если мы загрузим один или несколько словарей паролей в Интернете объемом в несколько десятков ГБ, инструмент будет отвечать за тестирование каждого из этих ключей, чтобы попытаться взломать хэш пароля. Процесс состоит из генерации хеша каждого пароля, чтобы позже сравнить хеш, который мы хотим взломать, если хеш тот же, значит, мы обнаружили пароль, если хеш не совпадает, то это не ключ, и мы Придется продолжить тестирование. Мы сможем полностью автоматизировать взлом паролей, содержащихся в ключевых словарях.

Замечательным аспектом является то, что он не только проверяет ключи словаря, но также добавляет числа, прописные и строчные буквы и символы к словам, которые мы вводим как «ввод», кроме того, он также способен комбинировать слова для проверки еще большего количества комбинаций пароли и найдите используемый ключ.

Атака грубой силы

Атака полным перебором состоит из проверки всех комбинаций букв, цифр и символов ключа определенной длины. Этот метод является самым медленным, поскольку он проверяет все комбинации, и на взлом паролей определенной длины могут потребоваться часы, дни и даже годы. В общем, взлом пароля, состоящего более чем из 12 символов, займет у нас много времени, чтобы сделать это грубой силой, поэтому вы должны это учитывать.

Эта программа позволяет нам настроить эту атаку методом грубой силы, мы посоветуем вам проверять только буквы, буквы и цифры и даже добавлять символы. Чем больше у нас «входных» символов, тем больше времени потребуется на проверку всех возможных комбинаций паролей, поэтому мы должны учитывать это при настройке ввода.

Как только мы узнаем, что такое John the Ripper и два его режима работы, мы увидим, как системный администратор может использовать эту программу для проверки безопасности ключа компьютера. Таким образом, мы проверим, уязвимы ли мы для грубой силы или атаки по словарю со стороны хакера, стремящегося получить к нему удаленный (или локальный) доступ.

Установка и проверка работоспособности

В настоящее время эта программа доступна во всех репозиториях основных дистрибутивов операционной системы Linux, поэтому мы можем легко и быстро установить ее без проблем. Если он недоступен для вашего дистрибутива, вы всегда сможете добавить его позже, отредактировав файл репозиториев. В этом уроке мы собираемся использовать Ubuntu операционная система для установки программы.

sudo apt install john

John The Ripper Crackear Contraseñas фото урока 1

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

Протестируйте производительность на нашем ПК

Прежде чем мы начнем взламывать пароли, мы можем запустить простой тест производительности, в котором будет протестировано наше оборудование. Таким образом, мы сможем узнать скорость, с которой инструмент будет тестировать ключи с различными типами шифрования, используя 100% наших ЦП. Для этого мы просто открываем терминал Linux и набираем:

John The Ripper Crackear Contraseñas фото урока 2

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

Взлом паролей грубой силой

  • Чтобы не поставить под угрозу нашу систему.
  • Чтобы получить результаты как можно быстрее (в качестве примера мы будем использовать очень простой ключ).
  • Для первого контакта с инструментом и ознакомления с ним.

Для этого мы создаем новый текстовый файл с именем «password.txt», например, в нашей личной папке Ubuntu со следующим содержимым:

Затем мы собираемся дать Джону команду взломать пароль для старого файла. Для этого набираем:

Инструмент начнет работать.

John The Ripper Crackear Contraseñas фото урока 3

Мы должны дождаться, пока этот инструмент взломает пароль предыдущего файла. Этот процесс может занять часы и даже дни, в зависимости от его сложности. Когда процесс завершится, мы увидим результат, подобный следующему.

John The Ripper Crackear Contraseñas фото урока 4

Наш пароль взломан. Чтобы увидеть это, нам просто нужно использовать команду –show следующим образом:

john --show password.txt

John The Ripper Crackear Contraseñas фото урока 5

Нашим паролем был «пример». Теперь мы можем попытаться войти в систему с пользователем «user» и паролем «example», или, по крайней мере, мы могли бы это сделать, если бы работали напрямую с файлом / etc / shadow, хотя время взлома заняло бы намного дольше, чем несколько минут.

Позже мы увидим, как использовать тот же инструмент, но для взлома паролей, используя словарь в качестве источника ключей. Наконец, мы собираемся дать вам небольшую задачу попрактиковаться в этой программе, скопировав ровно один практический пример из файла / etc / shadow:

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

Взламывайте пароли с помощью словаря ключей

Как и в предыдущем уроке, в этом случае мы собираемся начать с примера пароля, который мы сохранили вручную в документе под названием « password.txt «:

Затем нам нужно создать или создать собственный ключевой словарь. Мы можем скачать эти словари из Интернета, но для первых тестов программы мы собираемся создать простой словарь, который мы назовем « passwords.lst »И в котором мы введем несколько значений, каждое в строке, но одно из них будет словом« пример »(поскольку оно соответствует нашему паролю).

John the Ripper contraseñas diccionario foto 1

Далее нам просто нужно выполнить Джона Потрошителя с помощью –Wordlist = параметр, за которым следует путь к нашему файлу . Мы даем вам пример с двумя файлами, которые мы сгенерировали (зашифрованный пароль и словарь):

john --wordlist=passwords.lst password.txt

John the Ripper contraseñas diccionario foto 2

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

john --show password.txt

John the Ripper contraseñas diccionario foto 3

Как вы видели, взломать пароли с помощью John the Ripper действительно просто, скорость взлома будет зависеть от нашего процессора, метода, используемого для взлома паролей, а также сложности и длины пароля, который мы хотим взломать. Еще одна программа, которую мы рекомендуем для взлома паролей, - это Hashcat, программа намного более продвинутая, чем эта программа, но гораздо более сложная в использовании, если вы не читаете официальную документацию, кроме того, эта программа Hashcat позволяет нам использовать мощность карты. графические процессоры (GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР) для проверки миллионов паролей в секунду.

Читайте также: