VirusHunter предупреждает всех пользователей ПК о распространении вируса-червя Win32.Worm.NoFun через съемные носители информации...


Некоторые определения, встречающиеся в описании.

VB - Visual Basic. Язык программирования, используемый в Windows-системах. На данном языке пишутся многие системные и пользовательские приложения (программы).

Проводник - так далее по тексту я буду называть Проводник "Explorer" Windows, который используется большинством пользователей для работы с файлами и папками.

Корень диска - все файлы в основании диска, исключая все находящиеся на нем папки со всем их содержимым.

%drivename% - условное обозначение имени диска в тех случаях, когда конкретизация его имени не имеет существенного значения;

СНИ - так далее по тексту я буду сокращенно называть "съемные носители информации".

%windir% - каталог, в который установлена ОС Windows.


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

Программа червя написана на языке Microsoft VB версии 6.0 и откомпилирована в формат PE EXE-приложения (Windows-программы). Червь распространяется через СНИ. В корнях таких носителей присутствуют 2 файла:

%drivename%\fun.xls.exe - файл-копия вируса (размер 49152 байта);
%drivename%\autorun.inf - вредоносный файл-дроппер (размер 129 байт), используемый для автозапуска fun.xls.exe без участия пользователя.

Вирус автоматически получает управление при обращении к инфицированному носителю через меню "Мой компьютер" (детальнее о механизме работы вредоносных файлов autorun.inf можно прочитать в описании троянской программы Trojan.LittleWorm (aka Win32.Worm.Small). В случае работы с файлами и папками в др. программах-менеджерах (например, Far Manager или Total Commander) активизация fun.xls.exe может произойти только в том случае, если пользователь собственноручно запустит этот файл.
В Проводнике fun.xls.exe и autorun.inf можно увидеть только при условии, что в системных настройках вида папок включена опция показа скрытых/системных объектов, т.к. оба вредоносных файла имеют атрибуты "архивный" (archive), "скрытый" (hidden) и "системный" (system). Кроме того, вирусный файл fun.xls.exe содержит в себе поддельную цифровую подпись Microsoft и иконку анимации, которая сходна со стандартной для документов-таблиц пользовательского редактора MS Excel 2003 (XLS-файлов). Если к тому же принять во внимание тот факт, что "по умолчанию" в Проводнике скрываются зарегистрированные расширения файлов, то вредоносный файл fun.xls.exe будет выглядеть под ним следующим образом:


Для работоспособности червя в ОС Windows должна быть установлена техническая библиотека msvbvm60.dll. Этот компонент необходим для работы любых специализированных и пользовательских программ, написанных на Microsoft VB 6-й версии. В Windows 9X/ME он отсутствует (про Windows 2K точно не скажу), но может быть позаимствован, например, из Windows XP (там он точно есть) и записан для 9X/ME в системный подкаталог %windir%\SYSTEM.
Если червь при запуске не находит этот компонент, то на экран выдается стандартное системное сообщение об ошибке запуска программы и заражения системы не происходит:


Если же таковая имеется, то вирус запускается на выполнение. При этом он открывает окно Проводника, в котором показывает содержимое текущего диска, с которого был произведен его запуск. При этом запрошенное пользователем окно Проводника с содержимым диска (т.е. если открытие зараженного носителя производилось через меню "Мой компьютер") также откроется, но с опозданием примерно в 5 секунд или более. Далее происходит инсталляция вируса в систему, в ходе которой он копирует свой файл fun.xls.exe в один из следующих системных подкаталогов под такими названиями:

для Windows 9X/ME:

%windir%\SYSTEM\algsrvs.exe
%windir%\SYSTEM\msfun80.exe
%windir%\SYSTEM\msime82.exe

для Windows 2K/XP:

%windir%\System32\algsrvs.exe
%windir%\System32\msfun80.exe
%windir%\System32\msime82.exe

После копирования файлов вирус снимает с них атрибуты "скрытый" и "системный", затем запускает на выполнение копию algsrvs.exe, а исходный файл fun.xls.exe завершает свою работу.
Под Windows 9X/ME вирус осуществляет специальный перехват некоторых системных вызовов, в результате чего активность algsrvs.exe не отображается в списке запущенных в системе процессов, а в списке приложений фигурирует только имя Excel. Также при попытке просмотреть процесс algsrvs.exe при помощи стороннего ПО - например, Far Manager'а, вирус не дает к своему процессу доступа, приводя к зависанию Far'а. При этом под Windows 2K/XP в Диспетчере задач вирусный процесс виден в списке открытых приложений как Excel, а в списке активных процессов - как algsrvs.exe.
Для возможности своего автозапуска при каждом последующем старте системы вирус создает следующие записи в нижеприведенных стартовых ключах реестра (для всех версий ОС Windows они идентичны):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"MsServer"="msfun80.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"Imjpmig8.2"="msime82.exe"


Таким образом, копия вируса algsrvs.exe является резидентным компонентом, который остается активным вплоть до завершения работы Windows, а копии msfun80.exe и msime82.exe используются только для активации первой копии при старте системы.
Под Windows 9X/ME активность вируса отображается в форме временных файлов, создаваемых последним в каталоге временных файлов системы:

%windir%\TEMP\FTMP00%%.%61\ALGSRVS.EXE.txt
%windir%\TEMP\~df%%%%.tmp

, где "%%" - произвольная комбинация двух символов (цифр и/или заглавных лат. букв), "%" - произвольная заглавная лат. буква, "%%%%" - произвольная комбинация из четырех символов (цифр и/или лат. букв). Например:

%windir%\TEMP\FTMP00A5.D61\ALGSRVS.EXE.txt
%windir%\TEMP\~df8ea9.tmp

Доступ к обоим файлам закрыт, при этом размер первого из них (TXT-файл) 0 байт (пустышка), а второго (TMP-файл) - 3072 байта. В них вирус может отображать некоторые поточные данные, обрабатываемые им в оперативной памяти. После завершения работы системы эти файлы представляют собой просто файловый мусор.
Для того, чтобы сделать невозможным просмотр скрытых и системных файлов на дисках зараженного компьютера через Проводник, вирус изменяет значение одного из параметров в нижеприведенной ветке ключей системного реестра (ни сам ключ полностью, ни изменяемый параметр не приводятся по соображениям безопасности) с "1" на "0":

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Explorer\Advanced\Folder\%\%]
"%"=dword:00000000


