ewoke: (Default)
[personal profile] ewoke
Оригинал взят у [livejournal.com profile] jmp3r в Анализ задачи по стеганографии Suspicious AVI (Hackit CTF) 450 pts
В данной статье представляю свое решение на далеко не самое простое задание в категории Stego с HackIT CTF, как обычно подходы и инструменты могут быть разные, результат в данном случае один - получение флага.

Сразу скажу что я не ярый поклонник ctf, но коллеги поставили перед фактом, мол мы тебя в команду записали, может решишь чего :) В общем решил глянуть, решил пару заданий по реверсу и крипте и тут увидел интересное и наиболее весомое по баллам задание по стеганографии, собственно далее о нем и пойдет речь.



Имеем видео по ссылке
Качаем, смотрим свойства через MediaInfo:

Format/Info                              : Audio Video Interleave
Copyright                               : http://countersite.org/images/hehehe.avi
Video
Format                                   : PNG
Format/Info                            : Portable Network Graphic
Codec ID/Info                         : Motion PNG

Avi'шка представляет из себя последовательность PNG-кадров, и конечно же не может не броситься в глаза ссылка в свойстве Copyright.

Качаем файл по ней и понимаем, что скорее всего это оригинальное видео, размер файла отличается, поскольку в PNG используется сжатие DEFLATE (zlib).

Логично будет разложить видео покадрово и сравнить. Для этих целей я использовал ExeInfo и Total Commander.

Несмотря на то, что ExeInfo - это анализатор для исполняемых файлов, очень часто он является очень полезным и для других задач.

Перетаскиваем файл avi.avi в программу и выбираем рип PNG файлов:

253 - file/s found

Аналогичную операцию проводим с файлом hehehe.avi, avi'шки лучше по разным папкам разложить, так как ExeInfo складывает риппнутые файлы рядом с анализируемым файлом.

Итак имеем две папки с png-файлами, сравним их инструментом синхронизации папок Total Commander'а:

В таком виде, как они есть сравнивать их бессмысленно (выше писал о сжатии в PNG), поэтому "разожмем" их например в bmp.

Я воспользовался онлайн-сервисом по первой ссылке в гугле по запросу png to bmp.
Итак, имеем 2 bmp-файла одинакового размера:


Видно разницу в 1 бит, что явно указывает на LSB, ну что ж, попробуем извлечь скрытую информацию, для этого нам понадобится инструмент StegSolve.

Откроем первый BMP, затем Analyse->Image Combiner и выберем второе BMP-изображение, переключимся на XOR и сохраним полученное изображение solved.bmp


В этой же утилите откроем новый полученный BMP-файл и из меню выберем пункт Data Extract, выставим 0-ые биты R,G,B, жмем Preview и видим следующее:


Да-да, кто сюда уже дошел, то должен быть в теме, что это смахивает на код на BrainFuck'e. Сохраним полученные данные через Save Bin, откроем текстовым редактором:

+[----->+++<]>+.[-->+<]>.--[->++<]>-.++++++++.-[-->+<]>----.[--->++<]>--.+++++++.-[->+++++<]>.[--->+<]>----.[-->+<]>-----.---.-[----->+<]>--.---------------.++++++++++++++.+++.[-->+<]>----.----[->++<]>-.+++++++++.[-->+<]>.--[->++<]>-.++++++++.-[-->+<]>--.-[->++<]>.>--[-->+++<]>.

Теперь перейдем по первой ссылке гугла brainfuck online и выполним данный код, нажав Execute:


Заветный флаг :
h4ck1t{br41n_mp4_h4ck3d}

и +450 баллов команде.

И конечно: Gr33tz to my friends (you know who you are)

Profile

ewoke: (Default)
ewoke

October 2025

S M T W T F S
   1234
5 67891011
121314 15161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2026 02:24 pm
Powered by Dreamwidth Studios