Использование John the Ripper для взлома PDF-документов

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

Введение

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

Создание PDF-документа, защищенного паролем

На этом этапе вы создадите простой текстовый файл и преобразуете его в PDF-документ, защищенный паролем. Для этой цели мы будем использовать команды enscript и ps2pdf. enscript преобразует текстовые файлы в PostScript, а ps2pdf преобразует PostScript в PDF.

Сначала создайте простой текстовый файл с именем secret.txt в вашем каталоге ~/project.

echo "This is a secret document." > ~/project/secret.txt
cat ~/project/secret.txt

Далее преобразуйте secret.txt в файл PostScript.

enscript -p ~/project/secret.ps ~/project/secret.txt
ls -l ~/project/secret.ps

Теперь преобразуйте файл PostScript в защищенный паролем PDF. Мы установим как пароль пользователя, так и пароль владельца на labex123. Пароль пользователя ограничивает открытие документа, а пароль владельца ограничивает такие разрешения, как печать или редактирование.

ps2pdf -sOwnerPassword=labex123 -sUserPassword=labex123 ~/project/secret.ps ~/project/protected.pdf
ls -l ~/project/protected.pdf

Вы успешно создали PDF-документ, защищенный паролем.

Извлечение хэша из PDF с помощью pdf2john

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

Сначала найдите скрипт pdf2john.py. Обычно он находится в каталоге run установки John the Ripper.

find /usr/share/john -name pdf2john.py

Теперь используйте pdf2john.py для извлечения хэша из ~/project/protected.pdf и сохраните его в файл с именем pdf_hash.txt.

python3 /usr/share/john/pdf2john.py ~/project/protected.pdf > ~/project/pdf_hash.txt
cat ~/project/pdf_hash.txt

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

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

На этом этапе вы будете использовать John the Ripper для взлома извлеченного PDF-хэша. Для этой демонстрации мы будем использовать простой список слов (wordlist).

Сначала создайте файл списка слов с именем wordlist.txt в вашем каталоге ~/project. Включите labex123 (правильный пароль) и несколько других распространенных паролей.

echo -e "password\n123456\nlabex123\nqwerty" > ~/project/wordlist.txt
cat ~/project/wordlist.txt

Теперь используйте John the Ripper с wordlist.txt для взлома хэша в pdf_hash.txt.

john --wordlist=~/project/wordlist.txt ~/project/pdf_hash.txt

John the Ripper обработает хэш и список слов. Если он найдет совпадение, он отобразит взломанный пароль.

После взлома вы можете просмотреть взломанные пароли, которые John нашел и сохранил.

john --show ~/project/pdf_hash.txt

Вы должны увидеть labex123 как взломанный пароль для protected.pdf.

Понимание типов шифрования PDF

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

Шифрование PDF обычно использует такие алгоритмы, как RC4 или AES. Длина ключа также варьируется, причем более длинные ключи обеспечивают большую безопасность.

  • RC4 40-бит: Это более старый и слабый метод шифрования, который легко взламывается.
  • RC4 128-бит: Более распространенный старый стандарт, но все еще уязвимый для современных методов взлома.
  • AES 128-бит: Более сильный стандарт шифрования, более устойчивый к атакам методом перебора (brute-force).
  • AES 256-бит: Самое сильное шифрование, доступное в настоящее время для PDF, обеспечивающее надежную защиту.

Вы можете использовать exiftool для проверки деталей шифрования PDF. Давайте проверим созданный нами protected.pdf.

exiftool ~/project/protected.pdf | grep "Encryption"

Вывод покажет такие детали, как Encryption : RC4 128-bit или AES 256-bit, в зависимости от инструментов и версий, использованных для создания PDF. Наша команда ps2pdf обычно использует RC4 128-бит по умолчанию для обеспечения обратной совместимости. Более сильное шифрование требует специальных опций или более новых инструментов создания PDF.

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

Правильное обеспечение безопасности PDF-документов

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

Вот ключевые рекомендации по обеспечению безопасности ваших PDF-документов:

  1. Используйте надежные пароли: Это самый важный шаг. Надежный пароль должен быть:

    • Длинным (минимум 12-16 символов).
    • Сложным (сочетание прописных и строчных букв, цифр и символов).
    • Уникальным (не использоваться для других учетных записей или документов).
    • Случайным (избегайте словарных слов или личной информации).
  2. Используйте надежные алгоритмы шифрования: Всегда выбирайте самый высокий доступный стандарт шифрования, предпочтительно AES 256-бит. При создании PDF-файлов убедитесь, что ваше программное обеспечение настроено на использование современного шифрования.

  3. Установите пароли пользователя и владельца:

    • Пароль пользователя: Ограничивает открытие документа. Это основная защита.
    • Пароль владельца: Ограничивает такие разрешения, как печать, копирование содержимого, редактирование или добавление комментариев. Даже если пароль пользователя известен, пароль владельца может запретить определенные действия.
  4. Не храните пароли вместе с документами: Никогда не храните пароль для PDF в том же месте или в той же системе, что и сам PDF.

  5. Регулярно обновляйте программное обеспечение: Убедитесь, что ваше программное обеспечение для создания и просмотра PDF обновлено, чтобы воспользоваться последними исправлениями безопасности и стандартами шифрования.

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

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

Резюме

В этой лабораторной работе вы получили практический опыт взлома PDF-документов, защищенных паролем, с использованием John the Ripper. Вы узнали, как создать PDF с защитой паролем, извлечь его хэш с помощью pdf2john.py и затем успешно взломать пароль. Кроме того, вы изучили различные типы шифрования PDF и поняли их влияние на безопасность. Наконец, вы рассмотрели основные рекомендации по надлежащему обеспечению безопасности PDF-документов, подчеркнув важность надежных паролей и современных стандартов шифрования. Эти знания жизненно важны для защиты конфиденциальной информации и понимания потенциальных уязвимостей в PDF-файлах.