Найти тему
about IT

ctf russkiy defence game 2020 задания с разборами

Не так давно у нас прошел capture the flag russkiy defence game 2020.

Кто то победил, кто то не очень. Но давайте перейдём к интересному. Ниже представлена часть заданий с разборами.

1. lottery

Описание: Проверь себя на удачу. Программа принимает входной параметр, это должно быть число от 0 до 99, если угадаешь загаданное число, получишь флаг в виде созданного каталога в том месте где запускаешь файл. Каждый запуск число разное. Удачи.

Скачать задание

Разбор:

Смотрим на файл, прикидываем, что шанс 1 к 100, дальше действуем исходя из знаний. Можно скриптом запустить зацикленный запуск файла с входным параметром, либо отревёрсить файл. Или если в тебе есть вагон целеустремлённости и телега усидчивости, тогда можно вручную запускать файл с входным параметром пока не повезёт.

2. madness

Описание: любишь безумие?. я тоже. отгадай название каталога, который я загадал.

Скачать задание

Разбор: Смотрим что у нас есть. Дан каталог с 9592 каталогами внутри. Заходим в него, смотрим на названия каталогов. Если математику ты не проспал, с лёгкостью увидишь, что это простые числа. Названия каталогов лежат в диапазоне от 0 до 100 000. Дальше остаётся самое простое, либо написать скрипт который получит список с названиями каталогов и проверит их на простоту, либо просто получить список названий каталогов и проверить в любом онлайн сервисе. Находим один каталог, который назван не простым числом. Вы великолепны.

3. Ay, Caramba

Описание: У нас есть файловый сервер доступный для всех жителей района Джанкивилль, вчера какой то хакер залил туда странный файл. Мы его сделали недоступным, но его уже успело скачать множество людей. Нужно как можно быстрее разобраться что это, нет времени медлить.

Скачать задание

Разбор: Дан exe файл собранный под .net на c sharp, который является обфусцированным ps1 скриптом. Запускаем, при запуске он проверяет производителя cpu и сообщает всё хорошо или у тебя амд, попутно предлагая запустить файл с правами админа, запуск от админа вырубает сетевуху, надеемся что никто не запускает в своей ОС непонятные файлы еще и из под рута. для решения нужно открыть в дизассемблере, разобраться как он работает и найти инициализацию нужной переменной которая вычисляет флаг.

Для самых внимательных там по разным местам разбросаны около пяти отсылок к симпсонам.

4. io

Описание: "Входит... И выходит... И входит... Замечательно выходит!"

Скачать задание

Разбор: Дана программа, пустой файл in и файл out с последовательностью символов , если записать в файл данные, при выполнении программы она перезапишет файл out новой последовательностью. несколько раз прогнав становится ОЧЕВИДНО что в out находится хеш. подставив в in любую строку и сравнив выход с выходом популярных хеш функций понимаем, что наша хеш функция sha1.

Далее напрягаемся и вспоминаем, что sha1 не самая безопасная хеш функция, лезем в интернеты и онлайн подборщиком быстро выясняем от чего был взят хеш, который лежал в Out.

5.

Описание:

الحوت الأزرق في الحاوية (svarog314)

Разбор: В описании сказано, о синем ките в контейнере. если вы не проспали последние 15 лет, то должны догадаться что речь идёт о докере. заходим в докер хаб, ищем там указанного пользователя. Пулим себе контейнер, запускам. обламываемся на ошибке про неверный таг. исправляем таг на стандартный latest, заходим в контейнер, видим mssql. дальше либо брутим пасс, либо ковыряем файлы. фалаг в названии базы.

6. nnn

Описание: nnn

Скачать задание

Разбор: Тут можно и не читать задание.

Дана виртуальная машина. Запускаем, пробегаемся по установленным программам, видим что стоит докер. заходим в службы, запускаем. Запускаем сам докер, падаем в ошибку, думаем, еще думаем, вспоминаем/гуглим как работает докер под виндой, понимаем что он создаёт виртуальную машину, вспоминаем что мы уже в виртуальной машине, выключаем всё. включаем поддержку вложенной виртуализации. Включаем всё, докер поднимается. проверяем контейнеры, там пусто. Думаем, вспоминаем еще раз как работает докер под виндой, Переключаемся в режим линукс контейнеров. Смотрим список контейнеров, там тоже пусто. проверяем список образов, там есть один. Получаем из него контейнер. запускаем. лучше сразу подумать и попробовать запустить с нужными ключами что бы провалиться в баш, получаем ошибку, баша нет. Меняем ключи, стартуем, проваливаемся в консоль, можно там походить, узнать что стоит веб сервер. или можно сразу запустить с нужным ключом и увидеть какой порт пробросится. Заходим на порт, видим поздравления и ключ.

7. infected

Описание: Для защиты нашего сервера мы наняли студента, и что из этого вышло… это крах… посмотри что с сервером, студента мы уже уволили.

Скачать задание

Разбор: Заходим на сервер, видим вин сервер, не видим окошечки. Сервер вырубается примерно через минуту.

Всё это для того что бы кто то додумался заглянуть в список job,ов, можно и в список task,ов, но там есть лишние задания. Либо идём по долгому пути через журнал событий.

Нужно отключить задание по выключению машины что бы не мешало. Рядом лежит второй скрипт с названием readme, в котором даны три задания (задания простые, на выполнение действий в командной строке винды), в конце просят запустить ехе, который проверит выполнены ли задания и выдаст ключ.

Яндекс имеет ограничение на количество скачиваний. Напишите, если начнёт блокировать или снижать скорость, залью еще раз.

Морозов Павел
vk
telegram