Zahak.906

Очень опасный резидентный вирус. Перехватывает INT 21h, 2Dh и записывается в конец COM и EXE файлов при их запуске. Уничтожает файлы CHKLIST.MS и CHKLIST.CPS. Через некоторое время (через два месяца?) после заражения компьютера стирает данные на диске. Содержит строку:

Zahak!






Zamol, семейство

Неопасные резидентные вирусы, частично зашифрованы. Перехватывают INT 21h и записываются в начало COM- и конец EXE-файлов при их запуске или обращениях к ним. При заражении файлов временно переименовывают их под другими именами:


"Zamol.2024,3390,4358": ACULA.TRS "Zamol.2153,2743" ++----.!!!



"Zamol.2024" никак не проявляет себя. Другие вирусы перехватывают INT 8,9,13h,33h (таймер, клавиатура, чтение/запись на диск, мышь) и в зависимости от системной даты и своих счетчиков проявляются различными эффектами: выводят сообщения, проигрывают мелодии, запрещают запись на дискеты, "отключают" клавиши ENTER и DEL, записывают в boot-сектора дисков и MBR винчестера программу, выводящую собщения, перехватывают процедуру Login и запоминают вводимый пароль.

"Zamol.2153" выводит сообщение:


+-----------------------------+ | | | Greetings from Timishoara ! | | Call 040-96-113821 | | | +-----------------------------+



"Zamol.2743" выводит сообщения:


+---------------------------------+ | ZAMOLXIS VIRUS | |---------------------------------| | Se dedicЖ mortilor din DEC. 89! | | Nu se dedicЖ lui Ion Iliescu! | | Romania Timisoara 1994/am ! | | | +---------------------------------+ +------------------------------------+ |Liceul de Informatica Grigore Moisil| +------------------------------------+



"Zamol.3390" выводит сообщения:


+---------------------------------+ | ROMANIAN 13 VIRUS | |---------------------------------| | Dedicate to Bosnia-Hertegovina | | and special for romanian youngs | | dead in "The War For Liberty". | | Romania Timisoara 1994/am ! | | | | Timisoara phone : 040/096/ | +---------------------------------+ +----------------------------------------------+ | " DRACULA`s spirit " | | original scotch by Transilvania... | | ..call "Transilvania General Import/Export" | |----------------------------------------------| | "RIO" soft drink ! Quality guaranted ! | | Romania Timisoara cod 1900 Ghirlandei nr. 4 | |----------------------------------------------| |To everytime Whores! Call 166894 .(Taxi Bimbo)| |----------------------------------------------| | " Eco Tours " ! More a man dead ! ( 123450 ) | +----------------------------------------------+





Вирусы также содержат строки:


"Zamol.2024": MS Works Virus "Zamol.6418": MS Works Virus THE LAST CAPTURE IS:







Zamoy.587

Неопасный нерезидентный вирус. При запуске ищет .COM-файлы и записывается в их конец. В зависимости от текущего времени выводит текст:

I am ILL always after 22


Также содержит строку:

ZAMOY






Zaneto.1769

Очень опасный резидентный зашифрованный стелс -вирус. Перехватывает INT 21h и записывается в конец COM-файлов при обращениях к ним. 27-го ноября стирает CMOS, сектора винчестера и выводит текст:

Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi Vsechno nejlepsi

Zaneto



Демонстрации вирусных эффектов:

ZANETO.COM



Zapper.1121

Очень опасный нерезидентный зашифрованный вирус. При запуске ищет .COM- и .EXE-файлы и записывается в их начало. На время своей работы создает временный файл C:CX1849.COM. При заражении файлов пакует их используя простой метод сжатия повторяющихся символов. При запуске зараженного файла вирус распаковывает файл-носитель во временный файл и затем запускает его.

Иногда вирус стирает сектора дисков, уничтожает файлы:


*.D?? F:\PUBLIC\CHKLIST.* C:\DOS\CHKLIST.MS



Вирус также содержит строки:


*.COM *.EXE C:\DOS\FORMAT.COM F:\PUBLIC\MAP.EXE ZAPPER







Zarina.509

Неопасный нерезидентный вирус. При запуске ищет COM-файлы и записывается в их начало. При заражении файлов использует FCB-функции. Перед возвращением управления программе-носителю выводит текст:

Zarina Tamara






Zed.287

Безобидный резидентный вирус. Перехватывает INT 21h и записывается в начало COM-файлов при их запуске. Содержит строку:

ZED-10 Virus 1.2B. (C) 1994 JH






Zelentsov.379

Неопасный резидентный вирус. Перехватывает INT 8, 21h и записывается в конец COM-файлов при их запуске. Иногда "дергает" экран при работе в графических видео-режимах. Содержит строку:

