M4x
Green Team
- 20.05.2024
- 17
- 21
Задачка с Киберколизея, хоть и легкая, но вызвала трудности у многих, поэтому я решил написать подробный разбор решения. На мой взгляд, "Самозванец" — задание среднего уровня: не столько из-за сложности, сколько из-за запутанной легенды, которая, по моему мнению, сбивает с толку и уводит в неверном направлении. Изначально я предположил, что здесь используется подход, аналогичный задаче "Инородное тело", но, как станет ясно далее, это оказалось ошибочным мнением. Давайте разбираться по шагам, чтобы все стало понятно.
Итак, у нас есть файл
Итак, у нас есть файл
Imposter.png
. Первым делом смотрим, действительно ли это PNG:
Bash:
file Imposter.png
# Вывод:
Imposter.png: PNG image data, 842 x 1024, 8-bit/color RGB, non-interlaced
Файл действительно оказался PNG-изображением — сигнатура в порядке, открывается без ошибок. Продолжим анализ и воспользуемся инструментом zsteg:
Bash:
zsteg -q Imposter.png
# Вывод:
imagedata .. text: " \"%.2!,3"
b1,r,lsb,xy .. text: "https://ibb.co/d2TxBjh"
b1,rgb,lsb,xy .. file: TeX font metric data (\002\011 \022)
Ага, LSB-стеганография! В red plane зашита ссылка на ImgBB. Переходим — там лежит еще одна картинка, но уже в JPG. Непонятно, является ли наша находка ложным вектором или правильным. После кучи бесполезных проверок я подумал: "А не зашифрован ли тут файл через steghide?" Это довольно распространенная ситуация в задачках по стеганографии. Для извлечения файла использовал утилиту stegseek — насколько мне известно, это самый быстрый брутфорсер для steghide на сегодняшний день. Утилита основана на stegcracker, но работает гораздо эффективнее. Запускаем команду:
Скорее всего, пароль будет простым, поэтому в целях экономии времени я выбрал облегченную версию словаря rockyou.
Всего за пару секунд утилита подобрала пароль и распаковала файл flag.txt в sticker.jpg.out. Кстати, пароль оказался тематическим (связанным с Among Us), чему я был приятно удивлен — я сам разрабатываю таски для CTF и всегда стараюсь, чтобы все элементы легенды были связаны между собой.
Bash:
stegseek sticker.jpg /usr/share/wordlists/rockyoulight.txt
Скорее всего, пароль будет простым, поэтому в целях экономии времени я выбрал облегченную версию словаря rockyou.
Всего за пару секунд утилита подобрала пароль и распаковала файл flag.txt в sticker.jpg.out. Кстати, пароль оказался тематическим (связанным с Among Us), чему я был приятно удивлен — я сам разрабатываю таски для CTF и всегда стараюсь, чтобы все элементы легенды были связаны между собой.