Инструкции по использованию John the Ripper


Уважаемые посетители сайта! Данная статья устарела, смотрите новую онлайн-книгу «Полное руководство по John the Ripper».

Ч.1: Знакомство и установка John the Ripper

Ч.2: Утилиты для извлечения хешей

Ч.3: Как запустить взлом паролей в John the Ripper (как указать маски, словари, хеши, форматы, режимы)

Ч.4: Практика и примеры использования John the Ripper

Ч.5: Атака на основе правил

Ч.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):
   <key>RestrictionsPasswordKey</key>
   <data>
   J94ZcXHm1J/F9Vye8GwNh1HNclA=
   </data>
   <key>RestrictionsPasswordSalt</key>
   <data>
   /RHN4A==
   </data>
Пример вывода:
$pbkdf2-hmac-sha1$1000.fd11cde0.27de197171e6d49fc5f55c9ef06c0d8751cd7250

 

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.

позиционные аргументы:
  KEYRING_FILE  Вводо файла Gnome Keyring 

опциональные аргументы:
  -h, —help    показать справку и выйти

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

Принудительное двух байтовое исчисление контрольной суммы

 

 

 

 

 


Рекомендуется Вам:

2 комментария to Инструкции по использованию John the Ripper

  1. neutron393:

    проблема в том, что не ломает архивы в которых только  ОДНИ офисные документы. то хэш получается вида: $RAR3$*1*288160620aee0eac*28c21500*10240*13068*0*c:\1.rar*108*35:

    а вот, если с ними сразу же заархивировали ещё какой-нибудь txt файл, то хэш получается нормальный. ОТНОСИТСЯ К ПЕРВОЙ ВЕТКЕ ХЭША ($RAR3$*1)

  2. neutron393:

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

Добавить комментарий для neutron393 Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *