Решения CTF 2023 от «Доктор Веб». Часть 3

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Друзья, продолжаем публиковать решения нашего CTF-марафона! В нем было пять уровней сложности, в каждом по пять заданий — всего 25 заданий. Каждую неделю мы выкладываем по 5 решений — сегодня рассказываем о третьем уровне сложности. Предыдущие уровни вы можете изучить здесь: часть 1, часть 2

Результаты марафона мы подвели в начале апреля, но задания все еще доступны — и вы можете попробовать решить их для себя.

CTF-2023 от «Доктор Веб»: задания уровня Epic

1. Load me up 

Таск проверяет понимание работы ассемблера и знания о байт-коде в целом. В задании дан шелл-код — открыв его байт-код в Hiew и выставив размер инструкций на x32, можно увидеть следующую картину:

Чтобы получить флаг, нужно прочитать ASM, взять дворды и с помощью xor поделить их на «ключи» в виде двордов рядом. Получаем флаг: “DrWeb{5h3ll_u53r_}”.

2. Dungeon Master

В задании дается небольшая текстовая игра на Linux:

Если ввести в качестве ответа рандомный набор символов, то игра заканчивается выдается один из вариантов ответа:

Для первого задания просто можно найти вшитый ответ плейн текстом, так что ищем его и вставляем: 

Теперь нам уже надо найти два ключа, и в этот раз они не вшиты простым плейнтекстом в код. 

Если ввести рандомный набор символов, игра дает такой ответ:

Так как сбрутить не получилось, нужно смотреть код После того как не получилось сбрутить идем и смотрим код, находим две функции подобного формата, обе из них расшифровывают ключи путем обычного xor с ключом “11111111”

Получаем два ключа: “0---open” и “door---0”:


Переходим на третий уровень:

Пытаемся что-то угадать и победить дракона: 

Иногда, на рандоме что-то даже получается, но только на рандоме: 

Проанализировав код, можно понять принцип, по которому работает эта битва:

Оказывается, битва с драконом — последний уровень, и правильные результаты сразу пойдут во флаг:

Флаг формируется по такому принципу: DrWeb{[A-H][P-Z][#$%&][a-h][p-z]}.

Формируем флаг: “DrWeb{AH#er}”. У каждого участника он может быть разным.

3. The essence of art is DrWeb!

Совсем не сложное задание, если знать, что тут можно сделать.

Источник: https://habr.com/ru/companies/drweb/articles/736370/


Интересные статьи

Интересные статьи

“И есть еще белые, белые дни, белые горы и белый лед. Но все, что мне нужно - это несколько слов и место для шага вперед.”(Виктор Цой)Это вторая часть статьи, где будут вопросы, которые мне задавали и...
В предыдущей статье я рассказал про пластичность мозга. Сегодня предлагаю первые три техники ее тренировки. Идея очень простая: представьте себе, что ваша работа состоит не в том, чтобы строить окружа...
Всем привет! В нашей прошлой статье мы рассказали об устройстве FortiSwitch и его основных функциональных возможностях. Вторая часть решения от компании Fortinet для обес...
Когда-то я проходил серию собеседований на Backend-Java-разработчика и записывал вопросы себе на будущее, чтобы потом можно было пробежаться и освежить память. Подумалось, что, вероятно...
Продолжаем наш цикл статей про импортозамещение. В предыдущих публикациях были рассмотрены варианты замещения развернутых систем на «отечественные», и конкретно гипервизоры «отечественного пр...