Virus ZELENTSOV






Zero2o

Резидентный очень опасный вирус, перехватывает INT 21h и при запуске файлов записывается вместо .COM-файлов текущего каталога. Заменяет на экране символы '0' на 'O', содержит строки: "ScUD 1991!", "*.COM".



Демонстрации вирусных эффектов:

ZERO2O.COM



Zerobug.1536

Резидентный неопасный вирус. Перехватывает INT 1Ch, 21h и записывается в начало COM-файлов при их создании (копировании): перехватывает вызов Create (INT 21h, AH=3Ch), самостоятельно создает файл, записывает туда свое тело и передает управление вызвавшему INT 21h коду. Затем DOS (или другая программа) дописывают копируемый .COM-файл к телу вируса. В результате вирус обходит практически любые антивирусные блокировщики, и не требуется обработки INT 24h. Проявляется видеоэффектом: запускает рожицу (ASCII 01h), которая перемещается по экрану и стирает все символы '0'.



Демонстрации вирусных эффектов:

ZEROBUG.COM



ZeroDivide.604

Неопасный резидентный вирус. Перехватывает INT 21h и записывается в конец EXE-файлов при их запуске. При запуске пятого файла выполняет команды


XOR AL,AL DIV AL



что приводит к вызову INT 0 (Zero Divide).





Zerohunter, семейство

Безобидные резидентные "стелс"-вирусы. Перехватывают INT 21h и заражают стартующие COM-файлы, начинающиеся с команды JMP NEAR (E9h). Вирусы ищут в файлах области, содержащие только байт 00h, и записываются в них, т.е. длина файлов при заражении не увеличивается.

Вирусы используют "стелс"-алгоритм при обращении к файлам. После считавания информации из файла вирус корректирует ее (информацию) в буфере чтения/записи: стирает свое тело и восстанавливает первые 4 байта начала файла.





ZGB.2112

Очень опасный резидентный вирус. Перехватывает INT 21h и записывается в конец .COM- и .EXE-файлов при их запуске или создании (копировании). 17-го апреля и августа уничтожает файлы и выводит текст:


Aha! Greeting from cqZGB, can you find me? Bye-bye!







Zhangfan.1535

Неопасный резидентный зашифрованный вирус. Перехватывает INT 21h и при вызовах нескольких DOS-функций (обращение к диску и файлам) ищет .EXE-файлы в текущем каталоге и записывается в их конец. 29-апреля выводит текст:


ZHANGFAN: HAPPY BIRTHDAY TO YOU!







Zoo.383

Опасный нерезидентный вирус. Ищет в текущем каталоге NewEXE-файлы (Windows) и записывается в их DOS stub (DOS-заголовок NewEXE-файлов). Первоначальный DOS stub не сохраняется. После заражения файлов вирус расшифровывает и выводит текст, совпадающий со стандартным сообщением Windows:

This program requires Microsoft Windows.


Вирус также содержит зашифрованные строки:


*.exe (c) DNazi Мы уйдем из зоопарка!







Zoom.260

Безобидный резидентный зашифрованный вирус. Копирует себя в таблицу векторов прерываний, перехватывает INT 21h и записывается в начало запускаемых COM-файлов. Никак не проявляется. Содержит строку:

ZooM-это первый






Zortech.836

Опасный резидентный вирус. Перехватывает INT 21h и записывается в начало COM- и EXE-файлов при их запуске. Иногда перезагружает компьютер. Содержит строку:

Zortech (C). Take Care of SoftWare ...






Zu.473

Резидентный очень опасный вирус. Перехватывает INT 21h и записывается в конец COM-файлов при их запуске. Содержит текст "Zu1", 13-го июля расшифровывает и выводит на экран строку:

Format ...


а затем стирает сектора диска C:.





Zub.792

Безобидный резидентный зашифрованный вирус. Перехватывает INT 21h и записывается в конец COM- и EXE-файлов при их запуске. Никак не проявляется.





Zulu.1390

Неопасный резидентный вирус. Перехватывает INT 1C, 21h и записывается в конец COM-файлов при их запуске. Периодически запускает по экрану скачущий шарик (см. вирус "PingPong" ). Содержит строки:


ZULU-GULA by Dr Mengele and Rudolf Hess If you want to contact with us call (0-35) 43-03-85 or (0-35) 43-07-39





Демонстрации вирусных эффектов:

ZULU.COM



Zver.512

Неопасный резидентный вирус. Перехватывает INT 21h и записывается в начало COM-файлов при их запуске или открытии. При заражении файлов использует алгоритм вируса "Beast" . Содержит строку:

ЗВЕРЬ






ZW.1967

