John the Ripper | |
---|---|
Тип | Взлом паролей |
Разработчик | «Solar designer»[1] |
Написана на | C, ассемблер |
Операционная система | Кроссплатформенное |
Последняя версия | 1.9.0-jumbo-1 (2019-05) |
Репозиторий | github.com/openwall/john |
Состояние | Aктивен |
Лицензия | GNU General Public License |
Сайт | openwall.com/john/ |
John The Ripper (досл. Джон-потрошитель) — свободная программа, предназначенная для восстановления паролей по их хешам. Основное назначение программы — аудит слабых паролей в UNIX системах путём перебора возможных вариантов. ПО JtR способно создавать словари любой сложности, а также извлекать хеш из файла, что является одной из самых сильных сторон JtR по сравнению с аналогичными программами. Программа также может выполнять аудит NTLM хешей, Kerberos, и др. Существуют реализации под различные ОС. Весьма популярна из-за поддержки большого количества хешей, автораспознавания хеша и настраиваемого взломщика. Также поддерживает множество модулей, включая сторонние, предоставляющих поддержку MD4 хешей, LDAP и MySQL паролей и т. д. Кроме хешей паролей доступен перебор паролей к архивам, атаки на методы аутентификации (WPA, HMAC,…). Существует кросс-платформенный графический интерфейс Johny — GUI[2], который требуется устанавливать отдельно. На 2012 год поддерживалось более 30 форматов в jumbo версии[1]. По состоянию на июль 2018 года JtR bleeding-jumbo версия поддерживает 262 формата[3].
Ниже представлен пример вывода программы во время работы в операционной системе Linux.
[user@Host ~]$ cat hash user:$1$plJCD2DU$lpYpkehFUxysMkYmxtrGZ.:14107:0:99999:7::: [user@Host ~]$ john hash Loaded 1 password hash (FreeBSD MD5 [32/32]) guesses: 0 time: 0:00:00:21 46% (2) c/s: 3102 trying: eilrahC guesses: 0 time: 0:00:00:26 57% (2) c/s: 3126 trying: Laddie2
John The Ripper проводит атаку по словарю, полный перебор и гибридный режим атаки. В режиме атаки по словарю программа берёт предполагаемые пароли из указанного файла, вычисляет хеш и сверяет его с атакуемым хешем. Слова из словаря могут модифицироваться по настраиваемой системе правил. С программой поставляется словарь на 4 млн строк[4]. В режиме брутфорса программа перебирает все возможные комбинации пароля, может использоваться вероятностный подход, в котором сперва проверяются статистически более популярные сочетания символов[1][5].
Перебор осуществляется на центральном процессоре компьютера, имеются оптимизированные для SSE, XOP, AVX, MMX версии. Многие хеши могут вычисляться одновременно на нескольких ядрах одного ПК при помощи OpenMP. Лишь для некоторых видов хешей доступно использование современных[когда?] карт видеоускорителей для вычислений при помощи интерфейсов Nvidia CUDA и универсального OpenCL[1].
Может использоваться для восстановления утраченных (забытых) паролей и для проверки сложности паролей[6].
Входит в состав пакета утилит Parrot Security OS, Kali Linux[7].
Использовался наряду с oclHashcat-plus для восстановления более 122 миллионов паролей из базы хешей форматов MD5 и SHA1 от KoreLogic в 146 млн записей (представлена на InfoSec Southwest), хотя для этого потребовался ряд модификаций кода[8][9]. Также использовался для анализа утечки паролей от LinkedIn[10].
В 2020 году JtR успешно использовался для восстановления персональных данных всех интернет-избирателей РФ, голосовавших по поправкам к конституции РФ[11].
Аналогами программы являются: Hashcat, SAMInside, L0phtCrack 6, ophcrack, PasswordsPro, Cain/Abel[12].