Практические примеры использования Hashcat. Часть 2

Практические примеры использования Hashcat. Часть 2

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

Взлом пароля архива RAR 

Для извлечения хеша выполните команду вида: 

rar2john ФАЙЛ > rar.tmp 

К примеру, путь до файла /mnt/disk_d/Share/test/file.rar, тогда команда следующая: 

rar2john /mnt/disk_d/Share/test/file.rar > rar.tmp 

Будет извлечён хеш в формате John, для Hashcat этот формат непригоден, поэтому выполним следующую команду: 

cat rar.tmp | grep -E -o '(\$RAR3\$[^:]+)|(\$rar5\$.*)' > rar.hash 

Она очистит хеш от ненужных строк и сохранит хеш в формате Hashcat в файл rar.hash

Но и это ещё не всё — имеется несколько версий RAR. Поэтому нам нужно правильно определить тип вашего хеша. Вы можете открыть файл rar.hash любым текстовым редактором или выполните следующую команду, чтобы вывести первые 8 символов хеша: 

head -c 8 rar.hash 
  • Если строка хеша начинается на: 
$RAR3$*0* 

Значит это RAR3-hp, номер хеша: 12500 

  • Если строка хеша начинается на: 
$rar5$16$ 

Значит это RAR5, номер хеша: 13000 

  • Если строка хеша начинается на: 
$RAR3$*1* 

Значит это RAR3-p (Uncompressed), номер хеша: 23700 

  • Если строка хеша начинается на: 
$RAR3$*1* 

Значит это RAR3-p (Compressed), номер хеша: 23800 

 ВНИМАНИЕ: у RAR3-p (Uncompressed) и RAR3-p (Compressed) ОДИНАКОВЫЕ начала хешей, я не знаю, как их можно различить. Единственный вариант — пробовать запускать команду hashcat с указанием типа хеша 23700, а затем 23800. При этом если вы указали тип хеша неправильно, то сразу будет показана ошибка. Пример ошибки: 

Hashfile '/home/mial/rar.hash' on line 1 ($RAR3$...91201eb0007c76714cbb328b2acfc*33): Salt-value exception
No hashes loaded. 

Если вы получили ошибки об отсутствующих модулях, например: 

/usr/share/hashcat/modules/module_23700.so: cannot open shared object file: No such file or directory 
/usr/share/hashcat/modules/module_23800.so: cannot open shared object file: No such file or directory

То это означает, что ваша версия Hashcat ещё не поддерживает хеши с номерами 23700 и 23800 и вам нужно обновить программу до последней версии. В настоящее время эта поддержка присутствует только в бета версии Hashcat, которую вы можете скачать на официальном сайте: https://hashcat.net/beta/ 

Взлом пароля архива 7z 

Для извлечения хеша выполните команду вида: 

7z2john ФАЙЛ > 7z.tmp 

Будет извлечён хеш в формате John, для Hashcat этот формат непригоден, поэтому выполним следующую команду: 

cat 7z.tmp | grep -E -o '\$7z\$.*' > 7z.hash 

Она очистит хеш от ненужных строк и сохранит хеш в формате Hashcat в файл 7z.hash

Номер хеша: 11600 

Взлом пароля MS Office: Word (файл .DOCX) и другие офисные файлы 

Для извлечения хеша выполните команду вида: 

office2john ФАЙЛ > office.tmp 

Для подготовки хеша выполните команду: 

cat office.tmp | grep -E -o '\$office\$.*' > office.hash 

Имеется несколько версий офисных документов MS Office. Поэтому нам нужно правильно определить тип вашего хеша. Вы можете открыть файл office.hash любым текстовым редактором или выполните следующую команду, чтобы вывести первые 14 символов хеша: 

head -c 14 office.hash 
  • Если строка хеша начинается на: 
$office$*2007* 

Значит это MS Office 2007, номер хеша: 9400 

  • Если строка хеша начинается на: 
$office$*2010* 