Безобидный резидентный вирус. Перехватывает INT 21h и записывается в середину EXE-файлов при их запуске. При заражении компрессирует файлы таким образом, что их длины не меняются. Перед тем, как вернуть управление программе-носителю, распаковывает ее код. Содержит идентификатор: "ZW".





Zxx.600

Очень опасный резидентный вирус. Перехватывает INT 21h и записывается в конец EXE-файлов при доступе к ним. Начиная с августа стирает MBR винчестера. Содержит строку:

ZX-X






Zyx.5683

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

Портит антивирусные базы данных, уничтожает файлы, записывает в начало файлов .C, .PAS, .TXT, .ME, .DOC, .BAK и .ASM строку:


To Karen In the realm of a greek deity, I dreamt of you. A weird reverie, Typewriters were like clouds, high in the sky, The floor was made of paper, Pencils stood for trees, A light bulb, low on the horizon, made a perfect sunset. And it rained words ... Then you came, more beautiful than ever, The only one real in my cyberspace. I felt like holding you im my arms, touching your hair, Telling you how much I loved you, How much I wanted to lose myself in your pretty brown eyes. I was almost in heaven. Suddenly it was pitch dark, The greek god had turned off the PC. It said: 'Buddy you're just a damned cyberpunk whose only friends are NPCs.' I opened my eyes, it was dawning outside. You weren't there. I miss you. I really miss you. Zyx From the slums of Beverly Hills.





Также содержит строки:


I'MWackOkiDtHebRainChildOfZyx Stopsnoopingintomywork Itoldyoutostop Ifyuwanagoontakesomeflowerstoyourgirltoday&makeherhappyok *.* IhateturksazerbaijanisandKARABAGHbelongstous ME M *.COM *.EXE SCANVAL.VAL FSIZES.QCV SCAN.EXE NAV.EXE TBSCAN.EXE STACKER.COM COMMAND CONFIG.SYS NAV_.NAV&.EM CHKVIRUS.CFG NAV_*.* CHKLIST.MS VSAFE. *._XE *._OM SIGNTURE.DAT .. OMSPEC= PAS DOC \ CHKLIST.CPS BAK ASM C TXT Sowhatdidyougainwiseass wishIhaddonesomethingelse









ZZ.412

Безобидный резидентный вирус. Перехватывает INT 21h и записывается в конец EXE-файлов при их запуске. Содержит строку: "ZZ".





ZzTop.429

Неопасный нерезидентный вирус, ищет .COM-файлы и записывается в их начало. Расшифровывает и выводит на экран текст:

ZZ Top the best !!!






Zwickau.505

Неопасный резидентный вирус. Перехватывает INT 21h. При открытии, создании и запуске файлов ищет в текущем каталоге .EXE-файлы и записывается в их конец. По 5-м числам ежемесячно выводит сообщение:

GRUESSE AUS ZWICKAU






Zzz.1379

Опасный нерезидентный вирус. Ищет .COM-файлы в каталогах C:\WINDOWS\COMMAND, C:\DN, \CLIENT\WIN95\ и записывается в их конец. При заражении создает временный файл ZZZ.TMP. По 20-м и 27-м числам каждого месяца стирает файлы:


C:\WINDOWS\SYSTEM.INI C:\WINDOWS\WIN.INI C:\WINDOWS\SYSTEM\MDISP32.REG C:\WINDOWS\SYSTEM\OLE2.REG







Zorm, семейство

Неопасные нерезидентные зашифрованные вирусы. Ищут выполняемые файлы и записываются в их конец. "Zorm.643,648" заражает только EXE-файлы, "Zorm.1123" заражает как EXE-, так и COM-файлы.

"Zorm.1123" уничтожает антивирусные файлы данных: ANTI-VIR.DAT, CHKLIST.MS, CHKLIST.CPS, и более никак не проявляется.

Вирусы содержат строки:


"Zorm.643,648": (c)zorm-a,from dr L. "Zorm.1123": (c)Zorm-b by Dr.L







Zhengxi, семейство

Семейство очень опасных полиморфик-стелс-вирусов. Имеют длину более 7K, заражают EXE-, OBJ- и LIB-файлы, дописывают COM-дропперы в архивы ZIP, ARJ и RAR, содержат строки:


Abnormal program termination The Virus/DOS 0.54 Copyright (c) 1995 Zhengxi Ltd Warning! This program for internal use only!



Вирусы семейства относятся к наиболее сложным из известных на сегодняшний день. Они используют множество методов заражения файлов, сложный полиморфик-механизм, двойную шифровку кода вируса и т.д. В вирусах представлено множество идей из других вирусов, например, заражение EXE-файлов в середину напоминает вирус "Lucretia", заражение OBJ-файлов - "Shifter", заражение архивов - "Dementia", а полиморфик-механизм представляет собой улучшенный вариант SMEG engine.



