Использование Egghunter Mixin

Отправление Egg-hunt

 

Metasploit Framework egghunter mixin является замечательным модулем который может быть чрезвычайно полезным в разработке эксплоитов. Для тех кто не знаком с понятием egghunters давайте объясню. Как смогу.

 

Egg-hunt

 

Это является еще одной формой staged shell кода, который используется если злоумышленник может ввести больший shell код в процесс, но не может определить где в процессе будет конец. Малый egg-hunt shell код вводится в процесс предсказанного расположения и выполняется. Этот код ищет пространство адресного процесса для большого shell кода(egg) и выполняет его.

 

Уязвимость в редакторе аудио Audacity представляет нам возможность изучить этот mixin в большей глубине. В следующем модуле, мы будем использовать Audacity и создадим Metasploit формат файла эксплоит модуля для него. Мы не будем фокусироваться на самом методе эксплуатации или начале теории, а окунемся прямо в практическое использование в Egghunter mixin.

 

Давайте обратим внимание, что следующий пример использует Microsoft’s Windows XP SP2 как цель. Если вы желаете воспроизвести следующее, вам необходимо настроить нашу собственную виртуальную машину. Если SP2 для вас не доступен, можно использовать SP3 однако необходимо отключить DEP в файле ‘boot.ini‘ используя следующее: /noexecute=AlwaysOff

 

Настройка нашего Egg-hunt

 

Скачаем и установим программное обеспечение уязвимой Audacity на XP SP2:

 

Audacity 1.2.6

LADSPA Plugins

 

Скачаем и изучим оригинальный POC, взятый из: http://www.exploit-db.com/exploits/7634/

 

Портирование Egghunter PoC

 

Давайте портируем этот POC в формате MSF эксплоит модуля. Мы можем использовать существующий модуль, для получения общего шаблона. Эксплоит zinfaudioplayer221_pls.rb дает нам хороший старт.

 

Наш скелет эксплоита должен быть похож на это. Обратите внимание на наш буфер который генерируется здесь:

Генерируемый буфер
Dante

 

Мы используем Rex::Text.pattern_create(2000) чтобы создать уникальную строку 2000 байт, для того чтобы иметь возможность отслеживать местоположение буфера в отладчике.

 

Как только мы имеем портированный POC, мы генерируем эксплоит файл и перенесем его на Windows box. Используйте для начала payloads generic/debug_trap.

Использование эксплоита audacity
Dante

 

Мы открываем Audacity, присоединяем к нему отладчик и импортируем MIDI файл.

Уязвимый Audacity
Dante

 

Мы сразу же получим исключение из Audacity и паузы отладчика:

Использование  Audacity Egg-hunt
Dante

 

Беглый взгляд на SEH сети показывает, что мы переписали обработчик исключений.

Структурированные исключения Audacity
Dante

 

Мы принимаем исключение (shift + F9), и видим следующее:

Находим наш shell код с Egghunter
Dante

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *