Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #35, ОКТЯБРЬ 2003 г.

Заражение файлов

Эдайн Гхэллах

Спецвыпуск Xakep, номер #035, стр. 035-048-3


Способ четвертый. Заражение первой секции

Данный способ довольно сложен в реализации. Но оно того стоит. При заражении вирус дописывается к концу первой секции. Все остальные секции сдвигаются. Если все сделать грамотно, антивирусу будет очень сложно определить наличие вируса.

Способ пятый. Запись в свободное место

Очень продвинутый способ. Именно он применялся в небезызвестном вирусе Чернобыль.

Вирус записывался в свободное место в каждой секции, а стартовый код помещал в свободные поля в заголовке. Рассматривая PE формат, я говорил о выравнивании. Так вот, именно благодаря выравниванию этот способ имеет место. Открой любой exe-файл и посмотри внимательно. Наверняка ты увидишь довольно много нулей. Это загрузчик с их помощью дополняет размер секции до file align. Именно на место этих нулей мы и будем записываться.

Причем если секций в файле несколько, и в одну вирус не умещается (а так бывает чаще всего), придется разбить вирус на несколько частей и записывать их в разные секции, связав jmp’ами. Главное при этом – правильно посчитать смещения, учитывая виртуальные адреса секций и их размеры.

После такого любой антивирус отдыхает.

Способ шестой. Интеграция с телом программы

Это элитный способ, применить который по силам немногим. По-моему, впервые он был освещен в работах известного московского вирмейкера z0mbie. И осуществлен им же, в вирусе Mistfall-z10. Алгоритм заражения этого вируса такой:

Дизассемблировать файл.

Интегрировать файл с телом вируса.

Ассемблировать файл.

Круто, да? Никаких тебе записей в конец файла и HLL извратов. Вирус просто растворяется в теле программы, становясь ее неотделимой частью. Наверное, не нужно говорить, что антивирусам тут ничего не светит. Я ничего не скажу о реализации данного способа, т.к. для ее описания мне не хватило бы всего журнала, но ты сможешь найти нужную информацию на страничке z0mbie.

Эпилог

Теперь ты знаешь, как заражаются файлы. Да и не только знаешь – вполне можешь сам замутить что-то подобное. Начать стоит, конечно, с первого способа. Хорошо освоив его, можно попробовать многообещающий пятый способ. Ну, а если ты совсем крутой вирмейкер, то шестой способ - твой выбор.

Ссылки по теме

www.wasm.ru/doclist.php?list=2 - описание формата PE от Hard Wisdom’а.

http://z0mbie.host.sk – сайт вирмейкера z0mbie.

Наверняка ты увидишь довольно много нулей. Это загрузчик с их помощью дополняет размер секции до file align. Именно на место этих нулей мы и будем записываться.

PE файл состоит из секций. Одна секция может содержать код, данные, таблицу импорта или что-нибудь еще. Главная сложность заключается в том, что секция на диске не обязательно соответствует секции в памяти.

Теперь ты знаешь, как заражаются файлы. Да и не только знаешь – вполне можешь сам замутить что-то подобное.

Назад на стр. 035-048-2  Содержание