Searching
..

Click anywhere to stop

Virus.Win32.Crypto

Класс Virus
Платформа Win32
Описание

Technical Details

Этот текст написан совместно с Adrian Marinescu, GeCAD Software.

Очень опасный резидентный полиморфный Win32-вирус. Размер вируса —
более 20Kb. Заражает KERNEL32.DLL и PE EXE-файлы, при заражении записывает
свой код в конец файла и модифицирует необходимые поля в PE-заголовке для
того, чтобы получить управление при старте зараженного файла. Вирус также
добавляет зараженные файлы в архивы различных типов — ACE, RAR, ZIP, CAB,
ARJ, и в некоторые версии самораспаковывающихся архивов — SFX ACE и RAR.

При заражении обычных PE-файлов вирус шифрует себя полиморфик-кодом, а при
заражении KERNEL32.DLL оставляет свой код незашифрованным.

Вирус использует анти-отладочные приемы, отключает антивирусные резидентные
мониторы Avast, AVP, AVG и Amon, уничтожает антивирусные файлы данных
AVP.CRC, IVP.NTZ, ANTI-VIR.DAT, CHKLIST.MS, CHKLIST.CPS, SMARTCHK.MS,
SMARTCHK.CPS, AGUARD.DAT, AVGQT.DAT; портит данные в файле LGUARD.VPS
(антивирусная база данных?); не заражает файлы-антивирусы с именами: TB,
F-, AW, AV, NAV, PAV, RAV, NVC, FPR, DSS, IBM, INOC, ANTI, SCN, VSAF, VSWP,
PANDA, DRWEB, FSAV, SPIDER, ADINF, SONIQUE, SQSTART.

Одной из главных отличительных особенностей вируса является тот факт, что
он шифрует системные библиотеки Windows (DLL-файлы). При этом используется
механизм шифрования «на-лету» — при необходимости вирус расшифровывает тело
библиотеки, а затем шифрует обратно. В результате библиотеки являются
работоспособными только при наличии в системе резидентного вируса, а после
удаления вируса из системы — остаются зашифрованными (примерно то же самое,
что делает вирус Onehalf). Для шифрования библиотек вирус
использует криптографическую систему, встроенную в Windows (Crypt API).

Вирус «несовместим» с некоторыми версиями Windows. При этом вирус либо не
заражает KERNEL32.DLL и, соответственно, системную память, либо неспособен
заражать PE EXE-файлы.

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

При первом запуске зараженного файла в незараженной системе вирус запускает
свою процедуру инсталляции, которая заражает файл KERNEL32.DLL, находящийся
в системном каталоге Windows. При заражении вирус правит таблицу экспортов
KERNEL32 и устанавливает на свой код адреса нескольких функций работы с
файлами (CreateFile, OpenFile, __lopen, CopyFile, MoveFile, MoveFileEx,
LoadLibrary, LoadLibraryEx, FreeLibrary — как ANSI-функции, так и UNICODE).

В результате при следующей загрузке Windows код вируса остается в системной
памяти как часть KERNEL32, и при вызове перечисленных выше функций
управление передается на код вируса.

Вирус использует обычный для Win32-вирусов прием для того, чтобы записать
свой код в файл KERNEL32.DLL (эта библиотека постоянна загружена в памяти и
Windows блокирует запись в этот файл). Вирус копирует файл KERNEL32.DLL из
системного каталога в основной каталог Windows, заражает эту копию и
записывает команду «апдейта» в файл WININIT.INI. В результате при
перезагрузке Windows уничтожает KERNEL32.DLL в системном каталоге и
замещает его зараженной копией.

После заражения KERNEL32.DLL вирус возвращает управление программе-носителю.

Заражение файлов

При перезагрузке Windows код вируса оказывается загруженным в память
Windows и получает управление при обращениях к файлам. При первом таком
обращении вирус запускает процедуру размножения — эта процедура сканирует
все доступные диски от C: до Z:, ищет на них PE EXE-файлы и архивы и заражает их.

Для того, чтобы замаскировать свою активность, вирус выполняет процедуру
размножения в фоновом режиме и плюс к этому делает задержки при начале
сканирования очередного диска.

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

При записи зараженных файлов в архивы вирус использует внешние утилиты
архивации — создает зараженный EXE-файл и вызывает архиватор, который и
добавляет вирусный файл к архиву. Зараженные файлы получают имена, случайно
выбранные из списка:

INSTALL, SETUP, RUN, SOUND, CONFIG, HELP, GRATIS, CRACK, UPDATE, README

При этом к имени добавляется символ ‘!’ — либо в начало, либо в конец имени.

Шифрование DLL-файлов

При инсталляции в систему вирус создает свой ключ шифрования (при помощи
крипто-библиотеки Crypt API, встроенной в Windows). Используя этот ключ и
перехват функций работы с библиотеками (LoadLibrary и FreeLibrary) вирус
шифрует/расшифровывает DLL-библиотеки «на-лету».

Вирус не шифрует виблиотеки со стандартными именами: SFC, MPR, OLE32,
NTDLL, GDI32, RPCRT4, USER32, RSASIG, SHELL32, CRYPT32, RSABASE, PSTOREC,
KERNEL32, ADVAPI32, RUNDLL32, SFCFILES. Не шифруются также библиотеки,
перечисленные в:

SystemCurrentControlSetControlSessionManagerKnownDLLs

SystemCurrentControlSetControlSessionManagerKnown16DLLs

Вирус сохраняет свой ключ шифрования в системном реестре в ключе:

SOFTWAREMicrosoftCryptographyUserKeysPrizzy/29A

и дает этому ключу имя

 Kiss Of Death
Узнай статистику распространения угроз в твоем регионе