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)

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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 11:07 pm
Powered by Dreamwidth Studios