Использование John the Ripper для взлома RAR-архивов

Kali LinuxBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы изучите процесс взлома зашифрованных RAR-архивов с помощью мощного инструмента под названием John the Ripper. RAR (Roshal Archive) — это проприетарный формат архивных файлов, поддерживающий сжатие данных, восстановление ошибок и разделение файлов. Хотя RAR-файлы предлагают надежное сжатие и функции безопасности, слабые пароли могут сделать их уязвимыми для атак методом перебора.

John the Ripper — это бесплатный инструмент для взлома паролей с открытым исходным кодом. Он разработан для обнаружения слабых паролей Unix, но также поддерживает различные другие типы хэшей, включая хэши из RAR-архивов. К концу этой лабораторной работы вы поймете, как создать RAR-файл, защищенный паролем, извлечь его хэш с помощью rar2john и затем использовать John the Ripper для попытки восстановления пароля. Вы также получите представление о различиях между взломом RAR и ZIP-архивов и узнаете о лучших практиках защиты ваших RAR-файлов.

Создание RAR-архива, защищенного паролем

На этом шаге вы создадите простой текстовый файл, а затем сожмете его в RAR-архив, защищенный паролем. Этот RAR-архив будет служить нашей целью для взлома пароля на последующих этапах.

Сначала создайте новую директорию с именем rar_test и перейдите в нее:

mkdir ~/project/rar_test
cd ~/project/rar_test

Затем создайте текстовый файл с именем secret.txt с некоторым содержимым. Для этого мы будем использовать nano.

nano secret.txt

Введите следующее содержимое в редактор nano:

This is a secret message.
The password is 'labex'.

Нажмите Ctrl+S для сохранения файла и Ctrl+X для выхода из nano.

Теперь создайте RAR-архив с именем secret.rar из secret.txt, защищенный паролем. Мы будем использовать пароль labex.

rar a -p labex secret.rar secret.txt

Опция a означает "добавить файлы в архив", а -p используется для указания пароля. Вы должны увидеть вывод, похожий на этот:

RAR 5.00 freeware      Copyright (c) 1993-2013 Alexander Roshal      20 August 2013
Shareware version         Type 'rar -?' for help

Creating archive secret.rar

Adding    secret.txt                                               OK
Done

Чтобы убедиться, что файл действительно защищен паролем, попробуйте извлечь его, не указывая пароль:

unrar e secret.rar

Вам будет предложено ввести пароль:

UNRAR 5.00 freeware      Copyright (c) 1993-2013 Alexander Roshal      20 August 2013
secret.rar

Extracting from secret.rar

Enter password (will not be echoed) for secret.txt:

Нажмите Ctrl+C для отмены извлечения.

Извлечение хэша из RAR-файла с помощью rar2john

На этом шаге вы будете использовать утилиту rar2john, которая является частью набора инструментов John the Ripper, для извлечения хэша пароля из файла secret.rar. Этот хэш представляет собой представление пароля, которое John the Ripper может попытаться взломать.

Убедитесь, что вы все еще находитесь в директории ~/project/rar_test:

cd ~/project/rar_test

Теперь выполните rar2john для вашего файла secret.rar и перенаправьте его вывод в новый файл с именем rar_hash.txt:

rar2john secret.rar > rar_hash.txt

Эта команда обрабатывает файл secret.rar и выводит извлеченный хэш в стандартный вывод, который затем сохраняется в rar_hash.txt.

Вы можете просмотреть содержимое файла rar_hash.txt с помощью команды cat:

cat rar_hash.txt

Вывод будет выглядеть примерно так (фактическое значение хэша будет отличаться):

secret.rar:$rar5$16$...

Эта строка содержит необходимую информацию для John the Ripper, чтобы начать взлом пароля. Формат $rar5$... указывает, что это хэш RAR5.

Взлом RAR-хэша с помощью John the Ripper

На этом шаге вы будете использовать John the Ripper для взлома хэша пароля, извлеченного на предыдущем шаге. Мы будем использовать простую атаку по словарю, которая эффективна для слабых паролей.

Убедитесь, что вы все еще находитесь в директории ~/project/rar_test:

