Взлом RAR-архивов, защищенных паролем

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

Введение

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

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

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

На этом этапе вы создадите RAR-архив, защищенный паролем. Он послужит целью для нашего упражнения по взлому паролей. Мы будем использовать утилиту командной строки rar. В лабораторной среде уже создан пример файла с именем secret.txt в вашей текущей директории, /home/labex/project.

Сначала используем команду rar для создания архива. Опция a означает "добавить в архив" (add to archive), а ключ -p используется для прямого указания пароля. Для этого упражнения мы будем использовать пароль labex.

Выполните следующую команду в терминале, чтобы создать защищенный паролем архив с именем secret.rar, содержащий файл secret.txt.

rar a -plabex secret.rar secret.txt

Вы увидите вывод, указывающий на добавление файла и создание архива.

RAR 6.12   Copyright (c) 1993-2022 Alexander Roshal   17 May 2022
Trial version             Type 'rar -?' for help

Evaluation copy. Please register.

Creating archive secret.rar

Adding    secret.txt                                                      OK
Done

Теперь проверьте, что файл secret.rar был создан в вашей директории проекта, используя команду ls -l.

ls -l
total 12
-rw-r--r-- 1 labex labex  338 Dec 05 10:30 secret.rar
-rw-r--r-- 1 labex labex   25 Dec 05 10:28 secret.txt
-rw-r--r-- 1 labex labex   29 Dec 05 10:28 wordlist.txt

Теперь вы успешно создали целевой файл для этой лабораторной работы.

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

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

Выполните следующую команду для обработки файла secret.rar:

rar2john secret.rar

Команда выведет в терминал длинную строку. Эта строка и есть хэш.

secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0

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

Используйте перенаправление вывода (>) для сохранения хэша в файл с именем rar_hash.txt.

rar2john secret.rar > rar_hash.txt

Эта команда не даст видимого вывода, поскольку вывод перенаправляется в файл. Вы можете подтвердить создание файла и наличие в нем хэша, используя команду cat.

cat rar_hash.txt
secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0

Теперь у вас есть RAR-хэш в формате, который могут понять инструменты для взлома паролей.

Определение правильного режима хэша для RAR3-hp или RAR5

На этом этапе вы определите правильный режим, который Hashcat должен использовать при взломе хэша. Hashcat поддерживает сотни различных типов хэшей, и вы должны указать правильный, используя номер режима.

Хэш, который вы извлекли, начинается с $RAR3$*.... Этот префикс указывает на тип используемого шифрования RAR. Чтобы найти соответствующий режим в Hashcat, вы можете воспользоваться его справочным меню.

Используйте следующую команду, чтобы вывести список всех режимов Hashcat и отфильтровать те, которые связаны с "RAR". Флаг -i в grep делает поиск нечувствительным к регистру.

hashcat --help | grep -i "RAR"

Вывод покажет различные режимы RAR, поддерживаемые Hashcat.

...
12500 | RAR3-hp                                      | Archives
13000 | RAR5                                         | Archives
...

Из вывода вы можете увидеть два основных режима:

  • 12500 для RAR3-hp
  • 13000 для RAR5

Поскольку наш хэш начинается с $RAR3$, правильным режимом для использования является 12500. Определение правильного режима хэша является критически важным шагом для успешной попытки взлома.

Подготовка хэша и словаря для атаки

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

Первую часть вы уже выполнили, сохранив хэш в rar_hash.txt. Давайте быстро рассмотрим его содержимое.

cat rar_hash.txt
secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0

Далее вам понадобится словарь. Для этой лаборатории небольшой словарь с именем wordlist.txt был создан для вас в процессе настройки. В реальном сценарии вы бы использовали гораздо больший словарь, например, знаменитый rockyou.txt. Давайте посмотрим содержимое нашего небольшого словаря.

cat wordlist.txt
password
123456
labex
secret

Как вы можете видеть, наш словарь содержит несколько распространенных паролей, включая правильный, labex. Имея готовыми файл с хэшем и словарь, вы теперь готовы начать атаку.

Выполнение атаки для поиска пароля RAR

На этом этапе вы выполните атаку по словарю с использованием Hashcat. Имея файл с хэшем, словарь и определенный правильный номер режима, у вас есть все необходимое.

Базовый синтаксис для атаки по словарю в Hashcat: hashcat -m <режим> <файл_хэша> <файл_словаря>.

Теперь выполните команду, используя режим 12500, ваш файл с хэшем rar_hash.txt и ваш словарь wordlist.txt.

hashcat -m 12500 rar_hash.txt wordlist.txt

Hashcat инициализируется, начнет сеанс взлома и быстро протестирует пароли из вашего словаря против хэша. Как только он найдет совпадение, процесс завершится, и статус покажет Cracked.

...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: RAR3-hp
Hash.Target......: secret.rar
Time.Started.....: ...
Time.Estimated...: 0 secs (0.00ms)
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:    24211 H/s (0.01ms) @ Accel:128 Loops:128 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4/4 (100.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 4/4 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1
Candidate.Engine.: Optimized Kernel
Candidates.#1....: password -> secret
Hardware.Mon.#1..: Temp: 45c Fan: 30%
...

Hashcat автоматически сохраняет взломанные пароли в файл под названием "potfile", расположенный по адресу ~/.hashcat/hashcat.potfile. Чтобы просмотреть взломанный пароль, вы можете использовать опцию --show с вашей исходной командой.

hashcat -m 12500 rar_hash.txt --show

Это отобразит хэш и соответствующий ему взломанный пароль.

secret.rar:$RAR3$*0*b51874e2d3731234*f82b2123456789012345678901234567:8:secret.txt:24:0:labex

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

Заключение

Поздравляем с завершением этой лаборатории! Вы успешно освоили полный процесс взлома RAR-архива, защищенного паролем.

В этой лаборатории вы отработали несколько ключевых навыков:

  • Создание архива, защищенного паролем, с использованием команды rar.
  • Извлечение хэша, поддающегося взлому, из RAR-файла с помощью rar2john.
  • Определение правильного типа хэша и соответствующего ему режима в Hashcat.
  • Выполнение атаки по словарю с помощью Hashcat, используя извлеченный хэш и словарь.
  • Просмотр восстановленного пароля.

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