Вирусы заражающие стандартные компоненты WindowsЕще один довольно распространенный подход заключается в том, что заражается какая-нибудь стандартная динамическая библиотека или служебное приложение, являющиеся частью операционной системы. Так поступают Win9X. Lorez.1766.a, Win9X. Yurn.1167, Win9X. Dodo.1022, Win32.Beef.2110 и прочие. Вот, например, что вытворяет

DLL». Сначала он копирует библиотеку из «C:WindowsSYSTEM» в «C:Windows» и все дальнейшие операции производит с копией. Затем он ставит в поле «PointerToSymbolTable» PE-заголовка уникальную метку, чтобы в дальнейшем отличать зараженные библиотеки от «здоровых». Вслед за этим вирус расширяет секцию «.rsrc» на 4096 байтов, заодно изменив битовые флаги доступа к ней с 40000040h на E0000040h. Потом вирус вписывает себя в образовавшееся пустое пространство и изменяет в таблице экспорта библиотеки ссылку на функцию «GetFileAttributesA» так, чтобы она указывала на вирусный код. Смотрите, вот сюда ссылается таблица экспорта в «здоровой» библиотеке, входящей в состав Windows 95:

Обратите внимание на первые команды вируса и на последнюю команду вирусного фрагмента. Классика, не правда ли? Вот и все, осталось дождаться перезагрузки, и Windows поместит зараженную копию библиотеки в адресные пространства всех процессов. Соответственно, вирус начнет перехватывать обращения к программным файлам и заражать их по мере своего желания и своих возможностей. Вообще, головная боль для вирусов подобного типа — как модифицировать файл «KERNEL32.DLL», ведь Windows любой версии защищает файлы исполняемых программ и загруженных библиотек от записи. Один из способов решения проблемы уже продемонстрирован выше на примере вируса Win9X. Lorez.1766.a, другой состоит в том, чтобы, создав и модифицировав копию, разместить в каталоге «C:Windows» специальный конфигурационный файл «WININIT. INI» примерно вот с таким содержимым:

Еще интересные статьи :