Взлом зашифрованного pdf-файла. Часть 2
Всех приветствую, читатели Хабра!
Вторая часть исследования безопаности файлов pdf. После того, как я опубликовал первую часть (https://habr.com/ru/articles/906076/) у одного из моих коллег возник вопрос: а что если зашифровать pdf файл при помощи программы Adobe (естественно на Windows). Естественно что, меня заинтересовал этот вопрос, и мы решили совместно с моим коллегой зашифровать файлы в ОС Windows (10) при помощи Adobe и на сайте, указанном в первой части. Один из файлов был зашифрован в Windows но на сайте указанном в первой части статьи. Сделал я это специально для того, чтобы узнать не будет ли проблем совместимости на двух ОС - Windows и Linux, и возможно ли кракнуть такой файл, который был создан в другой системе, так сказать тестовый запуск. Другие файлы были зашифрованы в программе, опять же на ОС Windows. Почему мой коллега и я задались вопросом возможности крака? В Adobe возможно зашифровать pdf файл при помощи небезызвестного AES!
Примечание
Правовая информация:
Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей
Все атаки я проводил на своем персональном компьютере, где создавал собственные файлы, а также файлы созданные моим коллегой (естественно по добровольному согласию) которые и атаковал, то есть все действия легитимны.
И как всегда просьба не переходить на личности в комментариях, если вы обнаружили ошибку недочет или неточность, просто без оскорблений напишите комментарий или напишите мне личным сообщением. Здесь я делюсь исключительно своим опытом.
Перейдем к практике
Первое что мы (в данном случае часть действий выполнялась совместно с моим коллегой, некоторые действия я выполнял в одиночку) сделали - выбрали страничку википедии, и создали три ее копии в формате pdf.
Файл 2.pdf мы зашифровали на сайте https://www.ilovepdf.com/ru и сохранили его
Другие два файла 3.pdf и 4.pdf мы зашифровали в программе Adobe Acrobat Pro 64-bit, причем выбрали два вида шифрования - 128 и 256 бит AES.
Таким образом получилось 3 защищенных файла.
После чего, перекинув на свой компьютер я начал атаку файлов
Первое, с чего я начал - утилита pdfcrack (см. первую часть). Синтаксис в моем случае выглядел следующим образом (для всех трех файлов):
pdfcrack --wordlist=/usr/share/wordlists/rockyou.txt 2_protected.pdf
pdfcrack --wordlist=/usr/share/wordlists/rockyou.txt 3_protected.pdf
pdfcrack --wordlist=/usr/share/wordlists/rockyou.txt 4_protected.pdf
В случае шифровки на сайте и шифровки в адоб 128-битным шифрованием пароль (естественно по словарю) был успешно подобран:
Но в случае шифровки 256-битным шифром утилита не смогла подобрать пароль (надпись о том что нет поддержки версии)
После чего, я сразу же решил пустить в ход вторую программу - John the Ripper. Данная программа способна подбирать пароли не только для зашифрованных архивов, типа zip, но и для зашифрованных pdf файлов. В прошлой статье я уже указывал алгоритм взлома, сейчас я его напомню:
Создаем утилитой хэш файла (в данном случае pdf)
Перебираем пароли утилитой по хэшу
Синтаксис для всех трех файлов был следующим:
pdf2john 2_protected.pdf > 2ppdf
john --wordlist=/usr/share/wordlists/rockyou.txt --format=PDF 2ppdf
pdf2john 3_protected.pdf > 3ppdf
john --wordlist=/usr/share/wordlists/rockyou.txt --format=PDF 3ppdf
pdf2john 4_protected.pdf > 4ppdf
john --wordlist=/usr/share/wordlists/rockyou.txt --format=PDF 4ppdf
Во всех трех случаях крак успешен, пароли подобраны, в том числе файл зашифрованный адобом 256-битным шифрованием AES
После чего, я просто проверил возможность просмотра файлов
Следовательно подобные утилиты лучше задействовать совместно, вкупе друг с другом
Кроме того, на самом сайте https://www.ilovepdf.com/ru есть раздел для крака pdf (Открыть PDF).
Здесь все просто: выбираем файл, выгружаем, сайт кракает, загружаем кракнутый файл, открываем его:
Правда как и в случае первой утилиты, более мощное шифрование (256 AES) сайт не осилил (но 128-битное смог кракнуть)
Преимущество данного метода - кроссплатформенность. Таким образом можно кракнуть pdf не только с ПК (с ОС Windows в том числе), но и например с мобильных платформ. Недостаток очевиден - не все пароли, если они действительно надежны возможно подобрать
Подытожим
Кракинг pdf файлов возможен в случае слабого пароля. В случае надежного пароля (по крайней мере которого нет в известных словарях паролей) крак практически невозможен, либо трудновыполним. Кроме того, надежное шифрование файла (в данном случае 256-битное AES), также усиливает защиту файла, делая невозможным перебор для некоторых программ.
Со строны же программ для кракинга, еще раз отмечу, что данные программы, лучше всего использовать вкупе, так как задача с которой не справится одна программа, другая программа выполнит легко
А на этом у меня сегодня все, уважаемые читатели Хабра, до новых встреч!
И еще раз хочу поздравить всех с наступающими и наступившими весенними праздниками!