Odrrere - Forensics(Stego) ASIS CTF 2016
Разберем таск на стеганографию в изображениях с соревнований ASIS CTF 2016.
Нам дано само изображение(изменено для вставки в статью):
Ссылка на скачивание: >>
<<
Попробуем открыть изображение, если вам повезет, то вы увидите что я кидал ранее. В обратном случае будет ругаться что оно повреждено.
Попытки:)
Не буду утомлять вас описанием всего времяпрепровождении за решением таска (тк решение пришло не сразу), перейдем к делу.
Рассмотрим структуру PNG изображения:
Вначале идут различные PNG заголовки, отвечающие за размер, цвет и тд. Они нам не интересны. Нам интересна именно вторая часть, отвечающая за чанки.
Chunks(чанки) - "пазлы"/фрагменты изображения, из которых собирается целое. У чанков важна последовательность, например из за несостыковки размеров(как в пазлах).
Вот как выглядит чанк в hex редакторе (кстати советую использовать для этого Synalyze It! Pro MacOS):
Чанк начинается с
00 00 00 B8 49 44 41 54
¸IDAT
и заканчивается
1F 5A 35 52
Z5R
В нашем изображении 13 таких заголовков, и следовательно 13 чанков.
Так вот мы заметили, что первый чанк нам виден. а далее пустота:
А что, если например второй чанк побит? Давайте его удалим и сдвинем их на 1:
Видим, что последующие несколько чанков успешно показались!
По скрину видим, что наш третий чанк (который уже стал вторым) с надписью 0oO. Давайте таким образом будем сдвигать чанки и запишем все последовательности?
В итоге у нас получилось следующее:
1 chunk: AS
2 chunk:
3 chunk: 0oO
4 chunk: k5
5 chunk: 4yI
6 chunk: S_too
7 chunk: Ng_C
8 chunk: hun
9 chunk: w
10 chunk: 7
11 chunk: _f
12 chunk: sis{
13 chunk:
Ну и начнем собирать флаг по частям! Cкрин изменения изображения во время процесса восстановления:
Ну и в конце у нас появилось такое изображение:
Получившийся файл в архиве:
FLAG: ASIS{_pL4yIn9_w17h_pNg_Chunk5_iS_too0oO_funnn_!}
- Автор: drakylar
- Комментарии: 0
- Просмотры: 4456