Техника выживания в мутной воде или как обуть антивирус

команды, собственно говоря


Нажимаем <F9>
для сохранения изменений в файле и прогоняем его через AVP. Ну и почему мы не кричим? Куда девалось наше самодовольное похрюкивание? Всего две команды затоптали, а какой результат!!! Впрочем, наше положение крайне ненадежно и поводов для пьянки нет никакой (задвиньте открытое на радостях пиво обратно под стул). Как только разработчикам антивируса станет известно об этом инциденте в сигнатурной базе появится новая строка. К тому же Dr.WEB по-прежнему материться на win.exe вирус…

Что на это сказать? Не важно, кто поит девушку. Важно – кто ее танцует! И пока остальные будут с воплями топтать сигнатуры, мы ударим в самое сердце антивируса – в его виртуальную машину. Преодолеть эмулятор можно различными путями: а) вставить конструкцию, которую антивирус проэмулировать не в состоянии (самомодифицирующийся или самотрассирующийся код, обработку структурных исключений и т. д.);
б) команду, привязывающуюся к своему местоположению в памяти; в) команду, не известную эмулятору.

Код, отвечающий одному или нескольким вышеприведенным пунктам, мы будем называть антиотладочным кодом. Будучи внедренным в упакованный файл, он подложит хорошую свинью виртуальной машине и угробит антивирус еще до того, как распаковщик успеет получить управление. Тупое пополнение сигнатурной базы положение не спасет и разработчикам придется всерьез засесть за совершенствование виртуальный машины, что не только дорого, но и хлопотно. Так что без крайней нужны на это никто не пойдет и преложенная идея будет работать, укрывая вирусов от загребущих антивирусных лап.

Существует множество способов внедрения своего кода в чужой исполняемый файл. Вирусы обычно раздвигают последнюю секцию, записываясь в ее конец или создают новую. Дело это муторное и к тому же слишком заметное. Антивирусы матерятся так, что уши вянут. Тоже самое относится и к вторжению в заголовок.

Мы же поступим умнее и внедримся между секциями в середину файла. Берем файл упакованный ASPack'ом, грузим его в HIEW, нажимаем <ENTER>
для перехода в hex-режим, давим <F8>
для входа в режим заголовка, жмем <F6>
для просмотра таблицы секций, подгоняем курсор ко второй секции файла и ударяем по ENTER'у:



Содержание раздела