Заражение памяти



Код вируса получает управление из различных точек в зависимости от зараженного объекта. Если запускается зараженный EXE-файл (метод заражения "appending", см. ниже) или COM-дроппер, вирус получает управление непосредственно при выполнении зараженного файла (команда JMP_Virus в начале COM-файла или CS:IP на вирус в заголовке EXE-файла). В EXE-файлах, зараженных методом "inserting", вирус получает управление из своей программы-загрузчика. В файлах, слинкованных с зараженными OBJ/LIB-файлами, вирус получает управление командой CALL, которая может располагаться в произвольном месте файла.

В любом из перечисленных выше случаев управление передается полиморфик-расшифровщику, который состоит из двух основных циклов. Первый цикл расшифровывает второй цикл и снимает первый уровень шифровки с кода вируса, затем второй цикл восстанавливает код вируса в "чистом" виде и передает управление инсталлятору. Инсталлятор перехватывает INT 1, трассирует INT 21h и ищет в кодах INT 21h некоторую последовательность байт (эти байты присутствуют в кодах обработчика INT 21h в DOS 5.x и DOS 6.x).

Если такой код найден, то вирус сохраняет его в своем теле и записывает вместо него FAR CALL на адрес обработчика INT 25h (Absolute Disk Read). Затем вирус сохраняет 5 байт обработчика INT 25h и записывает на их место команду FAR JMP на свое тело. Результат выглядит примерно следующим образом:


INT 21h handler: ... ... +------- 2E FF 1F ???? CALL FAR CS:Int25 | C7 06 ???? ; magic word | Int25: ???? ???? ???? ???? ; far addr of INT 25h | ... ... | +> INT 25h handler: +-------- EA ???? ???? JMP FAR VirusHandler | ... ... | +> Virus handler: 2E 8F 06 ... POP CS:Caller_IP ... ...



Таким образом, вирус использует одну и ту же подпрограмму для перехвата INT 21h и INT 25h. Для того чтобы разделить вызовы различных прерываний, он анализирует адрес, откуда пришел вызов. Если вызов идет из обработчика INT 21h, то вирус передает управление своему обработчику INT 21h. В противном случае управление передается вирусному обработчику INT 25h.

При заражении памяти вирус также проверяет несколько условий и не заражает компьютер, если выполняется хотя бы одно из условий:


- компьютер работает под MS Windows - загрузка производилась с дискеты (A: или B:) - INT 8, 13h, 28h указывают на один сегмент (если в памяти антивирусный монитор?) - день создания зараженного файла близок к текущей дате (два старших бита номера дня создания файла совпадают с двумя старшими битами текущего дня)



При выделении памяти под свою TSR-копию вирус использует DOS-вызовы (ChMem и AllocMem) и устанавливает себя в conventional-memory. Однако в дальнейшем вирус может переместить себя в другие адреса памяти, включая UMB.

Затем вирус возвращает управление программе-носителю. Если это COM-дроппер, то вирус выводит сообщение:

Abnormal program termination


и возвращает управление DOS. Если заражен EXE-файл (appending), то вирус восстанавливает заготовок файла и передает управление по первоначальным CS:IP. Если заражен EXE-файл (inserting) или OBJ/LIB-файл, вирус возвращает управление прерванной подпрограмме.



Обработчик INT 21h



Вирус перехватывает 18 функций INT 21h:


3Dh, 6Ch - Open/Create File 3Eh - Close File 3Fh - Read File 42h - Lseek 4Bh - Execute File 41h - Delete File 11h, 12h - FindFist/Next FCB 4Eh, 4Fh - FindFist/Next ASCII 00h, 4Ch - Terminate 31h - Stay TSR 67h - Set Handle Count 48h, 49h, 4Ah - Allocate/Free/Resize Memory



Функции Set Handle Count, Execute File и Allocate/Free/Resize Mem используются вирусом для того, чтобы спрятать свой блок памяти. Вирус корректирует MCB-блоки: "показывает" свой код непосредственно перед вызовом функции и "сращивает" его с предыдущим блоком после вызова. В результате блок памяти с кодом вируса виден только DOSом, а утилиты просмотра системной памяти не видят его.

При вызовах функций Terminate, Stay TSR и FreeMem вирус перемещает себя по другому адресу в памяти. При этом вирус копирует себя либо "поближе" к программам DOS или в UMB.

При открытии файлов вирус выполняет несколько действий в зависимости от режима открытия файла (ReadOnly или ReadWrite). Если на запись открывается зараженый файл, то вирус лечит его. Перед лечением вирус проверяет имя программы, которая открывает файл, и не лечит файл, если имя программы:

