Hовый полиморфный вирус для Windows 95 вырвался на свободу

20 августа 1998
[20.08.98]

Hовый полиморфный вирус для Windows 95 вырвался на свободу.

Вырвался на свободу новый опасный полиморфный вирус для Windows 95, получивший название Win95.Inca. Он уже обнаружен в "диком виде" (in the wild) в некоторых европейских странах. ДиалогНаука срочно выпуcтила новое дополнение к вирусной базе антивируса Doctor Web, предназначенное для детектирования этого вируса.

Некоторые PE EXE-файлы, инфицированные вирусом Win95.Inca, программа Doctor Web версии 4.01 не может определить как зараженные. С задачей детектирование всех файлов, зараженных вирусом Win95.Inca, хорошо справляется 32-разрядная beta-версия программа Dr.Web for Win32. Сейчас готовится к выпуску новая версия 4.02 программы Doctor Web, которая будет детектировать все инфицированные полиморфные копии вируса Win95.Inca.

Новое дополнение дл программы Doctor Web версии 4.01 по крайней мере помогает в том, что определяет нахождение вируса Win95.Inca в системе. Такую проверку можно сделать и самому "вручную": если у Вас на компьютере в каталоге WINDOWSSYSTEM есть файл с именем FONO98.VXD, то в нем определенно "живет" вирус Win95.Inca.

Для предупреждения эпидемии вирусов и для своевременного обнаружения их появления на компьютерах мы рекомендуем ежедневно контролировать файловую систему ревизором диска ADinf. Если Вы уже используете ревизор диска ADinf, то появление вируса Win95.Inca на Вашем компьютере будет немедленно обнаружено.

Win95.Inca

Опасный резидентный полиморфный файлово-загрузочный вирус. Win95.Inca заражает EXE файлы в формате PE (Portable Executable) для операционной системы Windows 95/98 и загрузочные сектора гибких дисков. А также Win95.Inca является вирусом-червем для ARJ, LHA, LZH, PAK, RAR и ZIP - архивов и программы mIRC32. При старте инфицированного PE EXE - файла, вирус получает управление и полиморфный декриптор расшифровывает основной код вируса. Причем расшифровка производится достаточно необычным способом - в первоначальном варианте основной вирусный код представляет собой таблицу индексов или смещений оригинальных байтов вирусного тела. И под расшифровкой в данном случае следует понимать оригинальную подстановку или трансляцию расшифровщиком вирусных байт на место их однобайтовых индексов или смещений.

После данной "сборки" своего кода вирус определяет по "уже стандартному" для данных типов вирусов алгоритму адреса интересующих его функций в KERNEL32.DLL и создает на диске файл C:W95INCA.COM, в который записывает код полиморфного DOS COM дроппера. Данный полиморфный 16-тиразрядный DOS код уже был сгенерирован при заражении PE EXE - файла, поэтому "дополнительных усилий" для создания полиморфной копии вирусом на данном этапе не предпринимаются. После чего созданный файл закрывается, запускается вирусом на выполнение и после некоторой задержки - удаляется. Далее вирус отдает управление инфицированному PE файлу - вирусоносителю. Это все действия, которые выполняет вирусный код, находящийся в PE EXE - файле. Поэтому, можно рассматривать инфицированные PE EXE - файлы, как дропперы.

Запущенный на выполнение файл C:W95INCA.COM, определяет Windows директорию (WINDIR) и пытается создать в каталоге WINDOWSSYSTEM файл с именем FONO98.VXD. При удачной попытке вирус распаковывает по простейшему алгоритму код своего 32-х разрядного VxD - драйвера, который находится внутри 16-ти разрядного DOS кода, и записывает его в созданный им FONO98.VXD файл. Далее вирус открывает файл кофигурации Windows SYSTEM.INI, ищет в нем раздел "[386Enh]" и сразу после этой строки записывает строчку "device=fono98.vxd". После описанных манипуляций, или, если строка "device=fono98.vxd" уже присутствует в файле SYSTEM.INI, или файл FONO98.VXD был ранее создан в каталоге WINDOWSSYSTEM, или же, если вирусу не удалось найти каталог WINDOWS, то вирус завершает свою работу и возвращает управление DOS.

После перезагрузки системы и при новом старте Windows вирусный VxD - драйвер FONO98.VXD загружается системой в память и получает управление. Первым делом вирусный виртуальный драйвер удаляет системный VxD - драйвер HSFLOP.PDR, находящийся в каталоге WINDOWSSYSTEMIOSUBSYS. Затем вирус читает в память код из своего же драйвера FONO98.VXD и создает в памяти три разные полиморфные копии:

  • для заражения PE EXE - файлов,
  • для заражения загрузочных секторов флоппи-дисков и
  • для создания 16-тиразрядных DOS программ-вирусов (дропперов) в формате COM - файлов.