Изменение значения данного параметра приводит к тому, что при попытках пользователя установить "галочку" на параметре "Показывать скрытые файлы и папки" в свойствах просмотра каталогов через Проводник, система автоматически возвращает параметру исходное значение "Не показывать скрытые файлы и папки".
В памяти может присутствовать только одна копия вируса (при этом вирус может внезапно завершать свою работу).
Все вышеописанные действия вирус повторяет с интервалом в 3 секунды, в результате чего в зараженном компьютере наблюдается существенное торможение. Кроме того, под Windows 98/ME вирус может ошибаться, создавая вместо своих копий algsrvs.exe, msfun80.exe и msime82.exe соответствующие файлы нулевого размера. В этом случае вирус не сможет загрузиться резидентно в память, а единственной работоспособной процедурой останется только функция размножения.


2. Заражение локальных и сетевых дисков, СНИ.

Параллельно с инсталляцией в систему, вирус с интервалом в 3 секунды пробегает по всем логическим и съемным дискам машины, создавая в их корнях 2 вышеупомянутых файла:

%drivename%\fun.xls.exe
%drivename%\autorun.inf

Файл autorun.inf вирус извлекает из собственного тела. Помимо процедур автоматического запуска файла fun.xls.exe, данный компонент вируса содержит в себе секцию вида

[VVflagRun]
aabb=kdkfjdkfk1


Очевидно, она используется для создания своего рода метки-идентификатора в системной памяти для определения присутствия активной копии вируса в памяти компьютера.
Обоим файлам присваиваются атрибуты "архивный", "скрытый" и "системный".
Прежде, чем приступить к заражению очередного носителя, вирус запрашивает его состояние. Для этого он перехватывает ответ системы вида

Open (открыт)
или
LockType (заблокирован)

При втором варианте (LockType) червь игнорирует диск и сразу переходит к проверке следующего. Однако указанная проверка корректно работает только в том случае, если защищенное от записи устройство подключается к скоростному USB-порту (USB 2.0). При подключении к медленному USB-порту, который по своей архитектуре или же вследствие неустановленной поддержки USB 2.0 не поддерживает быстрое чтение данных с носителя, проверка не работает и зловред ошибочно считает, что устройство открыто для записи и пытается заразить его. В результате система выдает на экран сообщение об ошибке вида


Если пользователь пытается отключить СНИ в тот момент, когда зловред осуществляет заражение последнего, то система выдает на экран следующее сообщение:


Заражение дисков производится в алфавитном порядке: под Windows 9X/ME от A: до Z: включительно, а под Windows 2K/XP - от C: до Z: включительно (т.е. носители в устройствах A: и B: не сканируются и не заражаются).
В том случае, если на носителе недостаточно места для создания вирусной копии, червь записывает на него файл autorun.inf в оригинальном виде, а fun.xls.exe в виде файла-пустышки (т.е. нулевого размера).


