Введение в практическую безопасность (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.
Задания по эксплуатации бинарных уязвимостей
Правила такие же, как и в заданиях по вебу: найдите флаг и сдайте его в принимающую систему. Писать отчет не требуется.
Бинарники можно скачать по этой ссылке: Media:2019 pwn tasks.tar.gz. Все задания работают на Ubuntu 16.04.
См. также /Указания, где есть советы по подключению к сервисам.
Название | Стоимость | Хост и порт |
---|---|---|
www | 50 | pwn.tasks.course.secsem.ru 9400 |
locked_down | 75 | pwn.tasks.course.secsem.ru 9000 |
easyrop | 100 | pwn.tasks.course.secsem.ru 9100 |
easyrop (harder) | 125 | pwn.tasks.course.secsem.ru 9101 |
ROPN | 175 | pwn.tasks.course.secsem.ru 9200 |
linked_lists | 175 | pwn.tasks.course.secsem.ru 9300 |
По всем вопросам можно писать на почту mailto:wgh+secsem2019@seclab.cs.msu.ru или в Matrix https://matrix.to/#/@WGH:torlan.ru.
Бонусное задание 1 (imgenhancer)
Правила такие же, как и в заданиях по вебу: найдите флаг и сдайте его в принимающую систему. Писать отчет не требуется.
В этом задании есть два флага. Ко второй части задания рекомендуется приступать после семинара 26 марта.
По всем вопросам можно писать на почту mailto:wgh+secsem2019@seclab.cs.msu.ru или в Matrix https://matrix.to/#/@WGH:torlan.ru.
- ↑ Игра конечно же должна быть законно приобретена вами.