cd ~/project/rar_test

John the Ripper поставляется с набором слов по умолчанию. Для этой лаборатории мы создадим небольшой пользовательский набор слов, который включает наш известный пароль (labex), чтобы обеспечить быстрый взлом.

Создайте файл с именем wordlist.txt со следующим содержимым:

nano wordlist.txt

Введите следующие пароли в редактор nano, каждый на новой строке:

password
123456
labex
john

Нажмите Ctrl+S для сохранения файла и Ctrl+X для выхода из nano.

Теперь запустите John the Ripper, используя файл rar_hash.txt и ваш пользовательский wordlist.txt:

john --wordlist=wordlist.txt rar_hash.txt

John the Ripper начнет обрабатывать хэш. Поскольку labex находится в нашем наборе слов, он должен быстро найти пароль. Вывод покажет взломанный пароль:

Using default input encoding: UTF-8
Loaded 1 password hash from rar_hash.txt (RAR5)
Cost 1 (iteration count) is 262144 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
labex            (secret.rar)
1g 0:00:00:00 DONE (2023-10-27 10:30) 100.0% (ETA: 00:00:00) 1.000g/s 4.000p/s 4.000c/s 4.000C/s labex
Session completed.

Строка labex (secret.rar) указывает, что пароль labex был найден для архива secret.rar.

Вы также можете проверить взломанные пароли, которые John the Ripper нашел и сохранил:

john --show rar_hash.txt

Эта команда отобразит любые пароли, которые были успешно взломаны и сохранены во внутреннем файле хранилища John:

secret.rar:labex

1 password hash cracked, 0 left

Это подтверждает, что John the Ripper успешно взломал пароль RAR.

Сравнение взлома RAR и ZIP

На этом шаге мы кратко сравним процесс взлома RAR-архивов со взломом ZIP-архивов, выделив некоторые ключевые различия. Оба формата распространены для сжатия, но их механизмы шифрования и инструменты, используемые для их взлома, могут отличаться.

Сначала создадим ZIP-файл с паролем для сравнения. Убедитесь, что вы находитесь в ~/project/rar_test:

cd ~/project/rar_test

Создайте новый текстовый файл для ZIP-архива:

nano zip_secret.txt

Добавьте некоторое содержимое:

This is a secret message for ZIP.
The password is 'zip_pass'.

Сохраните и выйдите из nano (Ctrl+S, Ctrl+X).

Теперь создайте ZIP-архив с паролем с именем zip_secret.zip и паролем zip_pass:

zip -P zip_pass zip_secret.zip zip_secret.txt

Опция -P используется для прямого указания пароля.

  adding: zip_secret.txt (deflated 29%)

Подобно rar2john, существует утилита zip2john для извлечения хэшей из ZIP-файлов.

zip2john zip_secret.zip > zip_hash.txt

Просмотрите извлеченный ZIP-хэш:

cat zip_hash.txt

Вывод будет отличаться от RAR-хэша, обычно начинаясь с zip_secret.zip:$zip$...:

zip_secret.zip:$zip2$*0*1*0*...

Теперь давайте попробуем взломать его с помощью John the Ripper, используя набор слов, который включает zip_pass:

nano zip_wordlist.txt

Добавьте следующее содержимое:

password
zip_pass
123456

Сохраните и выйдите из nano.

john --wordlist=zip_wordlist.txt zip_hash.txt

John the Ripper взломает ZIP-пароль:

Using default input encoding: UTF-8
Loaded 1 password hash from zip_hash.txt (PKZIP)
Cost 1 (iteration count) is 1024 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
zip_pass         (zip_secret.zip)
1g 0:00:00:00 DONE (2023-10-27 10:35) 100.0% (ETA: 00:00:00) 1.000g/s 4.000p/s 4.000c/s 4.000C/s zip_pass
Session completed.

