Pdf stego

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск

Рассмотрим общие моменты сокрытия информации в 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. Выполним команду

1 python2 pdf-parser.py  <pdf_path>

2. Найдем номер нужного нам обьекта и выполним следующее:

1 python2 pdf-parser.py  <pdf_path> --object <номер_обьекта>

2.1 Если у обьекта есть строка Referencing: <число> 0 R, то вероятнее всего этот обьект является указателем на данные хранящиеся в обьекте под номером <число>.

3. Получим байты нужного обьекта:

1 python2 pdf-parser.py  <pdf_path> --object <номер_обьекта> --raw --filter


Утилиты

WBSTEGO

http://wbstego.wbailer.com/

HexEdit

http://www.hexedit.com/

pdfid.py

Показывает, какие данные находятся в PDF файле (скрипты и тд)

https://github.com/hiddenillusion/AnalyzePDF/blob/master/pdfid.py

peepdf

Преимущественно для поиска malware кода в PDF

https://github.com/jesparza/peepdf


qpdf pdfextract

Утилита, встроенная в Ubuntu (тоже много чего может)

https://github.com/qpdf/qpdf

Райтапы

Пока пусто.