-
Notifications
You must be signed in to change notification settings - Fork 4
Tasks
Это было вводное задание. В нём давалась фотография стола марсианской экспедиции. Всё, что требовалось от команд — найти на одном из стикеров пароль капитана корабля (вверх ногами, да, но ведь все равно легко?). С заданием справилось более 190 команд).
На фотографии виден повёрнутый под определенным углом QR-код . Единственная задача команд — распознать его. Однако несмотря на неплохое качество фотографии (все детали QR-кода хорошо видны, правильное освещение), большинство сканеров не распознают его. Самый банальный способ решить задание — перерисовать QR-код в любом редакторе. Можно было и помучаться с выравниваниями из кривой трапеции в квадрат. Однако, как показывает практика, на аккуратное выравнивание уходило не меньше времени, чем на перерисовывание.
Лингвист марсианской экспедиции прислала zip-архив с переводчиком, написанным на языке TypeScript. В переводчике реализована функция перевода с английского на марсианский и есть пустая заготовка для обратной функции. Задача участников — обратить функцию перевода. Флагом в данном случае выступало переведённое с марсианского сообщение, которое располагалось в space_adventure_log.txt
[Письмо](../tree/master/checksystem/download/1b1baa8dbc68603a/RE Связь налажена.txt) от системного администратора экспедиции содержит ссылку на показатели возмущенности нейтринного фона. Показатели состоят из двух файлов: большого текстового-бинарного файла с зашитым слегка искаженным флагом, второй — некоторая метаинформация: смещение, значение показателя нейтринного измерителя. Для решения таска достаточно найти пик значений показателя, чтобы обнаружить момент передачи сообщения. В соответствующем месте первого файла находится написанный задом наперёд флаг.
Из дневника инженера становится доступной информация о странном сигнале с датчиков корабля (signal.contest.qctf.ru). Датчик всё время возвращает true или false. На самом деле это закодированное морзянкой сообщение предателя марсианам. True соответствует наличию сигнала, false — отсутствию. Точка кодируется сигналом в течение половины секунды, тире передаётся в три раза более длинным сигналом. Пауза между буквами по длине эквивалентна тире, а между словами — семи точкам. Сообщение зациклено, так что можно начать распознавать его с любого места
Инженер обнаружил, что систему шифрования корабля можно усилить. В его записях найдена картинка блок-схемы шифра с внесенными изменениями. Необходимо понять, что это за шифр, и подправить какую-нибудь готовую реализацию, чтобы расшифровать флаг. В реальности это оказался шифр Serpent, его реализации доступны для всех популярных языков программирования.
У внешней камеры корабля был сбит фокус. В результате передаваемая картинка очень размытая. Если применить методы CSI, то можно обнаружить, что кто-то сделал надпись на обшивке. В качестве инструмента можно использоваться SmartDeblur.
Фотографии с внутренней камеры корабля сделаны через равные промежутки времени. Для удаления дублей файлы были прохешированы, именем файла является MD5-хеш от его содержимого. Правильная последовательность фотографий восстанавливается просто — по прилетающей (или улетающей) красной капле. После этого нужно заметить закономерность изменения символов на экране компьютера. Это оказывается сложнее, но тем не менее: между любыми двумя подряд идущими кадрами на мониторе компьютера меняются абсолютно все буквы, кроме одной. Если выписать эти неменяющиеся буквы, то получится зацикленное сообщение с флагом. Для поиска неизменного сегмента (в данном случае буквы) на двух изображениях может оказаться полезным фильтр «вычитание» в фото-редакторах или программе StegSolve.
С ноутбука предателя удалось достать файл подкачки hiberfil.sys. Нужно извлечь картинку из памяти Paint'а, чтобы разузнать коварные планы уничтожения Земли. Один из вариантов сделать это — загрузить файл в редактор Gimp с помощью функции Load Raw Data. После чего останется поиграться с разными параметрами изображения (битность, высота, ширина, смещение в файле), чтобы увидеть что-то, похожее на изображение. Зачастую приходится ещё зеркально отражать картинку, чтобы прочитать ответ, так как хранятся байты совсем не в привычном нам всем формате..
Был получен доступ к марсианской базе данных: dbproxy.contest.qctf.ru. В команде экспедиции был андройд, который смог наладить механизм взлома БД и разработать сервис hack.contest.qctf.ru. Нужно совместить между собой интерфейсы сервисов, чтобы получить доступ.
Это задание появляется из предыдущего на одном из этапов решения. Дана картинка с надписью на марсианском языке и пятью столбцами чисел. Нужно перевести текст, чтобы разобраться с тем, как перебором всех троек различных чисел получить код доступа. Самое сложное здесь, конечно, распознать марсианские символы. Можно воспользоваться хорошим OCR-решением либо проделать эту работу вручную. Главное — аккуратность! Не перепутайте большой треугольник и маленький.
Чтобы получить доступ к марсианскому сервису с БОЛЬШОЙ КРАСНОЙ КНОПКОЙ (redbtn.contest.qctf.ru), нужно иметь пароль. Но, оказывается, можно «взломать» сервис, отправив слишком длинный пароль, что приведет к исключительной марсианской ситуации. Останется её лишь перевести с помощью переводчика.
С помощью brainfuck'оподобного языка нужно из входной матрицы получить выходную. В этом задании было два флага.