Родительский класс: VirWare
Вирусы и черви – это вредоносные программы, которые без ведома пользователя саморазмножаются на компьютерах или в компьютерных сетях, при этом каждая последующая копия также обладает способностью к саморазмножению. К вирусам и червям не относятся вредоносные программы, которые распространяют свои копии по сети и заражают удаленные машины по команде "хозяина" (например, программы типа Backdoor), или такие, которые создают в системе свои многочисленные, но не умеющие размножаться копии. Основным признаком, по которому программы выделяются в отдельные классы, является способ их распространения, т.е. как вредоносная программа передает свою копию по локальным или сетевым ресурсам. Большинство известных червей распространяется в виде файлов: во вложении в электронное письмо, при переходе по ссылке на каком-либо WEB- или FTP-ресурсе или по ссылке, присланной в ICQ- или IRC-сообщении, а также через системы файлового обмена P2P и т. п. Некоторые черви распространяются в виде сетевых пакетов, проникают непосредственно в память компьютера и активизируют свой код. Для проникновения на удаленные компьютеры и последующего запуска своей копии черви используют следующие проблемы в системах безопасности: социальный инжиниринг (например, в электронном письме предлагается открыть вложенный файл), недочеты в конфигурации сети (например, копирование на диск, открытый для полного доступа), ошибки в службах безопасности операционных систем и приложений. Что касается вирусов, то их можно разделить по способу заражения компьютера:- файловые;
- загрузочные;
- макровирусы;
- скриптовые.
Класс: Virus
Вредоносная программа, обладающая способностью к несанкционированному пользователем саморазмножению по локальным ресурсам компьютера. В отличие от червей, вирусы не используют сетевых сервисов для своего распространения и проникновения на другие компьютеры. Копия вируса попадает на удалённые компьютеры только в том случае, если заражённый объект по каким-либо не зависящим от функционала вируса причинам оказывается активизированным на другом компьютере, например: при заражении доступных дисков вирус проник в файлы, расположенные на сетевом ресурсе; вирус скопировал себя на съёмный носитель или заразил файлы на нем; пользователь отослал электронное письмо с зараженным вложением.Подробнее
Платформа: Multi
Мульти- или кроссплатформенность – способность программного обеспечения работать более чем на одной аппаратной платформе или операционной системе.Описание
Technical Details
Резидентный полиморфный Windows-вирус. Заражает выполняемые файлы Windows (PE EXE-файлы), MS Word темплейт NORMAL.DOT и рассылает свои копии по электронной почте. Имеет размер, достаточно большой для программы, написанной на ассемблере - около 22Kb.
Зараженный PE EXE-файл является главным "разносчиком" вируса - все основные процедуры заражения выполняются при запуске зараженных файлов Windows. При этом вирус ищет и заражает PE EXE-файлы в текущем каталоге и каталоге Windows, затем в каталоге шаблонов Windows замещает NORMAL.DOT на зараженный, затем остается резидентно в памяти Windows, заражает запускаемые файлы и рассылает письма с зараженными вложениями.
Вирус в NORMAL.DOT состоит из одного макроса AutoClose и активизируется при закрытии каждого документа. При этом он "выбрасывает" из себя зараженный PE EXE-файл, который выполняет перечисленные выше действия. Заражать другие шаблоны и документы Word вирус неспособен.
Вирус в письмах электронной почты является либо зараженным PE EXE-файлом со случайным именем, либо шаблоном NORMAL.DOT. Вирус может быть прислан либо как отдельное письмо без самого текста сообщения (только вложенный файл), либо присоединяется к отправляемому сообщению.
Вирус является резидентным на "время жизни" зараженного EXE-файла. Т.е. копия вируса остается в памяти компьютера как часть зараженного файла и выгружается из памяти вместе с окончанием работы файла-носителя. В случае "короткоживущих" программ вирус успевает только найти и заразить другие PE EXE-Файлы и NORMAL.DOT. В случае же приложений длительного использования вирус активен в памяти длительное время, заражает PE EXE-файлы и рассылает свои Email-копии.
Вирус полиморфичен как в PE EXE-файлах, как и в шаблоне NORMAL.DOT. Содержит два полиморфик-генератора: один создает код для PE EXE-файлов, другой - для макро-программ VBA (Visual Basic for Applications).
Вирус проявляется при запуске зараженного PE EXE-файла через четыре месяца после его заражения. При этом вызывается процедура, которая выводит MessageBox с заголовком "W32/Wm.Cocaine" и текстом, который случайно выбирается из семи вариантов:
Your life burn faster, obey your master... Chop your breakfast on a mirror... Veins that pump with fear, sucking darkest clear... Taste me you will see, more is all you need... I will occupy, I will help you die... I will run through you, now I rule you too... Master of Puppets, I'm pulling your strings...
Вирус также уделяет внимание антивирусным прогарммам и пытается блокировать их работу. Каждый раз при запуске зараженных PE EXE-файлов вирус ищет в текущем каталоге антивирусные файлы данных и уничтожает их: KERNEL.AVC, SIGN.DEF, FIND.DRV, NOD32.000, DSAVIO32.DLL, SCAN.DAT, VIRSCAN.DAT. Вирус также ищет активный AVP Monitor и пытается принудительно завершить его работу.
Известная версия вируса содержит ошибку и не в состоянии запустить PE EXE-Файл из шаблона NORMAL.DOT. По причине другой ошибки вирус портит некоторые PE EXE-файлы WinNT.
Вирус содержит строку-"копирайт":
(c) Vecna
Во многих вирусных процедурах заметны следы вируса "Fabi" - похоже, что вирус "Cocaine" написан "по мотивам" "Fabi", - и даже в некоторых случаях зараженные файлы могут быть детестированы как вирус "Fabi".
Технические детали
Запуск зараженного EXE-файла
При запуске файла управление получает полиморфный расшифровщик вируса, который расшифровывает код вируса при помощи нескольких циклов расшифровки (вирус в EXE-файлах зашифрован несколькими циклами - от трех до пяти) и затем передает управление на инсталлятор вируса. Следует отметить, что некоторые процедуры вируса остаются зашифрованными (процедура заражения NORMAL.DOT и полиморфик-генератор вируса). При необходимости вирус расшифровывает эти процедуры, вызывает их и затем зашифровывает обратно.
Инсталлятор вируса сканирует ядро Windows (KERNEL32.DLL) "стандартным вирусным" способом и ищет адреса необходимых функций Windows. Список этих функций достаточно длинный, что обосновано количеством приемов, которые вирус использует для своего распространения:
Экспортируется: Список функций: --------------- --------------- KERNEL32.DLL: GetProcAddress GetModuleHandleA CreateProcessA CreateFileA WinExec CloseHandle LoadLibraryA FreeLibrary CreateFileMappingA MapViewOfFile UnmapViewOfFile FindFirstFileA FindNextFileA FindClose SetEndOfFile VirtualAlloc VirtualFree GetSystemTime GetWindowsDirectoryA GetSystemDirectoryA GetCurrentDirectoryA SetFileAttributesA SetFileTime ExitProcess GetCurrentProcess WriteProcessMemory WriteFile DeleteFileA Sleep CreateThread GetFileSize SetFilePointer USER32.DLL: MessageBoxA FindWindowA PostMessageA ADVAPI32: RegSetValueExA RegCreateKeyExA RegOpenKeyExA RegQueryValueExA RegCloseKey MAPI32.DLL: MAPISendMail
"Стандартный вирусный" метод определения адресов функций Windows заключается в следующем: вирус ищет базовый адрес загруженной в Windows-память копии KERNEL32.DLL, разбирает ее таблицу экспортом и вычислыет адреса двух функций Windows: GetModuleHandle и GetProcAddress. При помощи этих двух процедур вирус заьтем легко получает адреса всех остальных необходимых ему функций. Наиболее интересная особенность данной реализации этого метода заключается в том, что вирус ищет копию KERNEL32.DLL не только по стандартным адресам загрузки Win95/98 и WinNT, но также и по адресам Win2000.
Затем вирус ищет и заражает MS Word, затем PE EXE-файлы, затем перехватывает некоторые системные функции доступа к файлам и электронной почте (см. ниже).
Заражение MS Word
При заражении MS Word вирус первым делом ищет файл C:ANCEV.SYS ("ANCEV"="VECNA" задом наперед). Этот файл является файлом "специального назначения". Вирус создает его, если процедура заражения MS Word завершилась успешно. Таким образом, существование этого файла говорит о том, что шаблон NORMAL.DOT содержит копию вируса, и именно в этом случае в электронных письмах вирусом рассылаются копии NORMAL.DOT. Если же MS Word не обнаружен или не был заражен, вирус рассылает зараженные PE EXE-файлы.
Итак, вирус преверяет наличие файла C:ANCEV.SYS. Если он не обнаружен, вирус переходит к заражению NORMAL.DOT. Если обнаружен, то вирус случайным образом с вероятностью 9/10 выходит из процедуры заражения, но с вероятностью 1/10 все равно заражает NORMAL.DOT своей копией.
Затем вирус выключает защиту от вирусов MS Word и делает это изменением ключа системного реестра:
SOFTWAREMicrosoftOffice8.0WordOptions, EnableMacroVirusProtection
Затем вирус также при помощи ключей реестра:
SOFTWAREMicrosoftOffice8.0CommonFileNewLocalTemplates
получает имя каталога шаблонов MS Word, уничтожает там файл NORMAL.DOT и замещает его своей собственной зараженной копией. Эта копия содержит короткий макрос AutoExec, который будет активизирован при следующем старте MS Word. Этот макрос импортирует основной код вируса из файла C:COCAINE.SYS.
Файл C:COCAINE.SYS создается вирусом сразу после записи нового зараженного NORMAL.DOT. Этот .SYS-файл на самом деле является текстовым файлом, который содержит исходный код макроса вируса. Этот код хранится в основном теле вируса, "разбавляется" полиморфными командами и в конец его дописывается образ зараженного PE EXE-Файла, преобразованный в тестовый вид (шестнадцатеричный дамп).
Таким образом, заражение MS Word происходит за два шага. На первом вирус создает исходный код своего макроса в файле C:COCAINE.SYS и записывает новый NORMAL.DOT с макросом AutoExec внутри. На втором шаге (при следующей загрузке MS Word) макрос AutoExec импортирует в NORMAL.DOT основной макрос вируса из C:COCAINE.SYS, и на этом процедура заражения MS Word завершается.
Из MS Word в EXE-файлы MS Windows
Для того, чтобы создать и запустить зараженный PE EXE-файл вирус использует также стандартный для макро-вирусов прием. Он создает на диске файл C:COCAINE.SRC и записывает в него шестнадцатеричный дамп зараженного PE EXE-файла. Затем вирус создает DOS BAT-файл с командами, которые при помощи DOS-утилиты DEBUG конвертируют код PE EXE из текстового вида обратно в бинарный вид и запускают его на выполнение.
Таким образом вирус "выбрасывает" свою PE EXE-копию из шаблона MS Word.
Заражение PE EXE-файлов
После заражения MS Word вирус переходит к заражению выполняемых файлов Windows. При этом он ищет и заражает .EXE- и .SCR-файлы в текущем каталоге и каталоге Windows, затем определяет имена установленных Интернет-броузера и электронной почты по ключам системного реестра:
HKEY_LOCAL_MACHINESOFTWAREClasseshtmlfileshellopencommand SOFTWAREClassesmailtoshellopencommand
и так же заражает их.
Заражения броузера и элестронной почты необхобимо вирусу для распространения своих копий в Интернет. При доступе в Интернет одна из этих программ оказывается активной, что влечет за собой активность копии вируса, которая перехватывает прием/отправку писем и добавляет к ним зараженное вложение.
Механизм заражения PE EXE
Перед заражением PE EXE-файла вирус проверяет несколько условий. 1: длина файла не кратна 101 (при заражении вирус устанавливает длину файла именно в это значение и защищается таким образом от повторного заражения файлов). 2: при заражении файлов в текущем каталоге и в Windows имена файлов не должны содержать символа 'V' или цифр. Таким образом вирус не заражает наиболее популярные антивирусные программы.
При заражении вирус записывает свой код в конец последней секции файла предварительно увеличив ее размер. Затем вирус необходимым образом модифицирует заголовок файла и заголовок последней секции файла.
Если первая секция файла имеет достаточный размер (более 2304 байт), то вирус записывает в нее восемь блоков полиморфик-кода, которые последовательно передают управление на основной цикл расшифровки:
+------------+ | | |PE Header | ---------------+ |------------| | | +-----+<-+| | | |Code2| || | | +-----+-+|| Стартовый адрес| |+-----+ |||<---------------+ ||Code1| ||| |+-----+----+| | | | |+-----+<--+ | ||Code3| | |+-----+----+| | V| | . . . | | +-----+| |+----|Code8|| || +-----+| |V | |------------| |Virus code | | | +------------+
В этом случае вирус не модифицирует стартовый адрес программы, однако перед возвратом ей управления вынужден восстанавливать исходный код секции файла - все восемь блоков восстанавливаются в исходное состояние.
Если первая секция файла короткая, стартовый адрес устанавливается непосредственно на расшифровщик вируса в конец файла.
Вирус также сканирует и модифицирует таблицу импортов для того, чтобы при старте файла получить функции GetProcAddress, GetModuleHandle, CreateProcessA, WinExec и MAPISendMail, необходимые ему для перехвата событий в своей резидентной копии.
Перехват событий
После того, как заражение EXE-Файлов и MS Word завершено, вирус перехватывает несколько функций Windows и остается резидентно в памяти зараженного приложения. Вирус перехватывает две файловые функции: WinExec и CreateProcessA, если они импортируются зараженной программой. Эти функции получают управление при запуске файлов, вирус получает полное имя файла, выделяет из него имя каталога запуска, ищет и заражает в нем все .EXE- и .SCR-файлы.
Рассылка писем
Резидентная копия вируса также запускает нитку (thread) рассылки писем электронной почты и перехватывает MAPISendMail (экспортируется MAPI32.DLL), "connect" и "recv" (WSOCK32.DLL) и GetProcAddress (KERNEL32.DLL).
Первый перехват используется для добавления зараженного вложения к письмам, которые отправляются с зараженной машины. Вирус проверяет письмо и, если в нем нет вложения, дабавляет оное в виде шаблона NORMAL.DOT или зараженного PE EXE-файла.
Перехват функций "GetProcAddress", "connect" и "recv" используется вирусом для реализации второго способа передачи зараженных файлов в Интернет. При приеме сообщений вирус сканирует их заголовок, достает оттуда Интернет-адрес отправителя и запоминает его.
Вирусная нитка (см. выше) при активизации определяет адрес, перехваченный при приеме сообщения, создает новое сообщение с вложенным в него зараженным NORMAL.DOT или PE EXE-файлом и посылает письмо при помощи MAPISendMail. Поле Subject письма заполняется одним из вариантов текста:
Kewl page! Improvement to your page Your page r0x0r! You must see this... Secret stuff!
Вирус не посылает зараженные файлы дважды по одному и томе же адресу. Для этого вирус подсчитывает CRC (контрольные суммы) адресов и сравнивает их с контрольными суммами, по которым уже были отправлены зараженные сообщения. Эти данные хранятся в файле BRSCBC.DAT в системном каталоге Windows. После посылки зараженного сообщения вирус добавляет в файл BRSCBC.DAT CRC "зараженного" адреса. Периодически (с вероятностью 1/365) при запуске зараженный PE EXE-файлов вирус уничтожает этот файл ("обновляет" базу данных зараженных адресов).
Перехват "GetProcAddress" используется вирусом также для перехвата Интернет-функций "connect" и "recv" из библиотеки WSOCK32.DLL. Это необходимо вирусу для того, чтобы перехватить доступ в Интернет также и в том случае, когда программа напрямую не импортирует функции "connect" и "recv", а динамически подгружает WSOCK32.DLL в случае необходимости.
Вирус для этого использует следующий прием: перехватчик GetProcAddress отслеживает обращения к "connect" и "recv" и подставляет свои собственные адреса, если программа инициализирует WSOCK32.DLL и обращается к "connect" и "recv".
Смотрите также
Узнай статистику распространения уязвимостей в своем регионе statistics.securelist.com