UUENCODE.EXE, PKLITE.EXE, LZEXE.EXE, NDD.EXE, DIET.EXE, AFD.EXE, SD.EXE, SPEEDDSK.EXE, DEFRAG.EXE, TLINK.EXE, LINK.EXE

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

При открытии файлов также получает управление стелс-подпрограмма, которая уменьшает длину файла в System File Table.



При чтении из файлов, при вызове команд LSeek, FindFirst/Next и перед уничтожением файлов вирус также вызывает стелс-подпрограмму, которая либо подставляет незараженный код файла, либо блокирует LSeek на код вируса, либо уменьшает длины зараженных файлов, либо лечит удаляемый файл в соответствии с вызванной функцией.

Вызовы FindFist/Next ASCII также используются вирусом для поиска файлов и их последующего заражения. Вирус сохраняет имя файла, который обнаружен командой FindFirst, и имя примерно каждого 5-го файла (с вероятностью 3/16) при вызовах FindNext. Вирус сохраняет только одно имя, поэтому заражаетсся последний файл, имя которого попадает в буфер.

Заражение файла, имя которого попало в буфер, происходит при закрытии файла (этого или любого другого). Вирус с вероятностью 1/4 также заражает сам закрываемый файл.



Заражение



Перед заражением вирус проверяет несколько условий:


- файл не должен быть создан только что (сравнивает номер дня создания файла с текущей датой, так же, как и при заражении памяти) - файл находится на локальном диске, и диск не флоппи (HD или Ramdrive) - имя файла не является *.?V? (*.OVL ?) - на диске имеется достаточно свободного места



Если все условия выполнены, то вирус считывает заголовок файла, проверяет его формат и заражает EXE/OBJ/LIB-файлы и архивы.



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



Вирус заражает EXE-файлы тремя различными методами: "appending", "inserting" и заражение содержимого самораспаковывающихся ZIP/ARJ/RAR-архивов (например, ZIP-архивы, созданные утилитой ZIP2EXE).

Сначала вирус проверяет EXE-файл на наличие архива и, если таковой обнаружен, дописывает в архив COM-дроппер (см. ниже). Затем вирус проверяет длину файла (заражает только файлы длиной более 1024 байт) и длину загружаемого модуля. Если длина загружаемого модуля больше 32K, то вирус заражает его методом "inserting", в противном случае - методом "appending".



Заражение EXE-файлов (Appending)



Вирус считывает заголовок файла, шифрует его (полиморфик-методом) и записывает в конец файла. Затем вирус шифрует свой код (также полиморфик-методом), дописывает к концу файла и модифицирует заголовок файла так, чтобы CS:IP указывали на код вируса.

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



Заражение EXE-файлов (Inserting)



Если длина модуля больше 32K, то вирус ищет в модуле C/Pascal-процедуры и записывает в них свой загрузчик. В результате код вируса получает управление не непосредственно при запуске зараженного файла, а при вызове этой процедуры. Причем эта подпрограмма может быть крайне редко выполняемой (например, при выводе сообщения о какой-либо специфической ошибке). В результате вирус может долгие годы "спать" внутри файла и вырваться на свободу только при некоторых ограниченных условиях.

При заражении этим методом вирус считывает первые 6K загружаемого модуля (сразу после EXE-заголовка) и ищет стандартные заголовки C/Pascal-подпрограмм. Эти подпрограммы обычно начинаются с команд:


PUSH BP MOV BP,SP



Если такие команды найдены, то вирус сканирует следующие 54h байта на наличие команд RET и CALL FAR. Если таковая команда найдена, то вирус не заражает файл. Вирус делает это для того, чтобы не испортить код другой подпрограммы или настраиваемый (relocated) адрес.

Затем вирус считывает 54h байта этой подпрограммы, записывает в нее код своего загрузчика, шифрует свое тело и записывает в конец файла, после этого он сохраняет в конце файла код подпрограммы и вторую часть кода своего загрузчика (и то и другое шифруется командой SUB) и в заключение дописывает блок случайных данных:


Перед заражением Зараженный файл ---------------- --------------- +--------------+ +--------------+ |Заголовок Exe | |Заголовок Exe | |--------------| |--------------| |Код EXE-файла | |Код EXE-файла | |--------------| |--------------| |C/Pascal subr |--+ |Код загрузчика| 52h байта, не зашифрованы |--------------| | |--------------| | | | |Код EXE-файла | | | | |(продолжение) | +--------------+ | |--------------| | |Вирус | зашифрован (полиморфик) | |--------------| | |Код загрузчика| часть 2, зашифрована SUB'ом | |--------------| 70h байт +->|Код C/Pascal | первоначальный код C/Pascal subr, |--------------| 52h байта, зашифрованы SUB'ом |Random data | +--------------+



