Лаборатория LabyREnth 2016, Windows stash, task 8

timcess
, 16 августа 2016

Задание - revloader.exe

В revloader.exe видны строки revhunt.sys, revhunt.inf, dsefix.exe, ... .sys - это расширение драйверов, погуглив dsefix.exe можно узнать, что это утилита для обхода механизма защиты (В последних версия Windows можно загружать только подписанные драйвера). revhunt.inf - это установочная информация для драйвера. Все эти файлы зашиты в ресурсах revloader.exe. Достать их можно, например с помощью Resource Hacker.

Интересен сам файл драйвера - revhunt.sys. По нему становится понятно, что это Mini Filter драйвер
 

Коротко говоря, мини фильтры - это легковестные драйвера, с помощью которых можно отлавливать обращение к функциям, работающим с файловой системой, типа CreateFile. Легковестные они потому что для этих целей в Windows создан специальный интерфейс, с помощью которого не нужно сложно отлавливать и обрабатывать всякие там IOCTL вызовы, а можно быстро понять к какому файлу какой запрос идёт.

При регистрации такого драйвера используется структура Filter Registration, в которой есть член callbacks, в котором для каждого типа обращения к файловой системе (CREATE, READ, WRITE, ...) можно указать функции коллбэки - pre_operation и post_operation.

В этом драйвере только одна пара pre/post_operation. В pre_ ничего интересного не обнаруживается. В post_operation же проверяется, что если открывается файл "\pan.flag", и его содержимое соответствует проверке, то нас поздравляют с успешным решением.

Проверка оказывается простой - над каждым символом производится ксор/сдвиг/умножение на другое число или их комбинация. После их обращения получаем флаг -  PAN{Wow, reverser! Great moves, keep it up, proud of you!}

Авторизуйтесь, что бы оставить комментарий