Введение в практическую безопасность (2019)/Задания по реверс-инжинирингу и эксплуатации бинарных уязвимостей
Содержание
Задания по реверс-инжинирингу
Обязательные задания
Задания по этой теме реализованы в формате типичного 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.
- ↑ Игра конечно же должна быть законно приобретена вами.