Если код загрузчика получает управление, то он определяет имя файла-носителя (используя PSP), считывает из файла и расшифровывает свое продолжение, а затем передает на него управление. Продолжение загрузчика восстанавливает код C/Pascal-подпрограммы, выделяет блок памяти (conventional или UMB), считывает туда код вируса и передает на него управление.



Заражение архивов



При заражении архивов вирус создает в памяти зараженный COM-файл и записывает его в архив. Такие COM-файлы начинаются с команды JMP на расшифровщик вируса, затем идут случайные данные и зашифрованный код вируса. Имя COM-файлов выбирается случайно, например:

HAIF.COM, UCM.COM, DOO.COM, VLG.COM


(реальные имена, полученные при экспериментах с вирусом)

При дописывании файлов в архив вирус не использует никаких внешних утилит, а модифицирует служебные поля самостоятельно. Вирус также не пакует файл, а записывает его "как есть" методом "stored". Не заражает архивы дважды.



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



При заражении объектных модулей вирус проверяет записи модуля, ищет записи с кодом/данными (LEDATA), сканирует эти записи на наличие C/Pascal подпрограмм (как и при заражении EXE-файлов методом "inserting"), замещает C/Pascal-заголовок командой CALL NEAR и дописывает в LEDATA свой зашифрованный код.

Как и при заражении EXE-файлов методом "inserting", вирус может долгое время находиться "в спячке", прежде чем заразит компьютер.



Обработчик INT 25h



Данная процедура реализует стелс-механизм на уровне INT 25h: при чтении сектора с заголовком зараженного файла вирус подставляет первоначальный заголовок, а при просмотре секторов каталога вирус указывает длины файлов до заражения.

Конечно же, реализован не 100%-ный стелс, и при некоторых условиях вирус становится виден, однако во многих случаях он остается невидимым.



Проявление



При заражении ZIP-файлов вирус проверяет поля заголовков и, если обнаружена запись "stored", и файл создан/модифицирован в 1996 году (или позже), вирус аккуратно проходит все каталоги всех доступных дисков от C: до Z:, стирает все обнаруженные файлы, а затем и каталоги.





ZHT-CV4.1867

Опасный нерезидентный вирус. При запуске ищет COM-файлы и записывается в их конец. Использует команды, которые перекрывают внутренний конвейер процессора, в результате вирус может завесить компьютеры на базе i386/486. Создает файл READ.ME, в который пытается записать (безуспешно) какие-то строки. Вирус содержит строки текста, некоторые из них используются при поиске файлов:


ZHT-CV4 read.me LEVEL # 000C0123456789ABCDEF *.* \*.com RMAT TNTVIRUS FONTS NA PCTOOLS SANG MOD MONO AVAIS NU.HLP SAIF GUL BACKUP TARIQ SKP ALD ISLAM SALEEM MAHBOOB SKPNEW TAIMIA LOST0005 SKP91K AK .LIB PARTIAL.LIB NULE6.OBJ .FNT SCRIPT2.FNT 123.DYN UTIL.SET COPYON.BAT COPYOFF.BAT COPYO







Zhu.1743

Неопасный резидентный частично зашифрованный вирус. Перехватывает INT 21h и записывается в конец запускаемых COM- и EXE-файлов. В зависимости от текущей даты и времени вызывает видео-эффект и выводит текст:

A.Lian V1.0 Made in Zhu Zhou China.




Демонстрации вирусных эффектов:

ZHU.COM



ZhugeLiang, семейство

Неопасные резидентные полиморфик -вирусы. Правят ядро DOS (вставляют туда вызов INT 2Bh), перехватывают INT 21h, 2Bh, 2Fh и записываются в начало запускаемых COM- и EXE-файлов. При заражении шифруют файлы. Проверяют имена файлов и не заражают файлы:

COMMAND, IBM, TB, EMM386, SETVER, MSCDEX, CHKDSK, SCANDISK, XCOPY, BACKUP, MSBACKUP, PKZIP, ARJ, LHA, RAR, TELIX, COMMO

"ZhugeLiang.4784": 10-го июня перехватывает INT 10h, и через некоторое время проигрывает мелодию.

Содержат строки:

"ZhugeLiang.4784":



ZhugeLiang v1.0b Written by Zhuge Jin on May 1. , 1995 . Made in Taiwan. Today is my Birthday 64/05/01 ! Oh! Yeah! [SDFE] v1.0



"ZhugeLiang.5976":


ZhugeLiang v2.0 by Zhuge Jin in Taipei, 1995.




Демонстрации вирусных эффектов:

ZHUGELIA.COM



Zipper.2779

Безобидный резидентный вирус. В COM-файлах - зашифрован. При запуске заражает файлы \COMMAND.COM и \DOS\FORMAT.COM, затем перехватывает INT 21h и записывается в конец COM- и EXE-файлов при обращении к ним. Код вируса содержит ошибки, в результате некоторые файлы при запуске завешивают систему. Вирус содержит строки:


