Pdf stego — различия между версиями
Drakylar (обсуждение | вклад) м |
Drakylar (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
Рассмотрим общие моменты сокрытия информации в pdf документе. | Рассмотрим общие моменты сокрытия информации в pdf документе. | ||
− | ==Архив== | + | ==Изучение PDF== |
+ | |||
+ | ===Архив=== | ||
Первое, что я обычно делаю, так это разархивирование. | Первое, что я обычно делаю, так это разархивирование. | ||
Строка 31: | Строка 33: | ||
Взято с https://dillonkorman.com/2015-cams-ctf-writeups/ | Взято с https://dillonkorman.com/2015-cams-ctf-writeups/ | ||
− | ==Сливание с фоном== | + | ===Сливание с фоном=== |
Так же иногда встречаются задания, где достаточно просто выделить весь файл | Так же иногда встречаются задания, где достаточно просто выделить весь файл | ||
Строка 42: | Строка 44: | ||
− | ==Пустые места после заголовка файла== | + | ===Пустые места после заголовка файла=== |
Чтобы проверить, есть ли пустые места в начале файла, то достаточно открыть его и какой-нибудь другой PDF | Чтобы проверить, есть ли пустые места в начале файла, то достаточно открыть его и какой-нибудь другой PDF | ||
Строка 58: | Строка 60: | ||
− | ==Сокрытие текста== | + | ===Сокрытие текста=== |
Встречаются задания,которых состоит в поиске скрытого в pdf файле тексте. | Встречаются задания,которых состоит в поиске скрытого в pdf файле тексте. | ||
Строка 74: | Строка 76: | ||
− | ==Приписывание текста до заголовка %PDF== | + | ===Приписывание текста до заголовка %PDF=== |
Такое вполне возможно. Определяется с помощью HexEdit. | Такое вполне возможно. Определяется с помощью HexEdit. | ||
Строка 82: | Строка 84: | ||
Пока отсутствует. | Пока отсутствует. | ||
+ | |||
+ | |||
+ | ===Скрытые обьекты=== | ||
+ | |||
+ | В PDF могут присутствовать обьекты, которые не будут выводиться на экран. | ||
+ | |||
+ | Для этого потребуется pdf-parser.py: | ||
+ | |||
+ | 1. Выполним команду | ||
+ | |||
+ | <syntaxhighlight lang="bash" line="1" style="overflow-x:scroll" > | ||
+ | python2 pdf-parser.py <pdf_path> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 2. Найдем номер нужного нам обьекта и выполним следующее: | ||
+ | |||
+ | <syntaxhighlight lang="bash" line="1" style="overflow-x:scroll" > | ||
+ | python2 pdf-parser.py <pdf_path> --object <номер_обьекта> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 2.1 Если у обьекта есть строка '''Referencing: <число> 0 R''', то вероятнее всего этот обьект является указателем на данные хранящиеся в обьекте под номером <число>. | ||
+ | |||
+ | 3. Получим байты нужного обьекта: | ||
+ | |||
+ | <syntaxhighlight lang="bash" line="1" style="overflow-x:scroll" > | ||
+ | python2 pdf-parser.py <pdf_path> --object <номер_обьекта> --raw --filter | ||
+ | </syntaxhighlight> | ||
Версия 16:26, 15 июля 2018
Рассмотрим общие моменты сокрытия информации в 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
Райтапы
Пока пусто.