Virus.Win32.Crypto

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

[description]
Так же известен как:
Virus.Win32.Crypto (Kaspersky Lab) is also known as: Win32.Crypto (Kaspersky Lab), W32/Crypto (McAfee), W32.Crypto (Symantec), Win32.Crypto (Doctor Web), W95/Crypto-B (Sophos), Win32/Crypto.gen (RAV), PE_CRYPTO (Trend Micro), W32/Crypto.B (H+BEDV), W32/Crypto.20220 (FRISK), Win32:Crypto (ALWIL), Win32.Crypto.A (SOFTWIN), W32.Crypto.B (ClamAV), W32/Crypto (Panda), Win32/Crypto (Eset)
[/description]

При заражении обычных 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

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

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

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

System\CurrentControlSet\Control\SessionManager\Known16DLLs
[/code]
Вирус сохраняет свой ключ шифрования в системном реестре в ключе:
[code]
SOFTWARE\Microsoft\Cryptography\UserKeys\Prizzy/29A
[/code]
и дает этому ключу имя Kiss Of Death

Если статья была полезна вам – не забывайте поделиться ею со своими друзьями в социальных сетях. Если есть вопросы – задавайте в комментариях либо в наших социальных группах.