Введение в практическую безопасность (2019)/Задания по реверс-инжинирингу и эксплуатации бинарных уязвимостей

Материал из SecSem Wiki
< Введение в практическую безопасность (2019)
Версия от 01:47, 23 марта 2019; WGH (обсуждение | вклад) (Задания по эксплуатации бинарных уязвимостей: imgenhancer)
Перейти к навигации Перейти к поиску

Задания по реверс-инжинирингу

Обязательные задания

Задания по этой теме реализованы в формате типичного crackme/задания на реверс на task-based CTF.

Дан исполняемый файл для ОС Linux. Нужно подобрать такой ввод, чтобы некая проверка внутри была пройдена. В случае успеха программа будет явно писать фразу в духе "успех".

Для зачисления баллов необходимо написать небольшой отчет о проделанной работе: какие инструменты были использованы, какие алгоритмы проверки ввода используются в задании, каким образом вы это поняли Отчет не обязан быть написан строго формально, но должен быть читаемым и понятным. Отчет нужно отправлять на почту mailto:wgh+secsem2019@seclab.cs.msu.ru. К отчету также необходимо приложить ваше имя/никнейм, которые вы использовали в дэшборде при сдаче заданий по вебу, чтобы мы могли зачислить вам очки.

Дедлайн: 10 апреля 2019, 23:59 MSK.

Media:2019 reverse task 1.zip
При написании генератора ключей начисляется 150 баллов (генератор должен быть приложен к отчету), при получении одного валидного ключа - 100 баллов.
Media:2019 reverse task 2.zip
При успешном выполнении задания начисляется 150 баллов.

Бонусное задание

Требуется разреверсить алгоритм проверки лицензионных ключей у компьютерной игры по выбору, и написать генератор ключей[1].

Разрешается объединяться в группы до трех человек, в исключительных случаях - до четырех.

Чтобы не было ситуации, что несколько разных групп пишут кейген для одной и той же игры, игру нужно предварительно "забронировать", написав мне письмо (mailto:wgh+secsem2019@seclab.cs.msu.ru).

Поскольку это задание обладает значительным элементом рандома, и вы можете неудачно выбрать непосильную игру (код может оказаться безумно сложным, включать в себя антиотладочные механизмы, и т.д.), можно забронировать до 3 различных игр, и сдать то, что получится.

Игры, у которых подробно описан алгоритм проверки ключа где-либо в интернете, не принимаются. Если строго, на момент бронирования игры на первых 5 страницах поиска в Google по запросу "<game name> cd key keygen reverse" не должно быть статьи с описанием алгоритма. По этому критерию сразу отсеиваются игры Half-Life и Starcraft.

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

Оценка выставляется от 300 до бесконечности субъективно в зависимости от сложности проделанной работы и качества отчета. Например, UT2004, разобранный на семинаре, стоил бы где-то 500-600 баллов. Оценка будет выставлена после дедлайна (приблизительная оценка может быть сообщена ранее).

Дедлайн: 23:59, 21 апреля 2019.

Задания по эксплуатации бинарных уязвимостей

Будут выложены после соответствующих занятий.

Бонусное задание 1 (imgenhancer)

Правила такие же, как и в заданиях по вебу: найдите флаг и сдайте его в принимающую систему. Писать отчет не требуется.

В этом задании есть два флага. Ко второй части задания рекомендуется приступать после семинара 26 марта.

Если вам кажется, что что-то не работает, пишите на почту mailto:wgh+secsem2019@seclab.cs.msu.ru.

  1. Игра конечно же должна быть законно приобретена вами.