Инструкции по использованию John the Ripper
Уважаемые посетители сайта! Данная статья устарела, смотрите новую онлайн-книгу «Полное руководство по John the Ripper».
Ч.1: Знакомство и установка John the Ripper
Ч.2: Утилиты для извлечения хешей
Ч.4: Практика и примеры использования John the Ripper
Ч.6: Брут-форс нестандартных хешей
Ч.7: Johnny — графический интерфейс для John the Ripper
Программа John the Ripper создавалась для выявления слабых паролей пользователей операционных систем. При этом в настоящее время версия Jumbo (с расширенным функционалом от сообщества) превратилась в мощный комбайн, который может подбирать пароли для разнообразных архивов, документов, электронных кошельков и очень много чего ещё. Документация по этим возможностям программы является слабой и фрагментированной. Даже чтение справки и манула по John the Ripper мало чем вам помогут (тем не менее, начинать нужно со знакомства с ними).
В данном разделе мы устраним эти пробелы насколько это возможно. Будет рассказано о взломе разнообразных типов файлов, которые защищены паролями, о режимах взлома, о масках, словарях, правилах изменения слов и многом другом.
Взлом паролей пользователей Linux
Давайте всё-таки начнём с «базовой» функци по взлому паролей пользователей ОС, благо здесь всё элементарно.
Комбинирует файл passwd (/etc/passwd) и shadow (/etc/shadow) и перенаправляет их в файл (> unshadowed.txt):
root@HackWare:~# unshadow /etc/passwd /etc/shadow > unshadowed.txt
Используем словарь (–wordlist=/usr/share/john/password.lst), применяя правила коверкания (–rules), пытаемся взломать пароли хешей в данном файле (unshadowed.txt):
root@HackWare:~# john --wordlist=/usr/share/john/password.lst --rules unshadowed.txt Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt" Use the "--format=crypt" option to force loading these as that type instead Using default input encoding: UTF-8 Loaded 1 password hash (sha512crypt, crypt(3) $6$ [SHA512 128/128 SSE2 2x]) Will run 2 OpenMP threads Press 'q' or Ctrl-C to abort, almost any other key for status 1 (root) 1g 0:00:00:07 DONE (2015-12-20 07:41) 0.1394g/s 428.4p/s 428.4c/s 428.4C/s ilovegod..mobydick Use the "--show" option to display all of the cracked passwords reliably Session completed
Взлом в John the Ripper офисных документов, архивов, кошельков, зашифрованных дисков TrueCrypt и других файлов, зашифрованных паролем
John умеет взламывать только хеши — он не умеет напрямую работать с зашифрованными файлами. Программа не может открыть офисный документ, ввести туда пароль и т. п.
Это решаемая проблема — нам нужно получить (извлечь) хеш для интересующего нас файла. Сам John этого делать не умеет. Нужны вспомогательные утилиты. Ознакомиться с их списком можно, например, набрав команду:
locate *2john*
Вот так выглядит список на машине, где я установил John из исходников:
Согласитесь, список впечатляющий!
А вот так он выглядит в Kali Linux:
root@HackWare:~# locate *2john* /usr/share/metasploit-framework/data/john/run.linux.x64.mmx/pdf2john /usr/share/metasploit-framework/data/john/run.linux.x64.mmx/rar2john /usr/share/metasploit-framework/data/john/run.linux.x64.mmx/ssh2john /usr/share/metasploit-framework/data/john/run.linux.x64.mmx/zip2john
Нам явно очень много чего не доложили! Поэтому если не можете в своей системе найти какой-то файл (это можно сделать командой locate), то скачайте их из исходных кодов: https://github.com/magnumripper/JohnTheRipper.
Для себя я собрал всю доступную информацию об этих файлах в таблицу. Если вы заметили неточности в моих данных или хотите их дополнить — то пишите в комментариях к этому разделу.
Файл для извлечения хеша | Взламываемые файлы | Описание / Комментарии |
---|---|---|
1password2john.py | Извлекает хеш для взлома пароля программы 1Password | Использование: ./1password2john.py <1Password Agile Keychain(s)> |
7z2john.py | Извлекает хеши из зашифрованных архивов 7-Zip | Использование: ./7z2john.py < зашифрованные 7-Zip файлы > |
aix2john.pl и aix2john.py | Этот скрипт конвертирует AIX /etc/security/passw |
Использование: aixpasswd2john.pl <inputfile> Если пароль не задан, то aixpasswd2john.pl будет читать из стандартного ввода |
androidfde2john.py | Программа для "конвертации" образов / дисков Android FDE в дружественный для JtR формат. | Использование: ./androidfde2john.py <раздел данных / образ> <раздел footer / образ> |
apex2john.py | Дамп хешей APEX | Использование: ./apex2john.py <файл(ы) apex-hashes.txt> |
bitcoin2john.py | Извлекает хеш из кошельков Bitcon для подбора пароля | Использование: ./bitcoin2john.py [зашифрованные файлы кошелька bitcon] |
blockchain2john.py | ||
cisco2john.pl | ||
cracf2john.py | ||
dmg2john и dmg2john.py | Apple Disk Images (DMG) |
1. Запустите dmg2john на файл(ы) .dmg. Например: $ ../run/dmg2john test.dmg > hash 2. Запустите john на вывод dmg2john. Например: $ ../run/john hash Можно использовать любой файл на выбор: dmg2john или dmg2john.py |
ecryptfs2john.py | ||
efs2john.py | Encrypting File System (EFS) — система шифрования данных, реализующая шифрование на уровне файлов в операционных системах Microsoft Windows NT (источник). |
Для дополнительной функциональности рекомендуется установить пакет python-m2crypto: apt-get install python-m2crypto Использование: efs2john.py —masterkey=samples/openwall.efs/92573301-74fa-4e55-bd38-86fc558fa25e —sid="S-1-5-21-1482476501-1659004503-725345543-1003" efs2john.py —masterkey=samples/openwall.efs.2/21d67870-8257-49e0-b2de-c58324271c42 —sid="S-1-5-21-1482476501-1659004503-725345543-1005" efs2john.py —masterkey=samples/Win-2012-non-DC/1b52eb4f-440f-479e-b84a-654fdccad797 —sid="S-1-5-21-689418962-3671548705-686489014-1001" —password="openwall@123" |
encfs2john.py | Переводит файлы EncFS в формат удобный для John. | Использование: ./encfs2john.py <каталог EncFS> |
gpg2john |
PGP (англ. Pretty Good Privacy) — компьютерная программа, также библиотека функций, позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде, в том числе прозрачное шифрование данных на запоминающих устройствах, например, на жёстком диске. Взламываются PGP Desktop / OpenPGP / GnuPG частный (секретный) ключ |
Использование: ./gpg2john [-d] [-S] <GPG файл(ы) секретного ключа> если используется -d, тогда записывается отладочная информация декодирования типов объектов если используется -S, тогда также будут выведены подключи |
hccap2john |
HCCAP — это кастомный формат, специально разработанный для oclHashcat. Сами данные не отличаются от обычного tcpdump формата. На самом деле, они абсолютно те же самые. Они просто немного реорганизованы. Валидный файл hashcat cap (расширение файла: .hccap) содержит одну или больше экземпляров структуры. |
Использование: ./hccap2john <hccap файл(ы)> |
htdigest2john.py | ||
ikescan2john.py | ||
ios7tojohn.pl | Взлом ограничительного ПИН кода IOS 7 |
Пример ввода (с com.apple.restrictionspassword.plist):
1. Достаньте файл com.apple.restrictionspassword.plist из вашего телефона. Как сделать это — за пределами этого документа, просто погуглите это. 2. Запустите ios7tojohn на этот файл, Перенаправьте вывод в другой файл. К примеру: ./ios7tojohn com.apple.restrictionspassword.plist > ioshash 3. Запустите john на новый файл используя только четыре цифры (это ведь PIN код): ./john ioshash -inc:digits -min-len=4 -max-len=4 4. Взлом займёт полсекунды. И не потому что Apple использует очень убогий хеш механизм, а от того, что пространство ключей ПИН кода крайне маленькое. |
iwork2john.py | Использование: ./iwork2john.py [.key файлы] | |
kdcdump2john.py | ||
keepass2john | ||
keychain2john.py | Перерабатывает файлы Mac OS X keychain в удобный для John the Ripper формат. | Использование: keychain2john [файлы keychain] |
keyring2john.py | Взлом файлов GNOME Keyring |
использование: keyring2john.py [-h] KEYRING_FILE keyring2john.py -> конвертирует файлы Gnome Keyring в формат john.
позиционные аргументы:
опциональные аргументы: |
keystore2john.py | ||
kirbi2john.py | ||
known_hosts2john.py | ||
krbpa2john.py | ||
kwallet2john.py | ||
lastpass2john.py | ||
ldif2john.pl | ||
lion2john-alt.pl и lion2john.pl | ||
lotus2john.py | ||
luks2john | ||
mcafee_epo2john.py | ||
ml2john.py | ||
mozilla2john.py | ||
odf2john.py | Извлекает хеш из файлов ODF для взлома в John the Ripp. | Использование: ./odf2john.py <файлы ODF> |
office2john.py | Извлекает хешь из файлов MS Office для взлома в John the Ripp. Поддерживаются файлы MS Office 2003 / 2007 / 2010 / 2013. | Использование: ./office2john.py <зашифрованные файлы MS Office> |
openbsd_softraid2john.py | ||
openssl2john.py | ||
pcap2john.py | ||
pdf2john.py | Извлекает хеш из зашифрованных файлов PDF. | Использование: pdf2john.py <PDF файл(ы)> |
pem2john.py | ||
pfx2john | ||
putty2john | ||
pwsafe2john.py | ||
racf2john | ||
radius2john.pl | ||
rar2john | Извлекает хеш из зашифрованных архивов RAR. |
Использование: ./rar2john [-i <рядный порог>] <rar файл(ы)> Порог по умолчанию — 1024 байта(данные меньше чем эти будут помещены в ряд) |
sap2john.pl | ||
sipdump2john.py | ||
ssh2john |
JtR-jumbo имеет два формата (плагина) которые поддерживают взлом защищённых паролем частных ключей ssh — "ssh" and "ssh-ng". ssh-ng новее и быстрее, но крайне эксперементальный формат, который может сгенерировать ложные срабатывания. Используйте на свой собственный риск. |
Запустите ssh2john на частный ключ(и) SSH *ИЛИ* Запустите sshng2john.py на частный ключ(и) SSH |
sshng2john.py |
JtR-jumbo имеет два формата (плагина) которые поддерживают взлом защищённых паролем частных ключей ssh — "ssh" and "ssh-ng". ssh-ng новее и быстрее, но крайне эксперементальный формат, который может сгенерировать ложные срабатывания. Используйте на свой собственный риск. |
Запустите ssh2john на частный ключ(и) SSH *ИЛИ* Запустите sshng2john.py на частный ключ(и) SSH |
strip2john.py | Обрабатывает STRIP файлы в формат удобный для JtR. | Выходной формат: имя_файла:$strip$*data |
sxc2john.py | ||
truecrypt2john.py |
Утилита для импорта тома TrueCrypt в формат понятный для John The Ripper |
Использование: /truecrypt2john.py файл_тома [файл(ы)_ключей]> выводной_файл |
uaf2john | ||
vdi2john.pl | ||
vncpcap2john | ||
wpapcap2john | ||
zip2john | Обрабатывает входящие ZIP файлы в формат подходящий для JtR |
Использование: /home/mial/src/john/run/zip2john [опции] [zip файлы] -i <рядный порог> Устанавливает порог для встраиваемых данных. По умолчанию это 1024 байт Опции только для 'старых' зашифрованных файлов PKZIP: -a <имя_файла> Это "известный" ASCII файл. Использование режима 'ascii' даёт серьёзное ускорение, ЕСЛИ все файлы большие и вы ЗНАЕТЕ, что по карйней мере один из них начинается с "чистых" ASCII данных. -o <имя_файла> Использовать только этот файл из .zip файла -c Это создаст хеш "только контрольная сумма". Если есть много зашифрованных файлов в файле .zip, то это может быть вариантом, и будет достаточно данных чтобы ложные срабатывания не были видны. Если .zip — это 2 байта контрольной суммы и их 3 и более, то мы имеем 48 бит знания, которые "могут" быть достаточными для взлома пароля без необходимости пользователю иметь в наличии .zip файл. -m Использование "файловой магии" в качестве известного простого текста, если это применимо. Это немного быстрее, но не во всех ситуациях на 100% безопасно. -2 Принудительное двух байтовое исчисление контрольной суммы |
Связанные статьи:
- Полное руководство по John the Ripper. Ч.1: знакомство и установка John the Ripper (100%)
- Полное руководство по John the Ripper. Ч.2: утилиты для извлечения хешей (100%)
- Полное руководство по John the Ripper. Ч.3: как запустить взлом паролей в John the Ripper (как указать маски, словари, хеши, форматы, режимы) (100%)
- Полное руководство по John the Ripper. Ч.4: практика и примеры использования John the Ripper (100%)
- Полное руководство по John the Ripper. Ч.5: атака на основе правил (100%)
- Извлечение всех паролей (веб-браузеры, почтовые программы и пр.) в Windows и Linux (RANDOM - 56.2%)
проблема в том, что не ломает архивы в которых только ОДНИ офисные документы. то хэш получается вида: $RAR3$*1*288160620aee0eac*28c21500*10240*13068*0*c:\1.rar*108*35:
а вот, если с ними сразу же заархивировали ещё какой-нибудь txt файл, то хэш получается нормальный. ОТНОСИТСЯ К ПЕРВОЙ ВЕТКЕ ХЭША ($RAR3$*1)
но вполне, даже очень возможно, что я попросту не знаю такого способа