Ключевые различия:

  • Формат хэша: RAR и ZIP-файлы используют разные внутренние форматы шифрования и хэширования, требующие специальных утилит *2john (rar2john против zip2john).
  • Сила шифрования: Современное шифрование RAR (RAR5) обычно считается более сильным, чем стандартное шифрование ZIP (ZipCrypto), особенно при использовании AES-256. Это означает, что взлом RAR5 может быть более вычислительно интенсивным и времязатратным для надежных паролей.
  • Инструменты: Хотя John the Ripper может работать с обоими форматами, базовые модули извлечения хэша и взлома различны. Другие инструменты, такие как fcrackzip, специально разработаны для ZIP, в то время как rarcrack — для RAR.

Это сравнение демонстрирует, что, хотя общий подход (извлечь хэш, взломать с помощью набора слов) схож, детали обработки различных форматов архивов различаются.

Рекомендации по безопасности RAR

На этом шаге мы обсудим лучшие практики для защиты ваших RAR-архивов и предотвращения их легкого взлома. Понимание этих практик имеет решающее значение для защиты ваших конфиденциальных данных.

Легкость, с которой мы взломали файл secret.rar в этой лаборатории, подчеркивает важность надежных паролей. Вот некоторые лучшие практики для обеспечения безопасности RAR:

  1. Используйте надежные, уникальные пароли:

    • Длина: Стремитесь к паролям длиной не менее 12-16 символов. Более длинные пароли экспоненциально труднее взломать.
    • Сложность: Включайте комбинацию прописных и строчных букв, цифр и специальных символов. Избегайте распространенных слов, имен или легко угадываемых последовательностей (таких как "123456" или "password").
    • Уникальность: Никогда не используйте повторно пароли для разных учетных записей или архивов. Если один пароль скомпрометирован, другие останутся в безопасности.
  2. Используйте менеджеры паролей:

    • Менеджеры паролей могут генерировать и хранить для вас сложные, уникальные пароли, что облегчает соблюдение вышеуказанных рекомендаций без необходимости запоминать их все.
  3. Включите надежное шифрование (RAR5 с AES-256):

    • При создании RAR-архивов убедитесь, что вы используете последний формат RAR (RAR5), который по умолчанию использует шифрование AES-256. Это значительно безопаснее, чем старые форматы RAR или более слабые алгоритмы шифрования. Большинство современных инструментов rar используют RAR5 по умолчанию.
  4. Не храните пароли рядом с архивами:

    • Никогда не храните пароль архива в текстовом файле или на стикере рядом с самим архивом. Это сводит на нет цель защиты паролем.
  5. Ограничьте доступ к архивам:

    • Храните ваши RAR-файлы, защищенные паролем, в безопасных местах с ограниченным доступом. Даже при наличии надежного пароля, если злоумышленник получит физический доступ к вашему устройству или сети, у него может быть больше возможностей для попыток взлома.
  6. Остерегайтесь фишинга и социальной инженерии:

    • Злоумышленники могут попытаться обманом заставить вас раскрыть свои пароли с помощью поддельных электронных писем, веб-сайтов или прямого общения. Всегда с подозрением относитесь к нежелательным запросам конфиденциальной информации.

Следуя этим лучшим практикам, вы можете значительно повысить безопасность ваших RAR-архивов и защитить свои данные от несанкционированного доступа. Помните, что самое слабое звено в любой цепи безопасности — это часто человеческий фактор или слабый пароль.

Резюме

В этой лаборатории вы получили практический опыт взлома RAR-архивов, защищенных паролем, с использованием John the Ripper. Вы начали с создания образца RAR-файла с известным паролем. Затем вы узнали, как извлечь RAR-хэш с помощью утилиты rar2john, которая преобразует информацию о пароле архива в формат, понятный John the Ripper.

Впоследствии вы успешно использовали John the Ripper с пользовательским набором слов для взлома пароля RAR-архива, продемонстрировав уязвимость архивов, защищенных слабыми или распространенными паролями. Вы также изучили различия между взломом RAR и ZIP-архивов, отметив различные форматы хэшей и силу шифрования.

Наконец, лаборатория завершилась обсуждением лучших практик безопасности RAR, подчеркнув важность надежных, уникальных паролей, использования современного шифрования и соблюдения правил безопасности для защиты ваших конфиденциальных данных, хранящихся в архивах. Эта лаборатория дает фундаментальное понимание методов взлома паролей и критическую необходимость в надежных политиках паролей.