John the Ripper – это утилита, основное предназначение которой заключается в оценке надежности паролей. Продукт распространяется бесплатно без графического интерфейса пользователя, который необходимо загружать и устанавливать отдельно.
Механизм работы программы строится на вычислении хешей. Другими словами, John the Ripper пытается подобрать такое значение хеша, которое бы в точности соответствовало результату выполнения хеш-функции при вводе реального пароля. При этом утилита использует несколько методов определения паролей, как то брутфорс или полный перебор всех возможных вариантов, подбор с применением словаря, а также их комбинацию. В случае успешного подбора паролей можно судить об их низкой надежности.
Возможности утилиты можно использовать не только для оценки сложности, но также и для восстановления собственных паролей. Кроме того, функционал John the Ripper активно применяется хакерами для получения доступа к системе, архивам и документам.
Из коробки программа предлагает пользователям лишь интерфейс командной строки. Примеры использования команд и параметров можно найти в текстовых файлах, распространяемых совместно с утилитой, однако навыков рядовых пользователей ПК вряд ли хватит для освоения John the Ripper.
Преимущества John the Ripper
Бесплатное распространение продукта.
Поддержка нескольких методов подбора паролей.
Недостатки John the Ripper
Отсутствие графического интерфейса пользователя из коробки.
Заключение
Программа представляет собой чрезвычайно мощный инструмент, который в хороших руках может сослужить хорошую службу при организации собственных защищенных систем. В руках же недоброжелателей утилита способна нанести непоправимый вред не только отдельному пользователю, но и целым предприятиям.
Изменения в последней версии
Увеличено чередование для bcrypt на x86-64 с 2x до 3x для значительного ускорения процессоров без SMT. К сожалению, это иногда приводит к незначительному снижению производительности при выполнении нескольких потоков на ЦП с SMT.
Распознайте префикс bcrypt $2b$.
В общем формате crypt(3) определите расшифровку с действительными и недействительными солями как отдельные идентификаторы для нашей эвристики для поддерживаемых типов хэшей.
Введен ряд оптимизаций для более быстрой обработки больших файлов хэшей паролей, включая загрузку, взлом и «--show». Некоторые из них используют больше памяти, чем раньше, но более эффективно.
Сравните, используя все разные пароли-кандидаты длиной 7 по умолчанию.
Убрана недокументированная специальная обработка «Mc» в командах правил «c» и «C».
Убрано недокументированное ограничение команд правил «M» и «Q», когда они иногда запоминали/проверяли только до предела длины текущего типа хэша, но эта оптимизация не обязательно была бы прозрачной (например, если более поздняя команда будет извлекать подстроку выше предела длины типа хеша и довести его до предела).
Реализована специальная обработка повторяющихся команд правил «$», «^», «[», «]», «{» и «}», а также более быстрая обработка команды «D».
При построении с поддержкой "--fork" запрещаются имена сеансов с суффиксами, состоящими только из цифр, поскольку они конфликтуют с теми, которые создаются "--fork".
Переслать SIGTERM дочерним элементам --fork.
Установите для stdout буферизацию строки (а не потенциально полную буферизацию), за исключением «--stdout», «--show» и вспомогательных программ, таких как «unshadow».
В Windows восстановите нормальную обработку Ctrl-C, если наш родитель (например, Джонни с графическим интерфейсом) отключил ее.
Добавлены цели linux-x86*-avx512 и linux-x86*-avx2 make, которые используют соответственно AVX-512 и AVX2 для DES для битовых фрагментов.
Добавлена цель linux-mic make для Intel MIC (Xeon Phi первого поколения, также известная как Knights Corner), которая использует свои 512-битные встроенные функции SIMD для битового DES. (Для Xeon Phi второго поколения, также известного как Knights Landing, используйте linux-x86-64-avx512.)
Добавлены цели linux-arm64le, linux-arm32le-neon и linux-arm32le. (Первые два из них используют ASIMD или NEON для битового DES.)
Добавлена цель make linux-sparc64.
Сделана небольшая оптимизация ассемблерного кода MMX и SSE2 для хэша LM.
Прекращена поддержка Ultrix и SCO.
Не ищите альтернативные имена файлов конфигурации (например, john.ini в Unix).
Образец внешнего режима «ДокуВики» добавлен в файл john.conf по умолчанию.
Исправлен приоритет операций в компиляторе внешнего режима, чтобы он был таким же, как в C.
Исправлена ошибка записи за пределами виртуальной машины во внешнем режиме.
Исправлена ошибка, появившаяся в версии 1.7.4 в механизме правил списка слов, из-за которой некоторые последовательности команд правил могли переполнить буфер слов.
Исправлена ошибка, из-за которой невыровненные инструкции доступа SSE/AVX без необходимости генерировались GCC 4.6+ в коде bitslice DES в сборках, отличных от OpenMP.
Исправлена ошибка, из-за которой «Предупреждение: нет поддержки OpenMP для этого типа хэша» могло быть напечатано в режиме «--stdout».
Внесен ряд других исправлений, улучшена переносимость и документация.
Хотите поделиться впечатлениями или задать вопрос?
Начните обсуждение, оставив комментарий со своими мыслями о John the Ripper!