В дальнейшем, в текущем сеансе работы, до следующей перезагрузки системы вирус будет заражать указанные объекты только этими копиями. Win95.Inca относится к классу "медленных полиморфиков". Далее вирус "перехватывает" IFSMgr FileSystemApiHook и Int 13h (дисковые операции), устанавливая на них собственные обработчики событий.

Вирусный обработчик IFSMgr контролирует открытие файлов. При открытии файлов с расширениями EXE и SCR, вирус проверяет их внутренний формат, и если открывающиеся файлы являются Portable Executable, то вирус заражает их, создав дополнительную кодовую секцию со случайным именем в заголовке PE - файла и записывая в ее область свой полиморфный код.

При открытии архивных файлов c расширениями LHA, LZH, PAK, ZIP, ARJ или RAR, вирус дописывает к данным архивам свой 16-тиразрядный полиморфный код (червь) в формате COM - файла и модифицирует заголовки архивных файлов таким образом, что данный вирус-червь оказывается помещенным в архив в неупакованном виде (store format) и получает случайное имя, состоящее из четырех букв, и расширение COM или EXE (например, AAAA.COM или ABCD.EXE).

При открытии файла MIRC32.EXE (программа для "разговора" в Интернет) вирус записывает или дописывает в конец файла конфигурации MIRC.INI строки "[fileserver]" и "Warning=Off". Также вирус создает заново (если они существовали на диске) файлы SCRIPT.OLD, SCRIPT.INI, INCA.EXE и REVENGE.COM.

В файл INCA.EXE вирус записывает код полиморфного 16-тиразрядного вируса-червя. В файл REVENGE.COM записывается 231 байт троянского кода, перезаписывающего содержимое CMOS - памяти. А в файл SCRIPT.INI вирус записывает текст вирусного mIRC - червя. При старте программы MIRC32.INI по сценарию SCRIPT.INI первым делом производится запуск файла INCA.EXE. Далее по этому же сценарию производится посылка файлов SCRIPT.INI (mIRC - червя) и INCA.EXE (вирусного дроппера) на компьютеры всех участников "разговора" в Интернете. Если во время разговора появится текстовая строка "el_inca", то по сценарию SCRIPT.INI произведется запуск троянской программы REVENGE.COM. Если кем-либо будет "сказано слово" "ancev", то вирусный сценарий "допустит" этого "сказавшего слово" к диску C:. Даже если этот "сказавший слово" находится за тысячу верст от инфицированного компьютера. И если во время "разговора" появится текст "_29A_", то программа MIRC32.EXE завершит свою работу.

Вирусный обработчик дисковых операций Int 13h контролирует чтение загрузочного сектора флоппи-диска A: и при возможности заражает его, заместив оригинальный загрузчик своим полиморфным, и записывая на диск еще свои копии.

При загрузке системы с такого инфицированного флоппи-диска, вирусный загрузчик получит управление, прочитает из секторов диска в память весь свой код, "перехватит" Int 1Ch (таймер), а затем и Int 21h. Задача обработчика Int 21h простая - при первой же возможности попытаться создать в каталоге C:WINDOWSSYSTEM файл FONO98.VXD и зарегестрировать его в файле конфигурации SYSTEM.INI в разделе "[386Enh]". Задача точно такая же, как и вирусного дроппера C:W95INCA.COM, алгоритм работы которого был описан в самом начале. Разница только в том, что дроппер C:W95INCA.COM определял системный каталог Windows по переменной WINDIR. А обработчик Int 21h пытается разместить себя в определенном каталоге C:WINDOWSSYSTEM. После данной попытки (удачной или нет) вирус "отпускает" Int 21h и обезвреживает свою копию в памяти компьютера.

Вирус содержит текст "El Inca virus".

Размер вирусного VxD - драйвера составляет 15327 байта.

Таким образом, все поражаемые вирусом объекты можно рассматривать, как вирусоносители или дропперы, кроме создаваемого вирусом VxD - драйвера. Этот VxD - драйвер устанавливает свою копию в память, и именно он, поражает все остальные объекты. Hо ведь он не заражает "себе подобных"- VxD - драйверы. VxD - драйвер является только переносчиком инфекции, а не инфицированным объектом.

Информационная служба
ЗАО "ДиалогНаука"


Copyright © 1998, ЗАО ДиалогНаука
240
;