Энциклопедия компьютерных вирусов

         

Инсталляция в систему


При инсталляции в систему вирус переносит в каталог Windows свой код в виде двух файлов (Word-документа и PE-файла) и записывает свой "стартер" в EXPLORER.EXE. Для выполнения этих операций вирус вначале определяет адреса необходимых ему функций KERNEL32.DLL и OLE32.DLL - для доступа к дисковым файлам (KERNEL32) и для работы с данными в документах Word (OLE32).

Первым делом вирус создает в каталоге Windows зараженный документ HEATHEN.VDO (свою Word-компоненту). Для этого вирус копирует документ-носитель (который был открыт Word-ом и откуда стартовал вирус) в каталог Windows под именем HTMP.DOC (затем этот файл будет уничтожен), открывает этот файл как OLE2-объект (при помощи функций OLE32.DLL), создает новый OLE2-документ HEATHEN.VDO и переносит в него макросы из файла HTMP.DOC. При этом вирус также использует функции OLE32: открывает "поток данных" WordDocument в файле HTMP.DOC, считывает из него необходимые данные и таблицы макросов, создает поток WordDocument в файле HEATHEN.VDO, записывает в него эти таблицы и т.д.

В результате в каталоге Windows создается документ HEATHEN.VDO, который ничего кроме вирусного макроса не содержит, и процедура инсталляции вируса переходит к созданию PE-компоненты вируса в файле HEATHEN.VDL. Для этого вирус всего-лишь создает этот файл и записывает в него свою текущую копию (которая была создана макросом вируса при старте из Word-документа).

Затем вирус переходит к заражению файла EXPLORER.EXE. Вирус не записывает в него свою копию целиком, а только "патчит" его 32-байтной программой, которая при старте Windows-функцией LoadLibraryA загружает и выполняет PE-часть вируса из файла HEATHEN.VDL.

В этой части своего кода вирус использует три нертивиальных приема. Первый из них заключается в том, что вирус записывает свой 32-байтный стартер поверх начала секции настроек файла (Fixup). В обычной ситуации при запуске EXPLORER.EXE Windows не обращает никакого внимания на таблицу настроек, и зараженный файл работает без каких-либо проблем. Как побочный эффект такого метода заражения - длина EXPLORER-а при этом не увеличивается.

Второй интересный прием заключается в том, что вирус функцией LoadLibraryA вместо DLL-библиотеки загружает "нормальное" PE-приложение (HEATHEN.VDL является обычным приложением, а не DLL-файлом). Документация от Микрософт при этом не рекомендует использовать LoadLibrary для загрузки приложений, однако сама система Windows выполняет эту нерекомендованную операцию дез проблем.

Третий прием позволяет вирусу модифицировать работающий EXPLORER.EXE, который в момент заражения может быть открыт только на чтение. Для этого вирус копирует файл с именем HEATHEN.VEX, заражает его и записывает в файл WININIT.INI команду "апгрейда" первоначальной копии EXPLORER-а на зараженную при следующей перезагрузке Windows:

[rename] C:\WIN95\Explorer.exe=C:\WIN95\Heathen.vex

На этом инсталляция вируса в систему заканчиваается.



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