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

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

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

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

CTF 2023 от "Доктор Веб"
CTF 2023 от "Доктор Веб"

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

1. Simple .exe

Первый шаг в решении задания — определить, что это файл питон, закомпилированый в исполняемый файл. Это можно увидеть, если немного проскролить файл и обратить внимание на строки:

Два самых популярных варианта подобной упаковки скриптов — py2exe и pyinstaller. Чем именно был упакован питоновский скрипт, видно здесь:

Узнать, как достать скрипт из такой упаковки, можно в Google — самым простым способом будет утилита unpy2exe. Этот процесс довольно прост: поставить утилиту через pip, запустить ее, получить .pyc-файлы и запустить модуль uncompyle6. В результате получится такой скрипт: 

Мы можем запустить его — тогда станет видно, что плейсхолдер “XXXXXXXXXXXXXXXXXXXXXXXXXXX” заменяется на строку 44. На выходе получаем паучка со строкой “DrWeb{PYPYPYPYPYPYPYPYPYPY}”: 

В дебаггере эта строка превращается в флаг: “flag = DrWeb{Un3x3fy_M3_70_Py7h0n}”.

2. Tools -> Repair

Если открыть файл через Hex-редактор, то можно увидеть его сигнатуру “PK (50 4B 03 04)” — это значит, что файл формата .zip:

Если взять любой другой zip-архив и открыть его через Hex-редактор, то мы увидим следующее: 

Структура этих файлов одинаковая за исключением одной строки — в файле из задания есть “<PADDING><PADDING<PADDING><PADDING>”, которую нужно вырезать, что «починить» файл. После этого можно будет распаковать исполняемый файл, который печатает флаг: “DrWeb{b3rry_51mpl3_z1p}”.

3. Supreme paycheck

В задании дается документ Microsoft Office в формате .docm. Так как большая часть вредоносного ПО распространяется либо через VBA-макросы, либо через эксплоиты, а искать эксплоит до проверки на макрос не имеет смысла, сначала необходимо проверить файл именно на макрос. На него в документе могут указывать строки, используемые для названий, и маркировки самого документа, например файлы: 

Чтобы попробовать достать макрос из этого документа, можно использовать одну из многих тулзов, например olevba, oledump, officeparser — или любую другую. Скрипт, который получается результате, обфусцирован:

Обфусцирование было сделано одним из самых базовых обфускаторов, и для деобфускации достаточно поменять “Execute” на “MsgBox” или “WScript.Echo”. Конечный скрипт выглядит так: 

В результате находим флаг: DrWeb{51mpl3_m4cr0_71m3} 

4. Donut? DONUT!

Это ELF-файл, в котором не стрипнута никакая информация и флаг совершенно не зашифрован, следовательно, отобразив пончик в терминале и достав строки, можно сразу найти флаг “DrWeb{b463l_m4dn355}”.

5. DRW- ████

 Задание нацелено на то, чтобы участник освоил синтаксис неизвестного языка и прочитал его, чтобы найти флаг. «Код», который дан в задании, написан на языке LOLCODE. Наиболее бросается в глаза строка “MzIwMGE3NDM5MWU2MzMyMGQ3MTMyNzY3MzFlMmY2MTMzNjE=” — именно в ней и содержится флаг, зашифрованный XOR. Выглядит он так: “3200a74391e63320d713276731e2f613361”. Об этом говорит несколько подсказок: "FORM A HEX", "UNXORED". 

 Ключ формируется в строке “I HAS A KEY ITZ SMOOSH KIKI KIKI QEQE WAWA RURU QEQE MKAY” — это единственное подходящее место. Значит, необходимо пройтись по всей последовательности конкатенаций строк в обратную сторону, составить строку и заXORить ее вместе с флагом “3200a74391e63320d713276731e2f613361” — и получить ответ: “DrK3k_1s_0u74_h3r3”. Следовательно, весь флаг выглядит так: “DrWeb{DrK3k_1s_0u74_h3r3}”. 

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


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

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

Совсем недавно, пару недель назад, мы публиковали подборку Linux-устройств. И вот сейчас стало известно еще о нескольких новинках. Здесь у нас один мини-ПК, один ноутбук (он не совсем новинка, но ...
Здравствуйте, меня зовут Екатерина, уже 11 лет я работаю учителем в школе. Почти год назад я решила сменить профессию и пошла на курсы тестировщиков в одну разрекламированную онлайн школу, разочаровал...
В предыдущей заметке мы рассказали о том, как мы решали задачу из области промышленной дефектоскопии методами современного машинного зрения. В частности, мы упомянули, что одним из подх...
По многочисленным просьбам читателей начинается большой цикл статей о применении технологии бессерверных вычислений для разработки реального приложения. В этом цикле будет рассмотрена разработк...
В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры....