В прошлый понедельник мы запустили в telegram-боте один из финальных тасков — «Lot of stuff», категория Misc t.me/ctfnewsbot. Задание было оценено в рекордные 300 поинтов, суть проста и невероятна одновременно — найти флаг любой ценой. Подсказки от авторов помогли мало, и с решением справился только один человек — kazgeek. Пришло время разбираться, что нужно было сделать. Публикуем два разбора: один — от нашего подписчика Юрия Михайлова, второй — от автора.
Спойлер: авторский разбор — более краток :)
Разбор задания от Юрия Михайлова, подписчика CTF News:
1) В изначальном файле идет картинка с медведем, далее в этом же файле по смещению 0x9856...0x9a69 находится фрагмент, который пока назовем «заначка», а после «заначки» идёт rar-архив, который назовем «rar1».
2) В «rar1» находятся три файла — 1.doc (в файле 1.doc написано в частности: «Если вы подумали что это конец — вынужден вас огорчить», потому что это ещё не конец задания); картинка с медведем и картинка с собаками. В файле картинки с собаками находится еще и gimp-файл.
3) Открываем gimp, там картинка в 4 слоя. Просматриваем все 4 картинки и находим:
4) Возвращаемся к «заначке» — там 500 с небольшим байт, сигнатур нет, однако замечаем первые 3 байта 5e5f5e. Берем подсказку с картинки орков, меняем эти три байта на Rar.
5) Итак, эта «заначка» — еще один архив. Разархивируем, там спрашивает пароль, пароль составляем из строк с картинок = «WTF!fun_or_die?».
6) Всё, в архиве находится файл 3.txt, в нем — сообщение об успешном решении задания.
Всем, кто добрался до финала, а также в группу CTF News ВКонтакте мы выкладывали подсказку, а автор задания дал ещё одно напутствие:
Если бы вы открыли .txt файлом любым doc-редактором (платным Word, бесплатным OpenOffice, онлайн Google Docs), то сразу в глаза бросаются подчёркнутые слова. Смотрим в словарь — слово написано правильно, но что-то всё равно выдаёт ошибку.
Здесь нам поможет студенческая смекалка по повышению процента оригинальности рефератов при прохождении через проверку на Антиплагиат (автор этого никогда не делал и вам не советует). Мы поменяли кириллицу на латиницу. Ведь буква a и а (и так далее) — выглядят одинаково, хотя написаны на разных раскладках клавиатуры.
Собираем полученные буквы, оборачиваем в CTF{}, и в итоге наш флаг — CTF{OaopyXKoEHcoMPaHy}.
Открываем хексом — видим картинку.
Картинка пуста, ищем дальше — находим под ней архив.
Копаем архив, в нем из полезного только картинка с псами и исходным изображением.
Сверяем наш файл с исходным изображением — находим неизвестный кусок.
Картинка с псами имеет под собой гимповский файл — вырезаем его и смотрим.
Обнаруживаем под картинкой слои — смотрим. Первый скрытый слой дает нам «Rar!» (находится под кончиком стрелы у первого орка);
Понимаем, что неизвестный кусок является раровским файлом, но он оказывается под паролем…
Смотрим другие два слоя, находим на них картинки с фразами «WTF!» и «fun_or_die?». Методом ручного брута обнаруживаем, что это, черт возьми, и есть наш пароль от архива «WTF!fun_or_die?»!
Смотрим наш новенький запароленный архив и ... читаем текст, ничего (в авторском варианте было другое слово — прим. ред.) не понимаем... Думаем: дай-ка проверим на орфографию в ворде.... хм... что-то за ошибки…
Не забываем обернуть ответ в наш любимый CTF{...}.
«Облачный» партнёр нашего контеста — компания «ИТ-ГРАД», первый сервис-провайдер VMware в России и СНГ.
P.S. Cегодня в группе Летней школы CTF будет опубликован ещё один таск. На этот раз финальный :)
Мы в соцсетях