3. Прочее.

Вирус создает в каталоге с установленной ОС Windows текстовый файл

%windir%\ufdata2000.log

, в который записывает сгенерированную случайным образом дату: день и месяц вычисляются путем осуществления неких арифметических операций с ID-адресом зараженного компьютера и какими-то внутренними переменными в коде вируса, а год считывается из показаний системного таймера в панели Рабочего стола. При этом для Windows 9X/ME формат записываемой в файл даты имеет вид dd.mm.yy (например, 19.12.07), а для Windows 2K/XP - dd.mm.yyyy (например, 19.12.2007). Таким образом, для каждой из указанных Windows-систем размер файла ufdata2000.log будет составлять 11 и 13 байт соответственно.
Для чего вирус создает указанный файл и записывает в него сгенерированную дату - непонятно.


4. Детектирование и удаление червя из машины.

На момент разработки этого описания Win32.Worm.NoFun и создаваемые им вспомогательные компоненты антивирусы уже детектировали под следующими номенклатурными названиями:

Антивирус Kaspersky AntiVirus:
файл fun.xls.exe (он же algsrvs.exe, msfun80.exe, msime82.exe): Virus.Win32.Texel.i (ранее детектировался как Trojan.Win32.VB.atg)
файл autorun.inf: Worm.Win32.AutoRun.aka (ранее детектировался как Virus.Win32.AutoRun.uz)

Антивирус DrWeb:
файл fun.xls.exe (он же algsrvs.exe, msfun80.exe, msime82.exe): BackDoor.Generic.1480
файл autorun.inf: Win32.HLLW.Autoruner.576

Антивирус BitDefender Professional:
файл fun.xls.exe (он же algsrvs.exe, msfun80.exe, msime82.exe): Trojan.Agent.DAB
файл autorun.inf: Trojan.PWS.OnlineGames.RAH (ранее детектировался как Trojan.Agent.VB.AO)

При использовании антивируса необходимо проверить все логические диски компьютера, а также все СНИ, которые подключались к нему в период заражения (включая и память цифровых фотоаппаратов и видеокамер), и удалить все файлы, которые будут определяться сканером как вирусы под вышеуказанными номенклатурными названиями.
Если не удалить из корневых каталогов дисков файл-дроппер autorun.inf, то при прямом обращении к ним через Проводник (двойной щелчок на иконке диска в общем списке активных носителей) на экране будет появляться меню вида


После очистки от вируса компьютер необходимо перезагрузить, т.к. Проводник будет хранить в памяти имена всех заблокированных стационарных дисков вплоть до завершения текущего сеанса работы с системой (у съемных - например, USB Flash - до момента их отключения, т.е. достаточно просто вынуть из разъема заблокированную флэшку и вставить ее снова - блокировка пропадет). Это обусловлено использованием специальных потоков данных и некоторых временных ключей реестра (по соображениям безопасности не приводятся).
Для разблокировки измененной вирусом настройки, связанной с показом в Проводнике скрытых/системных файлов и папок, а также для просмотра данных типов объектов, Вы можете воспользоваться соответствующей утилитой из спец. набора от VirusHunter'а, который можно скачать здесь.
С учетом потенциальной опасности, которую несет неконтролируемое считывание системой данных из вредоносных файлов autorun.inf, для пользователей Windows XP была разработана специальная утилита, выгружающая из системной памяти потоки данных, связанные со считыванием и выполнением инструкций из файлов autorun.inf. Данная утилита также добавлена в спец. набор от VirusHunter'а. Перед использованием утилиты настоятельно рекомендую прочитать прилагаемое к набору руководство пользователя, поскольку ее работоспособность зависит от некоторых системных условий.

Для обнаружения в будущем как известных, так и еще неизвестных вариантов скрипт-троянцев, позволяющих автоматически запускать вредоносный код при обращении Проводника к основному разделу жесткого диска компьютера, Вы можете воспользоваться утилитой №9 из набора VirusHunter'а - STSS (Stealth Trojan Script Searcher).

Ключи реестра, созданные вирусом для автозапуска своих копий msfun80.exe и msime82.exe при каждом старте системы, можно не удалять; файл ufdata2000.log можно удалить.


Исследование вредоносного кода и разработка описания: Бройде Герман (aka VirusHunter)
Дата создания: 02.11.2007
Дата внесения последних изменений: 01.10.2008
Автор описания: Бройде Герман (aka VirusHunter)


Rambler's Top100

0.00288701057434