\COMMAND.COM \DOS\FORMAT.COM ZIPPER.ASM >>*>> Use PKUNZIP *.EXE immediately! <<*<<



Содержит также блок данных в формате ZIP. Если выделить этот блок и переименовать его с расширением ZIP, получается ZIP-файл, содержащий упакованный файл ZIPPER.ASM с исходным текстом какого-то вируса.





Zirate.1687

Неопасный резидентный вирус. Перехватывает INT 21h и записывается в конец .COM- и .EXE-файлов при их запуске. В зависимости от текущей даты переворачивает экран, расшифровыает и выводит сообщение и перезагружает компьютер:


* * * VY ZIRATE MY ZIRAME !!! * * * Sorry, ale zbal to ! * Mаs slizkej Hаrd, nemаm ho rаd, zkus to tak brаt Baby * A nynб nekolik pozdravu : FUCK OFF AMIGA ! FUCK OFF ATARI ST ! FUCK OFF O.K.! >> PRESS ANY KEY TO CONTINUE <<



Также содержит строку:

HAPPY




Демонстрации вирусных эффектов:

ZIRATE.COM



Ziuck, семейство

Резидентные неопасные вирусы, перехватывают INT 21h, 28h и записываются в конец COM- и EXE-файлов. "Ziuck.1279" зашифрован. Проявляются каким-то видеоэффектом на EGA адаптере. Содержат строки "comexe" и


"Ziuck.1279" : Ziuck 08 "Ziuck.1372" : Ziuck 03







Zmiana, семейство

Резидентные зашифрованные вирусы. Перехватывают INT 21h и записываются в конец запускаемых файлов.

Zmiana.1016

Поражает только EXE-файлы. Опасен, по 13-м числам портит MBR винчестера.

Zmiana.1224

Поражает COM- и EXE-файлы. Неопасен, в некоторых случаях выводит текст:

Info: zmiana rozmiaru programu !






Zmt, семейство

Резидентные безобидные вирусы, кпируют свои резидентные части в область DOS по адресу 0000:0560, перехватывают INT 21h через CP/M вызов и поражают запускаемые COM-файлы. Вирусы записываются в начало файлов. Содержат текст:

ZMt






Zohra, семейство

Неопасные резидентные полиморфик -вирусы. Перехватывают INT 21h и записываются в конец запускаемых COM- и EXE-файлов. Не заражают файлы, если в их именах присутствует любая из комбинаций символов: TB, AV, SC, IV (TBAV, AVP, NAV, SCAN, ...). Вирусы удаляют себя из памяти при запуске WIN.EXE, а при запуске MEM.EXE "прячут" блок своей TSR-копии.

Используют достаточно необычный способ определения оригинального адреса INT 21h - вместо стандартной трассировки вирусы дизассемблируют код перехватчиков INT 21h вплоть до ядра DOS.

14-го апреля выводят текст:

Zohra will live forever ! Necromancy with her...


Содержат также текст:


[Zohra] virus by Wintermute/29A, dedicated to the best Necromancer of the Forgotten Realms,... I assure you will live forever, my love... ;)





Демонстрации вирусных эффектов:

ZOHRA.COM



Zoid.1759

Резидентный очень опасный вирус. Перехватывает INT 21h и записывается в конец EXE-файлов при их выполнении. Периодически стирает сектора дисков. Содержит строку:

RAPZOID.EXE






Zol, семейство

Неопасные нерезидентные вирусы. При запуске ищут .COM-файлы и записывается в их конец. Содержат строки:




"Zol.316": zol*.com "Zol.799": huj*.com



Иногда "Zol.799" расшифровывает и выводит строку:

Chuj Ci w dupeB






Zombie, семейство



Zombie.PM.4592

Нерезидентный полиморфик -вирус. При запуске ищет .COM-файлы и записывается в их конец. Свой код переводит в текстовый формат: каждый байт кода вируса конвертируется в пару текстовых байтов (от '6' до 'L'). Полученный текст разбивается вирусом на строки, каждая из которых оканчивается комбинацией "конец строки" (LineFeed).

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

как ассемблер: как текст: строка-результат:



PUSH 2F5D h]/ h]/X-?"5!#P^hdPX-!tP_18 POP AX X SUB AX,223F -?" XOR AX,2321 5!# PUSH AX P POP SI ^ PUSH 5064 hdP POP AX X SUB AX,7421 -!t PUSH AX P POP DI _ XOR [BX+DI],DI 18 SUB AX,0A0D ... ...





В заголовок и конец своего текстового блока данных вирус записывает стандартные "обкладки" (строки-идентификаторы) криптографической системы PGP:


