Pdf stego
Рассмотрим общие моменты сокрытия информации в pdf документе.
Содержание
Изучение PDF
Архив
Первое, что я обычно делаю, так это разархивирование. Для этого лично я пользовался программой The Unarchiver.
После чего получаем список файлов и уже вручную ищем флаг.
Пример таска №1
1.Нам дан PDF файл, после открытия которого наблюдаем картинку с некоторыми закрашенными частями 2.Разархивируем его. 3.Находим картинку в папке, в которую разархивировали. 4.Получаем флаг!
Взято с: https://ctf-team.vulnhub.com/picoctf-2014-redacted/
Пример таска №2
В оригинальном райтапе было несколько лишних действий, поэтому я упростил его:
1.Дан PDF файл, ничего необычного в нем на первый взгляд не находим. 2.Разархивируем его. 3.Находим файл flag.jpg 4.Profit!
Взято с https://dillonkorman.com/2015-cams-ctf-writeups/
Сливание с фоном
Так же иногда встречаются задания, где достаточно просто выделить весь файл и увидеть скрытый текст, который будет сливаться с фоном.
Пример таска
http://bt3gl.github.io/csaw-ctf-2014-forensics-200-obscurity.html
Пустые места после заголовка файла
Чтобы проверить, есть ли пустые места в начале файла, то достаточно открыть его и какой-нибудь другой PDF файл HEX редактором, например HexEdit.
В данном случае чаще всего происходит встраивание текста в PDF файл используя утилиту wbStego4.3open
Скачать утилиту с сайта: http://wbstego.wbailer.com/
Пример таска
Взято с https://www.youtube.com/watch?v=ZFs58z_OzGw
Сокрытие текста
Встречаются задания,которых состоит в поиске скрытого в pdf файле тексте.
Для этого нам поможет утилита pdf2txt.py, скачать которую вы можете по ссылке http://www.unixuser.org/~euske/python/pdfminer/#pdf2txt
Пример таска
1. Дан PDF файл. 2. Либо сразу прогоняем через утилиту pdf2txt, либо прежде посмотрим в его код и убедимся что текст там присутствует. В этом поможет pdfid.py и pdf-parser.py 3. После того, как прогнали через pdf2txt, получаем флаг в текстовом виде. 4. Profit!
Приписывание текста до заголовка %PDF
Такое вполне возможно. Определяется с помощью HexEdit. Достаточно изучить весь текст который будет идти до заголовка файла %PDF.
Пример таска
Пока отсутствует.
Скрытые обьекты
В PDF могут присутствовать обьекты, которые не будут выводиться на экран.
Для этого потребуется pdf-parser.py:
1. Выполним команду
python2 pdf-parser.py <pdf_path>
2. Найдем номер нужного нам обьекта и выполним следующее:
python2 pdf-parser.py <pdf_path> --object <номер_обьекта>
2.1 Если у обьекта есть строка Referencing: <число> 0 R, то вероятнее всего этот обьект является указателем на данные хранящиеся в обьекте под номером <число>.
3. Получим байты нужного обьекта:
python2 pdf-parser.py <pdf_path> --object <номер_обьекта> --raw --filter
Утилиты
WBSTEGO
HexEdit
pdfid.py
Показывает, какие данные находятся в PDF файле (скрипты и тд)
https://github.com/hiddenillusion/AnalyzePDF/blob/master/pdfid.py
Райтапы
Пока пусто.