Значит это MS Office 2010, номер хеша: 9500 

Если строка хеша начинается на: 

$office$*2013* 

Значит это MS Office 2013, номер хеша: 9600 

Пример удачного взлома пароля файла Word: 

Взлом пароля LibreOffice (файлы Wirter/.odt и другие) 

Для извлечения хеша выполните команду вида: 

libreoffice2john ФАЙЛ > odf.tmp

Для подготовки хеша выполните команду: 

cat odf.tmp | grep -E -o '\$odf\$[^:]+' > odf.hash 

Имеется несколько версий офисных документов LibreOffice. Поэтому нам нужно правильно определить тип вашего хеша. Вы можете открыть файл odf.hash любым текстовым редактором или выполните следующую команду, чтобы вывести первые 10 символов хеша: 

head -c 10 odf.hash 
  • Если строка хеша начинается на: 
$odf$*1*1* 

Значит это Open Document Format (ODF) 1.2 (SHA-256, AES), номер хеша: 18400 

  • Если строка хеша начинается на: 
$odf$*0*0* 

Значит это Open Document Format (ODF) 1.1 (SHA-1, Blowfish), номер хеша: 18600 

Взлом пароля PDF 

Для извлечения хеша выполните команду вида: 

pdf2john ФАЙЛ > pdf.tmp 

Для подготовки хеша выполните команду: 

cat pdf.tmp | grep -E -o '\$pdf\$.*' > pdf.hash 

Имеется несколько версий PDF файлов. Поэтому нам нужно правильно определить тип вашего хеша. Вы можете открыть файл pdf.hash любым текстовым редактором или выполните следующую команду, чтобы вывести первые 13 символов хеша: 

head -c 13 pdf.hash 
  • Если строка хеша начинается на: 
$pdf$1*2*40*- 

Значит это PDF 1.1 - 1.3 (Acrobat 2 - 4), номер хеша: 10400 

  • Если строка хеша начинается на: 
$pdf$1*2*40*- 

Значит это PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #1, номер хеша: 10410 

  • Если строка хеша начинается на: 
$pdf$1*2*40*- 

Значит это PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #2, номер хеша: 10420 

 ВНИМАНИЕ: у всех перечисленных типов файлов ОДИНАКОВЫЕ начала хешей, я не знаю, как их можно различить. Единственный вариант — пробовать запускать команду hashcat с указанием типа хеша 10400, а затем 10410 и, наконец, 10420. При этом если вы указали тип хеша неправильно, то сразу будет показана ошибка. Пример ошибки: 

Hashfile '/home/mial/pdf.hash' on line 1 ($pdf$4...c5ba427b1b9102da468e77127f1e69d6): Separator unmatched
No hashes loaded. 
  • Если строка хеша начинается на: 
$pdf$2*3*128* 

Значит это PDF 1.4 - 1.6 (Acrobat 5 - 8), номер хеша: 10500 

  • Если строка хеша начинается на: 
$pdf$5*5*256* 

Значит это PDF 1.7 Level 3 (Acrobat 9), номер хеша: 10600 

  • Если строка хеша начинается на: 
$pdf$5*6*256* 

Значит это PDF 1.7 Level 8 (Acrobat 10 - 11), номер хеша: 10700 

  • Если строка хеша начинается на: 
$pdf$4*4*128* 

Значит это PDF документ, созданный с помощью MS Word, для него подходит номер хеша: 10500 

Взлом пароля KeePass и KeePassXC 

Для извлечения хеша выполните команду вида: 

keepass2john ФАЙЛ > keepass.tmp 

В качестве ФАЙЛА должна быть база данных паролей .kdbx

Или если у вас есть файл ключей, то выполните команду вида: 

keepass2john -k ФАЙЛ-КЛЮЧЕЙ БАЗА-ДАННЫХ.kdbx > keepass.tmp 

Вы можете увидеть сообщение: 

! Passwords.kdbx : File version '40000' is currently not supported! 

