Всё о CTF в России

Разбор самого нерешаемого таска №7

2017-07-20 11:16:51

В прошлый понедельник мы запустили в 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 картинки и находим:

  • на картинке с орками, правый верхний угол — строка «Rar!»
  • на картинке с мариком — строка «WTF!»
  • на последней картинке — строка «fun_or_die?».

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}.

ПОЛНОЕ РЕШЕНИЕ ОТ АВТОРА:

  1. Открываем хексом — видим картинку.

  2. Картинка пуста, ищем дальше — находим под ней архив.

  3. Копаем архив, в нем из полезного только картинка с псами и исходным изображением.

  4. Сверяем наш файл с исходным изображением — находим неизвестный кусок.

  5. Картинка с псами имеет под собой гимповский файл — вырезаем его и смотрим.

  6. Обнаруживаем под картинкой слои — смотрим. Первый скрытый слой дает нам «Rar!» (находится под кончиком стрелы у первого орка);

  7. Понимаем, что неизвестный кусок является раровским файлом, но он оказывается под паролем…

  8. Смотрим другие два слоя, находим на них картинки с фразами «WTF!» и «fun_or_die?». Методом ручного брута обнаруживаем, что это, черт возьми, и есть наш пароль от архива «WTF!fun_or_die?»!

  9. Смотрим наш новенький запароленный архив и ... читаем текст, ничего (в авторском варианте было другое слово — прим. ред.) не понимаем... Думаем: дай-ка проверим на орфографию в ворде.... хм... что-то за ошибки…

  10. Находим секретные буквы — получаем ответ «OaopyXKoEHcoMPaHy».

Не забываем обернуть ответ в наш любимый CTF{...}.

«Облачный» партнёр нашего контеста — компания «ИТ-ГРАД», первый сервис-провайдер VMware в России и СНГ.

P.S. Cегодня в группе Летней школы CTF будет опубликован ещё один таск. На этот раз финальный :)