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



             

Win32.Cabanas this text was written by Peter Szor, Data Fellows Ltd - часть 2


После этого вирус имеет все необходимое для своей работы.

Первым делом вирус заражает EXE-файлы как обычный нерезидентный вирус - ищет их в каталогах Windows, Windows System и в текущем каталоге. Процесс заражения происходит достаточно быстро - для ускорения работы с файлами вирус использует "memory mapped files" (новая функция обработки файлов в Windows32).

При заражении вирус проверяет длины файлов - если длина файла кратна 101, то такие файлы считаются зараженными (именно такие длины имеют все зараженные файлы). Вирус также не заражает файлы больших размеров. Заражаются файлы, имеющие расширение имени только EXE или SCR (screen saver). Затем вирус проверяет EXE- и PE-заголовки, ищет ссылки на импортируемые функции GetModuleHandleA, GetModuleHandleW, GetProcAddress и запоминает ссылки на них в секции ".idata".

Затем вирус переходит непосредственно к заражению файла: устанавливает у секции ".idata" характеристики MEM_WRITE, подсчитывает адрес "точки входа" в файле, записывает туда инструкцию "JMP Virus", которая указывает в конец файла, и дописывает к файлу свой код. Дополнительно вирус увеличивает размер последней секции (для этого правит ее заголовок). Вирус также проверяет и при необходимости правит "настраиваемые адреса" (relocation table) для того, чтобы при "настройке адресов" не оказалась испорченным 5-байтовая команда передачи управления "JMP Virus". После заражения файлов вирус перехватывает функции API (т.е. остается "резидентно") и возвращает управление программе-носителю. Вирус перехватывает несколько функций, среди которых - FindFirstFileA, FindFirstFileW, FindNextFileA и FindNextFileW. При вызове этих функций вирус проверяет файл, к которому идет обращение. Если файл не заражен, вирус записывается в него описанным выше методом. Если файл заражен, вирус "показывает" уменьшенную длину файла - такую же, какая была до заражения. Таким образом вирус реализует свой "полу-стелс" алгоритм - заметить изменение длин невозможно.Более того, если программа, просматривающая файлы уже заражена, вирус записывается во все PE EXE-файлы, к которым идет обращение. Вирус также заражает файлы и при вызове других перехваченных API-функций обращения к файлам - CopyFile, SetFileAttributes, SetFileTime и т.д.




Содержание  Назад  Вперед