Оно означает, что в ФАЙЛЕ Passwords.kdbx используется база данных KDBX версии 4.0, а программа keepass2john поддерживает только KDBX версию KDBX 3.1. То есть в настоящее время невозможно взломать пароль KeePass с базой данных KDBX версии 4.0 в John the Ripper. 

Для подготовки хеша выполните команду: 

cat keepass.tmp | grep -E -o '\$keepass\$[^:]+' > keepass.hash 

Номер хеша: 13400 

Взлом пароля приватного ключа GPG 

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

Пароль gpg можно взломать из файла приватного ключа, полученного в результате выполнения команды экспорта: 

gpg --export-secret-key -a "ИМЯ ФАМИЛИЯ" > private.key 

После экспорта, из этого файла приватного ключа нужно извлечь хеш для взлома пароля: 

gpg2john private.key > gpg.tmp 

Для подготовки хеша выполните команду: 

cat gpg.tmp | grep -E -o '\$gpg\$[^:]+' > gpg.hash 

Взлом пароля приватного ключа OpenSSH (id_rsa) 

Для извлечения хеша выполните команду вида: 

python2 ./ssh2john.py ФАЙЛ > ssh.tmp 

Для подготовки хеша выполните команду: 

cat ssh.tmp | grep -E -o '\$sshng\$[^:]+' > ssh.hash 

Обратите внимание, что для работы ssh2john необходим Python 2. Если вы используете Python 3, то вы получите следующую ошибку: 

/usr/bin/ssh2john:103: DeprecationWarning: decodestring() is a deprecated alias since Python 3.1, use decodebytes()
  data = base64.decodestring(data)
Traceback (most recent call last):
  File "/usr/bin/ssh2john", line 193, in <module>
    read_private_key(filename)
  File "/usr/bin/ssh2john", line 153, in read_private_key
    saltstr = data[salt_offset:salt_offset+salt_length].encode("hex")
AttributeError: 'bytes' object has no attribute 'encode' 

В качестве ФАЙЛА нужно указать приватный ключ SSH, путь до него может быть ~/.ssh/id_rsa

Этот ключ генерируется командой: 

ssh-keygen -t rsa  

Имеется несколько версий файлов приватных ключей OpenSSH. Поэтому нам нужно правильно определить тип вашего хеша. Вы можете открыть файл ssh.hash любым текстовым редактором или выполните следующую команду, чтобы вывести первые 11 символов хеша: 

head -c 11 ssh.hash 
  • Если строка хеша начинается на: 
$sshng$0$8$ 

Значит это RSA/DSA/EC/OpenSSH Private Keys ($0$), номер хеша: 22911 

  • Если строка хеша начинается на: 
$sshng$6$8$ 

Значит это RSA/DSA/EC/OpenSSH Private Keys ($6$), номер хеша: 22921 

  • Если строка хеша начинается на: 
$sshng$1$16 

Значит это RSA/DSA/EC/OpenSSH Private Keys ($1, $3$), номер хеша: 22931 

  • Если строка хеша начинается на: 
$sshng$4$16 

Значит это RSA/DSA/EC/OpenSSH Private Keys ($4$), номер хеша: 22941 

  • Если строка хеша начинается на: 
$sshng$5$16 

Значит это RSA/DSA/EC/OpenSSH Private Keys ($5$), номер хеша: 22951 

  • Если строка хеша начинается на: 
$sshng$6$16$ 

Значит это ????????????, номер хеша: ???????? [видимо, ещё не реализовано] 

Если вы получили ошибки об отсутствующих модулях, например: 

/usr/share/hashcat/modules/module_22951.so: cannot open shared object file: No such file or directory 

То это означает, что ваша версия Hashcat ещё не поддерживает хеши с номерами 22951, 22941 и прочими и вам нужно обновить программу до последней версии. В настоящее время эта поддержка присутствует только в бета версии Hashcat, которую вы можете скачать на официальном сайте: https://hashcat.net/beta/

Источник


Report Page