Yauza CTF 2019: Polution 2

Немного "сложного" реверса

ctf reverse

Разбор одного из реверсов с недавно прошедшей YauzaCTF.

Перед нами бинарь, при запуске жалующийся на радиацию:

Из-за радиации мутируют не только живые организмы

Ну что же, попробуем найти этот бит и поменять его обратно, чтобы получить флаг. Ну или просто хотя бы получить флаг. Вскрываем(ся).

Для начала, посмотрим что там у нас вообще творится:

Что-то страшное и непонятное

Глядя на выхлоп дизассемблера, последнее чего хочется — ковырять его. Но секундочку, у нас же делается printf(flag)! Значит, где-то этот флаг генерируется и валяется в памяти. Значит, можно просто сдампить память процесса во время работы и получить флаг. Закрываем радар, открываем дебаггер, ставим брейк на printf и запускаем.

Заметка из будущего. Это было время, когда я был молод и использовал радар исключительно как дизассемблер. Аж слезу пустил

Первый раз мы видим просто пробел

Спустя некоторое количество брейков начинается очень черная магия:

А вот и флаг начал появляться

Ага. Кажется, мы на верном пути! Спустя еще некоторое количество брейков мы просто видим нужный нам флаг в стеке.

Как же хорошо, когда стек виден сразу и не нужно ничего дампить

Таким образом, мы получаем флаг YauzaCTF{m0vfu5c470r_15_c0000l}

Всем удачи на стфках, да прибудет с вами сила!

Previous Post Next Post