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

         

Win.Tentacle_II


Неопасный нерезидентный NewEXE-вирус (Windows). Реальная длина вируса - 10608 байт, но при заражении он дописывает в конец файла дополнительные таблицы ссылок и в результате увеличивает длины файлов на 10634 байт. Основная особенность вируса заключается в том, что при заражении он не меняет адрес точки входа в файле (номер стартового сегмента и значение IP в заголовке NewEXE), но правит таблицы ссылок в файле таким образом, что получает управление при работе зараженной программы. Получив на себя управление, вирус ищет NewEXE-файлы (NE) в текущем каталоге и в каталогах:

C:\WIN\ C:\WINDOWS\ C:\WIN31\ C:\WIN311\ C:\WIN95\

затем ищет .SCR-файлы в текущем каталоге. Вирус заражает по одному обнаруженному файлу во всех каталогах, за исключением C:\WINDOWS\, в нем он заражает два файла. Перед тем как заразить файл, вирус проверяет заголовки DOS EXE и Windows NewEXE, записывает FFFEh в поле MaxMem в DOS EXE и использует это поле как признак зараженности файла. Потом вирус создает временный файл C:\TENTACLE.$$$, исправляет и записывает туда блок за блоком код и данные заражаемого файла, затем уничтожает заражаемый файл и присваивает его имя временному файлу. Процедура заражения, таким образом, совпадает с вирусом "Win.Tentacle"

. При заражении файла вирус модифицирует поля и таблицы в NewEXE-заголовке, создает новый сегмент и соответствующую Segment Table и записывает в этот сегмент свой код. При этом вирус не изменяет поля, описывающие номер стартового сегмента и стартовый адрес в сегменте, и таким образом при запуске зараженного файла управление передается по тому же адресу и на тот же код, что и до заражения. Для того чтобы получить на себя управление, вирус правит таблицу межсегментных ссылок (Segment Relocation Records). Для этого он ищет в таблице Module Reference Table строки KERNEL и VBRUN300. Если ни одна из этих строк не найдена, то вирус не заражает файл. Если хотя бы одна из этихъ строк найдена, вирус считывает из файла Segment Relocation Records и ищет в ней ссылки на процедуру 5Bh (INITTASK) в случае KERNEL или на процедуру 64h (THUNRTMAIN) в случае VBRUN300.
Обе эти процедуры являются стандартными процедурами инициализации задачи и вызываются практически сразу при запуске выполняемых файлов Windows. Вирус запоминает ссылку на INITTASK или THUNRTMAIN и заменяет ее на адрес своего кода. В результате зараженный файл вместо вызова процедуры инициализации передает управление коду вируса. Вирус ищет и заражает файлы, а затем передает управление на процедуру инициализации, которая затем возвращает управление зараженному файлу. В результате вирус, не меняя стартового адреса в файле, при его запуске получает управление на свой код. При заражении файла вирус также создает дополнительные таблицы, содержащие ссылки на стандартные процедуры REGSETVALUE и REGQUERYVALUE из SHELL (SHELL.DLL) и ссылку на первоначальную процедуру инициализации INITTASK или THUNRTMAIN. Первые две ссылки используются в вызываемом вирусом эффекте, последняя необходима для возвращения управления прерванному коду в зараженном файле. Особое внимание вирус обращает на файл WINHELP.EXE. Если такой файл обнаружен, вирус правит в нем по определенному адресу команду условного перехода (74h) на безусловный переход (EBh). Зачем - непонятно. Если зараженный файл запущен в период с часа до двух часов ночи, то вирус создает файл C:\TENTACLE.GIF и записывает в него GIF-изображение щупальца осьминога. Затем он считывает из области Registry (Extensions) строку, которая является командой вызова просмотрщика GIF-файлов, и записывает туда имя вирусного GIF'а - C:\TENTACLE.GIF. Например, строка "wingif %1" в области Registry заменяется на "wingif C:\TENTACLE.GIF". В результате при просмотре любого GIF-файла система будет выводить GIF-файл вируса. При замене данных в Registry вирус использует вызовы SHELL - REGSETVALUE и REGQUERYVALUE. Вирус содержит зашифрованные строки:

C:\WIN\ C:\WINDOWS\ C:\WIN31\ *.EXE *.SCR C:\WIN311\ C:\WIN95\ \SHELL\OPEN\COMMAND


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