Всех приветствую, читатели Хабра!
В сегодняшней статье я поделюсь примерами кракинга зашифрованных паролями pdf-файлов и файлов архивов. Я покажу примеры работы с такими программами как pdfcrack, rarcrack, John the Ripper. Естественно данные программы работают в линукс (в моем случае Kali Linux), но под Windows я думаю есть аналоги данных программ. И да, в этой статье я затрону примеры связанные с john, хоть возможно на Хабре и имеются статьи связанные с данной программой (а в русскоязычном сегменте интернет точно есть описания как с ней работать), но в рамках данной статьи мои примеры будут уместны и необходимы. Это своего рода онлайн-шпаргалка по использованию данных утилит
Примечание
Правовая информация:
Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей
Все атаки я проводил на своем персональном компьютере, где создавал собственные файлы, которые и атаковал, то есть все действия легитимны.
И как всегда просьба не переходить на личности в комментариях, если вы обнаружили ошибку недочет или неточность, просто без оскорблений напишите комментарий или напишите мне личным сообщением.
Итак перейдем к практике
Для начала найдем и установим данные программы в репозитории
apt search pdfcrack
sudo apt update
sudo apt install pdfcrack

То же самое с rarcrack
sudo apt install rarcrack
(sudo apt update уже не обязательно вводить так как выполнил данную операцию)

Далее я создал свой pdf со странички википедии (Ctrl + P в браузере) и зашел на сайт https://www.ilovepdf.com/ru/protect-pdf где можно зашифровать pdf паролем.



После операций возможно скачать зашифрованный pdf


А уже после пробуем перебрать пароль утилитой pdfcrack. Открываем терминал (естественно) и забиваем следующее (общий пример синтаксиса):
pdfcrack --wordlist=/путь/до_файла_словаря/файл_словаря /путь_до_зашифрованного_pdf/зашифрованный_pdf
Или в моем случае
pdfcrack --wordlist=/usr/share/wordlists/rockyou.txt 1_protected.pdf

Как видно из скриншота программа подобрала пароль по словарю - freedom4me. Далее все что осталость ввести пароль
Находим файл, пробуем открыть - требует пароль, вводим подобранный пароль:




Как видно файл открылся
Из первого файла (который не был зашифрован - 1.pdf) я создал архив rar, естественно запароленный.
Поробуем подобрать к нему пароль
Для программы rarcrack синтакси (в моем случае) выглядел следующим образом:
rarcrack 1.pdf.rar

Как видно из скриншота программа подобрала пароль - 56 (хоть он и элементарный).
Далее заходим в архив, видим что содержимое зашифровано (замок на файле), пробуем открыть файл - требование пароля, вводим пароль и получаем результат:



Пробуем трехзначный пароль. Я создал зашифрованный 2.rar архив с трехзначным паролем.

Алгоритм операций тот же
rarcrack 2.rar

Снова вводим подобранный пароль (в данном случае 098)

Результат

О программе rarcrack хочу сказать следующее. У данной программы нет возможности перебора по словарю. Она пытается перебрать все возможные комбинации начиная с двухзначных паролей. Поэтому, если пароль достаточно сложный, необходимо запастись терепнием, временем и вычислительной мощностью железа. И в помощи (rarcrack --help
) указано что программа может подбирать пароли не только для rar архивов, но и для zip и 7z. Но сколько бы я не пробовал перебирать пароли под zip и 7z, программа не смогла подобрать под них пароли (хотя я шифровал их двухзначными паролями).
Но для подбора пароля для zip и 7z возможно использовать John the Ripper. В ОС Kali Linux данная утилита предустановлена. Инструкцию по ее установке для других дистрибутивов не составит труда найти.
Для начала я создал два архива - 3.zip и 4.7z, естественно запароленных

Далее алгоритм такой
Создаем утилитой хэш файла архива
Перебираем пароли утилитой по хэшу
Итак, синтаксис в моем случае такой (я открываю терминал в той же папке где находятся архивы):
zip2john 3.zip > hash.txt
И здесь я решил "взглянуть" на хэш и увидел "абрукадабру" (хэш и должен выглядеть таким образом)
cat hash.txt

После чего перебираем пароль по хэшу. В моем случае синтаксис выглядел следующим образом (с перебором по уже знакомому словарю):
john --wordlist=/usr/share/wordlists/rockyou.txt --format=zip hash.txt
И пароль был успешно подобран

Аналогичным образом поступаем и со вторым архивом
7z2john 3.zip > 7z.hash
john --wordlist=/usr/share/wordlists/rockyou.txt --format=7z 7z.hash

Пароль успешно подобран
Теперь все что осталось - попробовать разархивировать файлы, естественно будет запрошен пароль, который мы и введем




Успешно
А на этом у меня сегодня все, уважаемые читатели Хабра, до новых встреч! И всех поздравляю с наступающими праздниками!