-----BEGIN PGP MESSAGE----- Version: 2.6.3i



-----END PGP MESSAGE-----




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

Зараженный файл:



+-----------------+ |JMP Virus |-----+ |- - - - - - - - -| | |Код/данные файла | | | | | |-----------------| | |PGP заголовок | | |- - - - - - - - -| | |Код вируса(текст)|<----+ | | |- - - - - - - - -| |PGP конец текста | +-----------------+





Двоичный код вируса содержит текстовые строки. Большая часть из них - текст песни Scorpion "Wind Of Change", остальные выглядят следующим образом:


z0mbie$$.$$$Z0MBiE.PGPMorph Version 1.00 (c) 1997, 1998 Z0MBiE International Now we can infect Dr.WEB addons... homepage: http://www.chat.ru/~z0mbie e-mail: z0mbie@chat.ru Scorpions is BEST! @SONG: WIND OF CHANGE





Вирус также пытается изменять .TPU-файлы (библиотеки Turbo Pascal - вирус дописывает в них свой код) и базы данных DrWeb, однако при экспериментах с вирусом указанные файлы остались без изменений - видимо, вирус корректно работает только с файлами конкретных версий TPU и DrWeb.





Zombie.VPI

Резидентные вирусы, записываются в конец EXE-файлов при их запуске, открытии и чтении/изменении атрибутов файла. Используют два необычных приема: кодирование при заражении файлов и запись своей TSR-копии в Shadow RAM.

При запуске зараженного файла вирус проверяет порты Shadow RAM (эти порты присутствуют только на Pentium-компьютерах). Если порты доступны, вирус ищет "дыру" подходящего размера в Shadow RAM, открывает ее на запись, копирует туда свой код и закрывает Shadow RAM. Если свободного места в Shadow RAM недостаточно, вирус либо записывает себя вместо одного из стандартных фонтов, либо ищет и записывается вместо кода какого-то драйвера, если фонт или драйвер расположен в Shadow RAM. Затем вирус перехватывает INT 13h и при запуске любого EXE-файла перехватывает INT 21h.

После инсталляции своей TSR-копии в Shadow RAM вирус закрывает ее на запись. При вызовах INT 13h, 21h, если вирусу необходимо произвести изменения в своих данных, он временно разрешает запись в Shadow RAM.

При заражении файлов вирус достаточно забавным способом кодирует свое тело - байты кода вируса не шифруются, как это бывает с обычными шифрованными вирусами, а переводятся в последовательность байт, принимающих всего два значения - 0 и FFh. Каждый байт кода вируса записывается в виде последовательности из восьми байт - нулевые биты байта преобразуются в 0, а 1 - в FFh. В результате, имея длину менее 2K, вирус увеличивает длины EXE-файлов более чем на 15K.

При чтении секторов, содержащих информацию о каталоге, вирус ищет и уничтожает в них ссылки на файлы: ADINF, AIDS, AVP, WEB, DRWEB, *.CPP, *.C, S-ICE, TD, DEBUG, WEB70801, CA.AV?

Вирус также содержит текст:


Z0MBiE`1635 v1.00 (c) 1997 Z0MBiE Tnx to S.S.R. & Lerg ShadowRAM/Virtual Process Infector







Zombie.ZCME.16384

Безобидный нерезидентный полиморфик-вирус. Ищет COM-файлы в текущем каталоге и записывается в их начало. Перед заражением создает в памяти (побайтной записью) строку текста и сразу же стирает ее:

ZCME 0.01 Z0MBiE`s Code Mutation Engine (c) 1997


Отличительной чертой вируса является его полиморфик-механизм: вирус незашифрован, но не содержит постоянных участков кода. Достигается это тем, что при подготовке своего кода к записи в заражаемый файл вирус модифицирует его случайным образом: проходит своим встроенным дизассемблером собственный код и копирует свои ассемблерные инструкции в случайно выбранные адреса в пределах 16K-байтного буфера. Если последовательно идущие инструкции оказываются разнесенными в различные области буфера, то вирус для их связки использует ассемблерную команду JMP. При этом вирус также исправляет адреса условных переходов (Jcc) и команды вызова подпрограмм (CALL). Вирус также случайным образом добавляет в свой код "пустую" команду NOP. В результате 1346 байт кода вируса оказываются случайным образом "размазаны" в 16K-байтном буфере.

Похожие полиморфик-генераторы используются в вирусах "Ply" и "TMC" .





Zombie.747

Очень опасный резидентный вирус. Перехватывает INT 21h и записывается в конец .COM-файлов при их запуске. 10-е поколение вируса стирает сектора диска. Вирус содержит строку:

Zombie - Danish woodoo hackers (14AUG91)