Не шифрует свой код, однако шифрует сектора винчестера так же, как и "настоящий" OneHalf. Выводит текст:
OHHHHH... MADJID Here is very dark. HELP ME... HELP ME... HELP... I am here .They kill the love .I am solitary . Press RETURN for continue
Очень опасные резидентные файлово-загрузочные полиморфик
-вирусы. При запуске заражают MBR винчестера, при загрузке с пораженного диска перехватывают INT 13h, 1Ch, 21h и записываются в COM- и EXE-файлы при обращении к ним. Не заражают файлы: SCAN, CLEAN, FINDVIRU, GUARD, NOD, VSAFE, MSAV, CHKDSK. Код расшифровщика этих вирусов разбросан по всему файлу со случайными смещениями (см. "Bomber"
). При заражении винчестера вирус считывает его MBR и сканирует таблицу разбиения диска (Disk Partition Table). В ней он ищет последний DOS'овский диск - логический диск (FAT-12/FAT-16/BIGDOS) или Extended partition, и когда находит, подсчитывает номер первого и последнего цилиндра найденного диска (или Extended partition). При этом вирус довольно грамотно обрабатывает диски, имеющие более 1024 цилиндров и не вписываются в стандарты INT 13h. Вирус запоминает адреса этих цилиндров и заражает винчестер. Затем при загрузке с зараженного винчестера вирус шифрует два последних цилиндра диска, при следующей загрузке - еще два и т.д., пока не дойдет до первого цилиндра. При этом вирус использут адреса первого и последнего цилиндров диска, которые запомнил при заражении винчестера. Когда количество зашифрованных цилиндров перевалит за половину диска, вирус сообщает (в зависимости от текущей даты и своего "поколения"):
Dis is one half. Press any key to continue...
Таким образом, чем чаще перезагружается зараженный компьютер, тем больше данных оказываются зашифрованными. После загрузки в память вирус расшифровывает/зашифровывает эти сектора "на лету", поэтому пользователь не замечает того, что его данные испорчены. Однако если вылечить MBR, то все данные оказываются потерянными. "OneHalf.3518" не шифрует себя в файлах. Выводит текст:
A20 Error !!! Press any key to continue ...
"OneHalf.3544.b" не заражает файлы: AIDS*.*, ADINF*.*, DRWEB*.*, ASD*.*, MSAV*.*. Выводит сообщение:
Dis is TWO HALF. Fucks any key to Goping...
"OneHalf.3544.c" не шифрует секторов, выводит текст:
Disk is Tpu half. (Bepx, Hu3 u Pe6po)
Вирусы также содержат строки:
"OneHalf.3544.a": Did you leave the room ? "OneHalf.3544.b": User is loh ! "OneHalf.3577": DidYouLeaveTheRoom?
Опасные резидентные файлово-загрузочные вирусы. При запуске зараженного файла записываются в MBR винчестера ("Patras.2346") или в boot-сектор диска C: (остальные вирусы) и возвращают управление программе-носителю. При загрузке с зараженного диска перехватывают INT 8, ждут загрузки DOS, выделяют себе блок DOS-памяти, копируют туда свой код и перехватывают INT 21h. Затем вирусы записываются в конец запускаемых .EXE-файлов. После заражения уничтожают файл CHKLIST.MS. После 60-ти заражений перехватывают INT 10h и проявляются различными эффектами: пищат динамиком компьютера, запускают по экрану "сердечки" (03 ASCII), выводят сообщения:
A lovely heart fell from the sky !!! KARNAVALI OF PATRAS !!! *** PATRAS H/Y ***
Неопасный резидентный файлово-загрузочный вирус. При запуске зараженного файла записывается в boot-cектор диска (A: или C:), с которого была загружена DOS. Затем вирус возвращает кправление программе-носителю. При загрузке с зараженного диска вирус перехватывает INT 8, ждет некоторое время, затем перехватывает INT 28h, ждет первого вызова INT 28h, перехватывает INT 21h и затем записывается в конец .COM-файлов (кроме COMMAND.COM) при их запуске. После 175 загрузок с одного и того же зараженного диска перехватывает также INT 17h и при печати заменяет строку "Andy Warhol" на "Ron English".
Неопасные резидентные вирусы, при запуске зараженного файла поражают MBR винчестера. При загрузке с пораженной MBR перехватывают INT 13h, 21h и записываются в конец EXE-файлов при доступе к ним. Содержат строку "CO4DSCCLVSNEHTTBVIF-FIGIIMRAFEMTBR" и не поражают файлы, если первые два символа имени файла содержатся в этой строке (CO*.*, 4D*.*, SC*.*, ...). Вирусы также содержат строку:
[ MK / TridenT ]
В декабре стартуют игру, во время которой выводят сообщения:
HAPPY VIRUS Time to play a game (Use shift keys) You reached level Play again?
Демонстрации вирусных эффектов:
playgame.com |
"Nutcracker.AB1.Antarex.2620" и "Nutcracker.AB2" портят EXE-файлы длиной более 64K. Вирусы перехватывают INT 13h и если сектор содержит заголовок EXE-файла ('MZ' в начале сектора) и размер EXE-файла больше 64K (вирус проверяет соответствующие поля в заголовке), то вирус шифрует этот сектор, заменяет 'MZ' на 'AB' и сохраняет сектор на диск. В результате первый сектор больших EXE-файлов оказывается испорченным, и такие файлы, скорее всего, завесят систему при запуске на 'чистом' компьютере. Однако при наличии вируса в памяти эти файлы вполне работоспособны - вирус расшифровывает испорченные сектора 'на лету', и файлы запускаются без проблем. Старшие версии "Nutcracker.AB2" шифруют вместо EXE-файлов сектора дисков, содержащие списки файлов в подкаталогах. При лечении системной памяти AVP правит код вируса таким образом, что вирус начинает расшифровывать зашифрованные данные. То есть для восстановления зашифрованных данных необходимо вылечить вирус в памяти при помощи AVP и просканировать все файлы во всех подкаталогах без перезагрузки компьютера.
Безобидные резидентные полиморфик
COM-EXE-MBR-Boot-вирусы. При запуске зараженного файла трассируют и перехватывают INT 13h, 21h и записываются в MBR винчестера. Затем записываются в конец COM- и EXE-файлов при обращениях к ним. Поражают Boot-сектора дискет. При загрузке с пораженного флоппи-диска перехватывают INT 13h и ждут загрузки DOS, затем перехватывают INT 21h и приступают к заражению. Содержат строки:
THE PREDATOR TORPNACSAELCFASVVAPC.VANOCED
Последняя строка содержит части имен файлов (задом наперед), которые не поражаются вирусом: *PROT, SCAN, CLEA*, VSAF, CPAV, NAV, DECO. Также содержат строки:
"Predator.2248": Predator virus #2 (c) 1993 Priest - Phalcon/Skism "Predator.2424": Predator virus #2 (c) 1993 Here comes the Predator!
Очень опасный резидентный файлово-загрузочный компаньон
-вирус. Перехватывает INT 21h и при запуске .EXE-файлов создает компаньон .COM-файлы. При переходе на новый диск записывает в boot-сектор диска A: троянскую программу и сохраняет себя в последних секторах диска. При загрузке с такого диска вирус сканирует сектора диска на EXE-файлы и записывает себя вместо них. Через два месяца после заражения запрещает обращение к принтеру (устанавливает INT 17h на команду IRET). Содержит строку:
Printerceptor
1 апреля с вероятностью 1/8 вирус перехватывает INT 8. Обработчик INT 8 проигрывает мелодию The Beatles "Hey Jude".
Вирус содержит строки текста:
Этим экземпляpом СамПО мастеp Гамбс пpодолжает свою коллекцию. Disk I/O error.
При запуске зараженного файла вирус ищет строку "WIN=" в области Environment и уничтожает файл \SYSTEM\IOSUBSYS\HSFLOP.PDR в каталоге Windows. При заражении памяти проверяет системную дату. 22 августа и 22 сентября стирает винчестер и в зависимости от версии выводит текст:
"Hare.7610": "HDEuthanasia" by Demon Emperor: Hare Krsna, hare, hare... "Hare.7750": "HDEuthanasia-v2" by Demon Emperor: Hare Krsna, hare, hare... "Hare.7786": "HDEuthanasia-v3" by Demon Emperor: Hare Krsna, hare, hare...
При заражении MBR перехватывает INT 16h и проделывает довольно странные манипуляции с клавиатурой: заменяет или самостоятельно записывает в буфер клавиатуры знаки 'Y' и 'N'. Похоже на то, что вирус пытается самостоятельно ответить на запрос BIOS о записи в MBR диска (если такая функция поддерживается BIOS'ом). Довольно странным образом генерирует свой полиморфик-код. При заражении винчестера вирус заполняет самый последний сектор диска случайными данными и никогда больше их не изменяет (см. замечание ниже). Затем при загрузке с зараженной MBR или запуске зараженного файла считывает эти данные из последнего сектора, при повторном заражении компьютера (после лечения) обнаруживает эти данные в последнем секторе и не изменяет их. Эти данные используются вирусом как генератор случайных чисел при запуске своего полиморфик-генератора: при заражении разных файлов или секторов на вход полиморфик-генератора поступают одни и те же псевдослучайные данные, а в результате полиморфик-генератор выдает на выход один и тот же код, и все файлы, зараженные на одном и том же компьютере, содержат один и тот же полиморфик-цикл расшифровки и зашифрованы одними и теми же ключами (то же справедливо и для секторов). Вирус увеличивает длину файла на случайное число (длина вируса плюс длина случайного расшифровщика). Естественно, что на одном и том же компьютере длина файлов увеличивается на одно и то же значение. В результате все файлы/сектора, зараженные на конкретном компьютере, можно определить обычным методом поиска по маске вируса. Зачем все это проделывается - непонятно. Видимо, для того, чтобы ввести в заблуждение разработчиков антивирусных программ и спрятать файл или диск, который послужил причиной заражения компьютера. Замечание: старшие версии вируса при загрузке с зараженного диска с вероятностью 1/16 меняют случайные данные в последнем секторе диска и как результат генерируют другие полиморфик-циклы при заражении файлов и дискет.
prowler.com |
Безобидные резидентные стелс
файлово-загрузочные вирусы. Перехватывают INT 12h, 13h, 21h, 2Fh и записываются в конец COM- и EXE-файлов при обращениях к ним. Записываются в MBR винчестера и boot-сектора дискет. Содержат строки:
HiAnMiT - roy g biv *4U2NV* 04/12/94
Очень опасный резидентный файлово-загрузочный вирус. Перехватывает INT 13h и записывается в загрузочные сектора дискет и MBR винчестера, при этом шифрует первоначальный загрузочный сектор и MBR. Заражает также EXE-файлы: при обращениях к ним записывается в их заголовок. При запуске такие файлы заражают MBR винчестера, выводят сообщение и возвращают управление DOS:
Incorrect DOS Version.
Вирус также содержит текст:
[RamonesMania] by Evil One.
Очень опасные самошифрующиеся файлово-загрузочные вирусы. При запуске зараженного файла записывают себя в MBR винчестера, затем перехватывают INT 13h, 12h. Прерывание INT 13h используется для реализации стелс
механизма при чтении пораженной MBR. Вирусы также записывают в Boot-сектора флоппи-дисков программу, которая при загрузке с такого флоппи стирает FAT винчестера. Прерывание INT 21h используется вирусом для заражения COM- и EXE-файлов при их запуске, вирус записывается в конец файлов. В теле вируса содержится строка "AND.COM", вирус ищет эту строку в имени файла и не поражает такие файлы (COMMAND.COM). В теле вирусов также содержится и другие строки:
"Rasek.1310": RASEK v1.1,from LA CORUеA(SPAIN).Jan93 "Rasek.1489": RaseK v2.1,from LA CORUеA(SPAIN).Mar93 "Rasek.1489.b": пRASEKо v3.0,from La Coruдa(SPAIN).Ap93 "Rasek.1490": RaseK v2.0,from LA CORUеA(SPAIN).Mar93 "Rasek.1492": пRаseKо v3.1,from La Coruдa(SPAIN).Ap93
Безобидные резидентные файлово-загрузочные стелс
-вирусы. Перехватывают INT 13h, 21h. Записываются в конец COM- и EXE-файлов при обращениях к ним, заражают MBR винчестера и загрузочные сектора 1.4Mb дискет. Проверяют имена файлов и не заражают некоторые антивирусы и архиваторы. Имена файлов проверяют по строке «NFEBSTTERJIPHAAR» (по два символа на файл, проверяются последние два байта имени файла). Содержат также строку:
[RES] VVS
«Res.4258» вставляет свой дроппер в пакеты FIDO (PKT-файлы). Для этого вирус создает файл-дроппер LIFE.COM, пакует его UUE-алгоритмом и записывает в конец письма одним блоком, оформленным как стандартный блок UUE-данных, приготовленный утилитой DosNavigator.
Безобидные резидентные файлово-загрузочные вирусы. При запуске зараженного файла записываются в MBR винчестера, при загрузке с пораженного диска перехватывают INT 13h, затем перехватывают INT 21h и записываются в конец запускаемых COM-файлов. Содержат строку:
(c) Metal Militia/Immortal Riot
Опасные резидентные файлово-загрузочные вирусы. Записываются в boot-сектора дискет и создают BAT- и EXE-"червей". Свою TSR копию размещают либо в HMA, либо в видеопамяти. Метод заражения BAT-файлов практически полностью совпадает с вирусом "Winstart"
. Вирусы "Shimmer" создают файл WINSTART.BAT в каталоге C:\WINDOWS и записывают свой код в этот файл. При запуске BAT-файла вирусы создают INSTALL.EXE файл, содержащий инсталлятор вируса, и запускают этот файл. При запуске вирус перехватывает INT 2Fh, 40h и записывается в boot-сектора дискет при обращении к ним. При загрузке с пораженного диска вирусы перехватывают INT 1Ah, ждут загрузки DOS, перехватывают INT 21h и при первом вызове INT 21h создают файл-червь C:\WINDOWS\WINSTART.BAT. Затем вирусы удаляют себя из памяти. Вирусы содержат ошибки и могут завешивать систему. "Shimmer.b" выводит в COM-порт строку "ATM0L0S0=1O1". Вирусы содержат строки:
"Shimmer.a"
:yt @echo.PKX>install.exe @copy/b install.exe+%0.bat>nul @install.exe c:\windows\winstart.bat New Shimmer
"Shimmer.b"
:y~ATM0L0S0=1O1 @ECHO PKX>INSTALL.EXE @COPY/B INSTALL.EXE+%0.BAT>NUL @INSTALL.EXE C:\WINDOWS\WINSTART.BAT
Неопасный резидентный COM-EXE-MBR вирус. При запуске зараженного файла записывается в MBR винчестера. При загрузке с винчестера перехватывает INT 1Ch, ждет загрузки DOS, затем перехватывает INT 21h и записывается в начало COM- и EXE-файлов. Периодически перехватывает INT 8 и пытается проиграть какую-то мелодию.
Демонстрации вирусных эффектов:
smile.co |
smile.com |
Неопасный резидентный файлово-загрузочный стелс-вирус, заражает EXE-файлы, boot-сектора 1.2Mb дискет и MBR винчестера. Перехватывает INT 13h, 21h, 2Fh. При заражении EXE файлов создает компаньон-файлы с расширением имени "COM". При запуске таких COM файлов на незараженной машине записывается в MBR, при этом пищит спикером компьютера, что является характерным проявлением данного вируса. Вирус копирует свой TSR-код в верхние участки памяти (HIMEM), поэтому обнаружить его присутсвие на машине достаточно сложно.
Резидентный неопасный стелс
-полиморфик
-вирус. Поражает COM- и EXE-файлы только на дисках A: и B: при создании файла, MBR винчестера - при запуске зараженного файла. В результате вирус обеспечивает свое присутствие в оперативной памяти компьютера и переносимость на другие компьютеры при минимальном числе пораженных объектов, что несколько затрудняет его обнаружение. Эта идеология имеет и еще одно "достоинство" - при заражении заново создаваемого файла нет необходимости отслеживать критическую ошибку DOS (int 24h).
Вирус записывается в конец файлов, используя при этом полиморфик-алгоритм. При заражении диска располагается в самых последних секторах диска и устанавливает в таблице разбиения диска (Disk Partition Table) новый адрес активного загрузочного сектора: вместо "настоящего" активного boot-сектора таблица указывает на код вируса. Код и расположение MBR и активного boot-сектора остаются без изменений, за исключением трех байт в Disk Partition Table, которые указывают на активный boot-сектор. При обращении к исправленной MBR и последним секторам диска использует "стелс"-механизм. Вирус инфицирует память при загрузке с зараженного диска. Часть своей TSR-копии помещает в таблице векторов (0000:02С0), области данных BIOS (0000:04B0), а основной участок кода - в видеопамяти (BB00:0050). Затем перехватывает INT 13h, 20h, 21h, 27h.
После загрузки операционной системы вирус следит за запуском и завершением программ. Если программа при завершении выгружается из памяти (Exit - INT 20h, INT 21h и AH=0 или 4Ch), то вирус перемещает свой код из видеопамяти в область, занятую выгружаемой программой. Если программа остается резидентной (Keep - INT 27h, INT 21 и AH=31h), то "прикрепляет" свой код к этой программе. Если часть вируса, размещенная в видеопамяти, испорчена, то вирус заново считывает испорченный код с диска (самовосстановление вируса). В зависимости от своих счетчиков при обращении к дискам вирус проявляется "писком морзянки" и выводит "звезды" на экран. Содержит строку:
>STARSHIP_1<
Демонстрации вирусных эффектов:
starship.com |
Вирусы содержат строки:
"Nutcracker.AB1": Dedicated to N.L.A. - my little baby. (c) by Kind Nutcracker(AB1) "Nutcracker.AB1.Antarex.a": ANTAREX C:*.* Run me, pleace! (c) by Nutcracker(AB1) "Nutcracker.AB1.Antarex.b": ANTAREX C:*.* (c) by Kind Nutcracker(AB1) "Nutcracker.AB2.2890": Nutcracker(AB2) "Nutcracker.AB2.3472": Universal Pathologic Device by Nutcracker(AB2) "Nutcracker.AB2.4540": Universal Pathologic Device by Nutcracker(AB2) the Sun is gone but I have a light... "Nutcracker.AB2.5375,5440":
This Universal Pathologic Device dedicated to Любовь Н. I hate the envy, the meanness, the riches, the trea, the bluntness, the ignorance, the lie, the servility, the mistrust and the hatred. Nutcracker(AB2)
"Nutcracker.AB2", старшие версии: Nutcracker(AB2): Welcome to the Hell "Nutcracker.AB2.6996": Nutcracker(AB2): lives forewer! "Nutcracker.AB3": Nutcracker(AB3) "Nutcracker.AB4": Sombre Nutcracker(AB4) "Nutcracker.AB5": Gloomy Nutcracker(AB5) from the city of Brest(BY) with best wishes! Only the Hope dies last!.. "Nutcracker.AB6.a": Dreary Nutcracker(AB6) Lives C:*.* Любовь Н. "Nutcracker.AB6.b": Dreary Nutcracker(AB6) Lives Again C:*.* Любовь Н. "Nutcracker.AB6.c": Dreary Nutcracker(AB6) C:*.* Любовь Н. "Nutcracker.AB6.d": Dreary Nutcracker(AB6) lives forewer ! C:*.* Любовь Н. "Nutcracker.AB7": I'm Nutcracker(AB7)!
Очень опасные вирусы. Записывается в конец .COM- и .EXE-файлов при их выполнении или открытии, MBR винчестера при старте зараженного файла и Boot-сектора дискет при обращении к ним. В файлах зашифрованы. При инсталляции трассируют INT 13h, 21h, 40h и перехватывают INT 21h, причем в своем теле вирус имеет более десятка обработчиков прерывания 21h. Содержат тексты типа:
(C) 1990 Grupo HOLOKAUSTO (Barcelona, Spain) Kampaдa Anti-TELEFONICA: Mejor servicio, Menores tarifas...
Virus Anti - C.T.N.E. (c)1990 Grupo Holokausto. Kampanya Anti-Telefonica. Menos tarifas y mas servicio. Programmed in Barcelona (Spain). 23-8-90. - 666 -
Часть вируса, записываемая в MBR в дальнейшем поражает только сектора дисков и внедряться в файлы не в состоянии. При 190h-й загрузке с зараженного диска вирус стирает информацию на нем и выводит текст:
Campaдa Anti-TELEFONICA (Barcelona)
Файловый (не файлово-загрузочный) вариант вируса "Tequila". Перехватывает только INT 21h и не заражает MBR. Пытается инсталлировать свою TSR-копию в UMB. Проверяет имена файлов и не поражает WIN*.*, CHKDSK*.*, BACK*.*. Содержит строку: This is a beta version of the '-5 Volt' virus. A final and error free one will never follow because I've got enough of viruses. Now a message to the programmers of Turbo Anti Virus: You do a dangerous play with INT 21h in your TSAFE utility. It took me quite a long time to make the virus compatible with TSAFE. Please use clean programming technics in your next version. Today it's a Saturday and a big party with a lot of TEQUILA takes place! Wow!! Greetings to the U.S. Army in Iraq.
Демонстрации вирусных эффектов:
tequila.com |
Резидентные неопасные стелс
-полиморфик
-вирусы. Записываются в конец EXE-файлов при их запуске и в MBR винчестера при запуске зараженного файла. Первоначальный MBR-сектор и свое продолжение сохраняют в последних секторах логического диска C:, уменьшая в Disk Partition Table размер диска. Оперативную память инфицируют только при загрузке с зараженной MBR. Перехватывают INT 13h, 1Ch, 21h. В зависимости от своих внутренних счетчиков выводят на экран разноцветную картинку (Mandelbrot fractal set) и фразу:
Execute: mov ax, FE03 / int 21. Key to go on!
Если выполнить рекомендуемое действие, то на экране появится текст:
Welcome to T.TEQUILA's latest production. Contact T.TEQUILA/P.o.Box 543/6312 St'hausen/Switzerland. Loving thoughts to L.I.N.D.A BEER and TEQUILA forever !
Безобидные резидентные файлово-загрузочные вирусы. При запуске зараженного файла записываются в MBR винчестера. При загрузке с пораженного диска перехватывают INT 13h, ждут запуска первого EXE-файла, перехватывают INT 21h и затем записываются в конец запускаемых COM-файлов. Никак не проявляются.
Неопасные резидентные самошифрующиеся (в файлах) вирусы. При запуске записывают себя в MBR винчестера. При загрузке с зараженного сектора перехватывают INT 8, ждут загрузки DOS и затем перехватывают INT 21h. Записывается в конец файлов при их запуске. "Tiso.846,940" поражают только COM-файлы, "Tiso.1279" записывается в COM- и EXE-файлы. "Tiso.940,1279" - стелс
-вирусы при обращении к зараженной MBR, для реализации этой функции вирусы перехватывают INT 13h. Периодически расшифровывают и выводят текст:
Nech zije Jozef Tiso, prvy slovensky prezident !
Демонстрации вирусных эффектов:
tiso.com |
"Nutcracker.AB1.Antarex.2620" и "Nutcracker.AB2" при заражении SYS-файлов записывают в их конец троянскую программу, которая не распространяет вируса, но уничтожает CMOS и перезагружает компьютер:
"Antarex.2620": по 12-м числам ежемесячно "AB2.2890": если вируса нет в памяти и в зависимости от системного таймера
Остальные "Nutcracker.AB2" заражают SYS-файлы обычным путем: записывают в конец файла целиком свой код (незаширофванный) и модифицируют SYS-заголовок. Зараженные SYS-файлы при их загрузке в память запускают код вируса. Старшие версии "Nutcracker.AB2" шифруют свой код в SYS-файлах тем же образом, что и при заражении COM- и EXE-файлов.
Очень опасные резидентные полиморфик
-стелс
-вирусы. При запуске зараженного файла или при загрузке с зараженной дискеты записываются в MBR винчестера. Остаются в памяти только при загрузке с пораженного винчестера: перехватывают INT 8, 13h, 17h, 1Ch, 20h, 21h, 25h, 26h, 27h и записываются в конец COM- и EXE-файлов при обращении к ним и при окончании их работы. Периодически самостоятельно ищут файлы при помощи команд FindFirst/Next и заражают их. Не заражают файлы: COMMAND.COM, GDI.EXE, DOSX.EXE, WIN386.EXE, KRNL286.EXE, KRNL386.EXE, USER.EXE, WSWAP.EXE, CHKDSK.EXE При обращении к дискетам записываются в их boot-сектор. В зависимости от своих внутренних счетчиков и под отладчиком стирают CMOS и сектора винчестера. Используют оригинальный алгоритм: остаются в памяти зараженной системы при "горячей" или "холодной" перезагрузке с чистой DOS-дискеты. Для этого вирус запоминает значения CMOS, соответствующие параметрам установленных в системе дискет, и стирает эти значения (т.е. выключает флоппи-диски). При обращении к дискам вирус временно восстанавливает CMOS, а затем опять стирает параметры дискет. При загрузке система не находит флоппи-дисков и грузится с винчестера, при этом вирус получает управление, заражает память и затем передает управление boot-сектору с флоппи-диска. В результате вирус остается резидентным в памяти при загрузке с чистой DOS-дискеты.
Очень опасный резидентный файлово-загрузочный стелс-вирус. Заражает boot-сектора дискет, MBR винчестера и записывается поверх EXE-файлов (портит их). При запуске зараженного EXE-файла записывается в MBR винчестера, расшифровывает и выводит текст:
Out of memory.
и возвращает управление DOS. При загрузке с диска перехватывает INT 13h, остается резидентно в памяти и заражает дискеты и EXE-файлы на дискетах.
Под отладчиком и на Pentium-компьютерах выводит текст:
Vecna Live ...
Имеет довольно серьезную ошибку - может вернуть управление оригинальному обработчику INT 13h с испорченным содержимым регистра AX, что может привести к потере данных на диске и даже к его форматированию.
Опасный резидентный зашифрованный файлово-загрузочный вирус. Перехватывает INT 13h, 28h. Заражает .EXE-файлы и boot-сектора дискет. Файлы заражает по методу вируса "DirII".
Через три месяца после заражения компьютера или под отладчиком портит CMOS (устанавливает пароль?) и выводит текст:
[OUTSIDER] Esta В minha vinganЗa contra esta sociedade injusta E eu ainda n|o estou satisfeito Espere e ver|o...
Также содержит строку:
Written by Vecna/SGWW in Brazil 1997
Безобидный резидентный загрузочный вирус. Перехватывает INT 1, 8, 13h и записывается в MBR винчестера и boot-сектора дискет. Содержит текст:
[ORGASMATRON] by Vecna/SGWW in Brazil 1997
Для перехвата INT 13h использует отладочный режим и регистры DR0, DR6, DR7 процессора i386. При помощи этих регистров вирус устанавливает точку останова на системный обработчик INT 13h в BIOS. Когда управление передается на этот обработчик, процессор генерирует прерывание INT 1 и управление передается на код вируса. Вирус проверяет регистры, при необходимости вызывает процедуры заражения и стелс, выключает отладку и возвращает управление обработчику INT 13h в BIOS. Для того, чтобы восстановить точку останова и перехват INT 1 вирус использует вызовы INT 8 (таймер).
Неопасный резидентный файлово-загрузочный стелс-вирус. Перехватывает INT 13, 21h, 76h и записывается в конец COM-файлов, в MBR винчестера и boot-сектора дискет при обращении к ним. Выводит символ 'п' при каждом вызове INT 21h. Прерывания 13h, 76h используются в стелс-алгоритме. Содержит строки:
[MegaStealth] by qark/VLAD
Безобидный стелс
-вирус. Заражает EXE-файлы и MBR винчестера. При запуска зараженного EXE-файла записывает себя в MBR и перезагружает компьютер. При загрузке с зараженного диска уменьшает размер свободной памяти (слово по адресу 0000:0413), перехватывает INT 13h и затем записывается в заголовки EXE-файлов при обращениях к ним. Содержит строку:
NovaCane by Yosha/DC
При запуске зараженного файла вирус расшифровывает себя, заражает MBR, трассирует и перехватывает INT 21h и возвращает управление программе-носителю. Под Win95 он перехватывает также INT 13h. Затем вирус записывается в файлы при их запуске, закрытии или при выходе в DOS (AH=0,31h,4Ch). При открытии зараженных EXE-файлов лечит их. Не заражает файлы:
TB*.* F-*.* IV*.* CH*.* COMMAND*.*
Не заражает также файлы, если в их имени есть буква 'V'. При загрузке с зараженной дискеты вирус записывается в MBR и возвращает управление первоначальному boot-коду, при этом вирус не оставляет в памяти своей резидентной копии. При заражении MBR вирус трассирует INT 13h или напрямую работает с портами контроллера, затем записывает свое продолжение (15 секторов) в трек, находящийся за пределами объявленного размера диска (LandZone?). Затем затирает Disk Partition Table (в результате этого команда FDISK/MBR может привести к полной потере данных на диске). При загрузке с зараженного MBR-сектора вирус восстанавливает Partition Table для того, чтобы нормально загрузилась DOS (в этот момент стелс на уровне INT 13h еще не работает), затем уменьшает размер памяти (слово по адресу 0000:0413), копирует свой код в "отрезанный" участок памяти, перехватывает INT 1Ch и передает управление первоначальному MBR-сектору. Перехватив INT 1Ch, вирус ждет загрузки DOS, затем восстанавливает размер системной памяти и перехватывает INT 13h, 21h, 28h. При первом вызове INT 28h он снова портит Disk Partition Table (зачем все это проделывается - непонятно, возможно, чтобы "одурачить" антивирусное hardware и software, если оно, конечно же, установлено). При вызовах INT 13h вирус перехватывает обращение к флоппи-дискам и заражает их, для своего основного кода вирус форматирует дополнительный трек. При обращениях к уже зараженным дискам выполняет стелс-программу.
При обращениях к файлам функциями INT 21h вирус проверяет местоположение файлов. Если файлы находятся или создаются на дискете (A:, B:), то вирус поражает их. Не заражаются файлы AIDS*.EXE и DRWE*.EXE. Вирус скрывает изменение размера для инфицированных файлов как на дискетах, так и на жестком диске, если файлы с дискет переносятсы на жестуий диск (стелс).
Некоторые из вирусов семейства ("Nutcracker.AB1,Antarex,AB2") используют достаточно редкий способ заражения файлов: они считывают блок данных из середины файла, шифруют его и записывают в конец файла. Некоторые вирусы упаковывают этот блок данных перед тем, как зашифровать его. Затем вирус шифрует себя используя полиморфик-алгоритм, записывает себя в середину файла, а процедуру расшифровки - в конец файла. Процедура расшифровки может содержать до 23 циклов, которые последовательно расшифровывают друг друга. "Nutcracker.AB1" использует только один цикл.
Файл перед Зараженный заражением файл +----------+ +----------+ | | |jmp |---+ | | | | | |----------| |----------| | | |----+ |virus | | зашифрованное тело вируса |----------| | |----------| | | | | | | | | | | | | | | | | | | | +----------+ | |----------| | +-->|host code | | блок данных из середины файла |----------|<-+| |last loop | || циклы расшифровки |----------| || |.......... --+| |----------|<-+| |2nd loop | || |----------|<--+ |1st loop | | +----------+--+
Очень опасные резидентные файлово-загрузочные вирусы. "ZhengZhou.3576,3584.b" зашифрованы. При запуске зараженного файла вирусы записываются в MBR винчестера, затем перехватывает INT 13h, 21h и записывается в конец запускаемых COM- и EXE-файлов. Некоторые из вирусов заражают файлы также при вызовах DOS-функций FindFirst/Next FCB (команда DIR). "ZhengZhou.3584.b" не заражает файлы SCAN.EXE и CLEAN.EXE, уничтожает файл WMSET.COM. В зависимости от своего "поколения" вирусы стирают сектора винчестера. Под отладчиком "ZhengZhou.3584.a" пытается (безуспешно) форматировать винчестер, при этом выводит текст:
Do not turn OFF the computer when WOLF is working ! Insert DOS diskette in drive A: Strike any key when ready ...
Вирусы также содержат строки:
"ZhengZhou.3584.a":
Zheng Zhou, China. 1993 Thank for your helping, Good-bye !
"ZhengZhou.3584.b":
wolf
Резидентный полиморфный
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".
Многоплатформенный вирус. Заражает как исполняемые файлы Windows32 (PE EXE), так и документы MS Word. Как и большинсво многоплатформенных вирусов, данный вирус состоит из нескольких частей, каждая из которых работает в своей среде: в Windows32 как EXE-файл или документе MS Word как макро-вирус. Соответственно, вирус принимает два состояния и может быть обнаружен как PE EXE-вирус в зараженных EXE-файлах Windows и как макро-программа в зараженных документах Word. При активации вируса в EXE-файлах и в документах управление получает соответствующая часть вируса, которая не только заражает файлы текущего "состояния" вируса (файлы Windows или документы Word), но и переносит вирус в его второе состояние: из EXE-файла в Word, и из Word-документа в EXE-файлы Windows.
Вирус не содержит никаких деструктивных функций и никак не проявляет своего присутствия в системе. Зараженные EXE-файлы содержит строки:
(c) Vecna Parecia inofensiva mas te dominou...
Мультиплатформанный вирус, заражающий документы Word и выполняемые файлы Windows. Существует в трех видах: в зараженных документах Word, как отдельный PE EXE-файл Window, как короткая "стартовая" процедура в файле EXPLORER.EXE.
В EXE-файлах Windows вирус представляет собой вполне "нормальную" Win32-программу, однако по причине ошибок вирус неспособен размножаться под Win98 и WinNT, но только под Win95. Под WinNT вирус не размножается по той причине, что его макро-часть использует два Windows-вызова "Callback" с номерами, которые не поддерживаются WinNT. Под стандартной Win98 вирус "не живет" по той причине, что EXPLORER.EXE этой версии Windows имеет несколько "необычную" ссылку на таблицу Импортов, которую в результате вирус не может обработать при заражении этого файла.
При открытии зараженного Word-документа управление получает вирусный макрос, который записывает в каталог Windows два файла с копиями вируса: зараженный документ и код вируса в виде PE EXE-файла (HEATHEN.VDO и HEATHEN.VDL). Затем вирус модифицирует файл EXPLORER.EXE таким образом, что при каждом старте (т.е. при загрузке Windows) он считывает с диска и активизирует вирусный PE-файл. PE-компонента вируса затем остается в памяти Windows вплоть до выключения компьютера, ищет Word-документы на всех дисках от C: до Z: и переносит в код вируса из зараженного документа, который был создан вирусом в каталоге Windows.
На диске вирус может быть обнаружен только в зараженных документах Word и в трех файлах в каталоге Window - в документе HEATHEN.VDO, в PE-файле HEATHEN.VDL и в EXPLORER.EXE. Вирус не заражает никаких EXE-Файлов Windows кроме EXPLORER.EXE. Вирус также не заражает документы Word способом, используемым большинством макро-вирусов - копированием макросов из зараженного документа в заражаемый при его открытии/закрытии. Вирус попадает в документы только из PE-компоненты вируса, когда она активна в памяти системы.
Вирус имеет достаточно опасное проявление: через полгода после заражения Windows он уничтожает файлы ситсемного реестра: SYSTEM.DAT, USER.DAT, SYSTEM.DA0, USER.DA0.
Вирус содержит зашифрованную строку-копирайт:
WG07 "Heathen" Copyright (C) 1995-1999 by WoodGoblin
При загрузке Windows с зараженным VxD вирус отключает регистрацию событий в файле BOOTLOG.TXT, определяет местоположение каталога Windows, удаляет файл WINDOWS\SYSTEM\IOSUBSYS\HSFLOP.PDR, считывает свой собственный код с диска и упаковывает его (упакованный код VxD затем используется при заражении файлов и дискет).
Затем вирус выделяет себе необходимое количество памяти и вызывает полиморфик-процедуру. Эта процедура вызывается подряд три раза для генерации трех вариантов полиморфик-кода: в загрузочном секторе дисиет, в COM-файлах и в PE-файлах. Полученный полиморфик-код затем запоминается вирусом в выделенных блоках памяти и без изменений используется при заражении всех секторов и файлов. В результате каждый тип заражаемых объектов в течении одного сеанса работы вплоть до перезагрузки записывается один и тот же полиморфик-цикл, т.е. вирус является «медленно-полиморфичным».
Следует отметить, что процедура инсталляции вируса в память Windows содержит ошибку и корректно работает не во всех случаях.
При инсталляции в систему вирус переносит в каталог Windows свой код в виде двух файлов (Word-документа и PE-файла) и записывает свой "стартер" в EXPLORER.EXE. Для выполнения этих операций вирус вначале определяет адреса необходимых ему функций KERNEL32.DLL и OLE32.DLL - для доступа к дисковым файлам (KERNEL32) и для работы с данными в документах Word (OLE32).
Первым делом вирус создает в каталоге Windows зараженный документ HEATHEN.VDO (свою Word-компоненту). Для этого вирус копирует документ-носитель (который был открыт Word-ом и откуда стартовал вирус) в каталог Windows под именем HTMP.DOC (затем этот файл будет уничтожен), открывает этот файл как OLE2-объект (при помощи функций OLE32.DLL), создает новый OLE2-документ HEATHEN.VDO и переносит в него макросы из файла HTMP.DOC. При этом вирус также использует функции OLE32: открывает "поток данных" WordDocument в файле HTMP.DOC, считывает из него необходимые данные и таблицы макросов, создает поток WordDocument в файле HEATHEN.VDO, записывает в него эти таблицы и т.д.
В результате в каталоге Windows создается документ HEATHEN.VDO, который ничего кроме вирусного макроса не содержит, и процедура инсталляции вируса переходит к созданию PE-компоненты вируса в файле HEATHEN.VDL. Для этого вирус всего-лишь создает этот файл и записывает в него свою текущую копию (которая была создана макросом вируса при старте из Word-документа).
Затем вирус переходит к заражению файла EXPLORER.EXE. Вирус не записывает в него свою копию целиком, а только "патчит" его 32-байтной программой, которая при старте Windows-функцией LoadLibraryA загружает и выполняет PE-часть вируса из файла HEATHEN.VDL.
В этой части своего кода вирус использует три нертивиальных приема. Первый из них заключается в том, что вирус записывает свой 32-байтный стартер поверх начала секции настроек файла (Fixup). В обычной ситуации при запуске EXPLORER.EXE Windows не обращает никакого внимания на таблицу настроек, и зараженный файл работает без каких-либо проблем. Как побочный эффект такого метода заражения - длина EXPLORER-а при этом не увеличивается.
Второй интересный прием заключается в том, что вирус функцией LoadLibraryA вместо DLL-библиотеки загружает "нормальное" PE-приложение (HEATHEN.VDL является обычным приложением, а не DLL-файлом). Документация от Микрософт при этом не рекомендует использовать LoadLibrary для загрузки приложений, однако сама система Windows выполняет эту нерекомендованную операцию дез проблем.
Третий прием позволяет вирусу модифицировать работающий EXPLORER.EXE, который в момент заражения может быть открыт только на чтение. Для этого вирус копирует файл с именем HEATHEN.VEX, заражает его и записывает в файл WININIT.INI команду "апгрейда" первоначальной копии EXPLORER-а на зараженную при следующей перезагрузке Windows:
[rename] C:\WIN95\Explorer.exe=C:\WIN95\Heathen.vex
На этом инсталляция вируса в систему заканчиваается.
Зараженные документы содержат авто-макрос AutoClose, который срабатывает при закрытии документов и вызывает процедуры вируса. Первым делом вирус проверяет свое наличие в системе: проверяет атрибуты файла C:\FUCK.YOU. «Резидентная» VxD-часть вируса обрабатывает этот вызов соответствующим образом, и вирусный макрос возвращает управление системе.
Если же система не заражена, вирус создает из своих строк-констант образ PE-файла, записывает его на диск со случайно выбранным именем и расширением .WG5 и затем запускает его на выполнение.
PE-дроппер вируса выполняется как приложение Windows и, соответственно, имеет доступ ко всем необходимым функциям Windows. Он ищет установленные в системе VxD-драйвера и заражает их. При поиске вирус считывает имена VxD-драйверов из системного реестра LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\ и заражает те из них, которые обозначены как StaticVxD. Затем вирус обращается к файлу SYSTEM.INI, считывает секцию [386Enh] и заражает драйвера, указанные в строках «Device=», «Mouse=», «Display=».
При заражении вирус достаточно аккуратно разбирает внутренний формат VxD-файлов (формат LE — Linear Executable), ищет «дырку» между секциями файла (между «объектами» в терминах формата LE) и записывается в нее, если таковая обнаружена. В результате при заражении размер файла не увеличивается. Вирус затем модифицирует необходимые поля заголовка VxD-файла: увеличивает размер пораженной секции и корректирует таблицу настроек таким образом, что операционная система при загрузке зараженных VxD-драйверов передает управление на код вируса.
Для того, чтобы создать и запустить зараженный PE EXE-файл вирус использует также стандартный для макро-вирусов прием. Он создает на диске файл C:\COCAINE.SRC и записывает в него шестнадцатеричный дамп зараженного PE EXE-файла. Затем вирус создает DOS BAT-файл с командами, которые при помощи DOS-утилиты DEBUG конвертируют код PE EXE из текстового вида обратно в бинарный вид и запускают его на выполнение.
Таким образом вирус "выбрасывает" свою PE EXE-копию из шаблона MS Word.
При заражении VxD-файлов вирус записывает в них очень небольшую часть своего кода - около 100 байт и полное имя PE-дроппера. Когда эта процедура получает управление, она выделяет необходимый блок памяти, по имени PE-дроппера открывает его файл, считывает полностью код вируса и передает ему управление. Вирус затем перехватывает IFS API (команды обращения к файлам) и остается в системе как VxD-драйвер.
Вирусный обработчик IFS API перехватывает несколько функций: открытие, закрытие и поиск файлов, чтение и установку их атрибутов. При открытии .DOC-файлов вирус запоминает их имена и заражает файлы при их закрытии. При этом вирус не поражает файлы на локальных дисках, а только на сетевых дисках и дискетах.
При заражении документов вирус разбирает их внутренний формат, создает макросы и записывает в них свой макро-код. Вирус также содержит в себе код вируса «Word.CAP» и при заражении документов также записывает его в .DOC-файлы (зачем — непонятно).
В зависимости от системной даты вирус портит .WAD-файлы при их открытии.
Перехват функции взятия/установки атрибутов файла используется вирусом для детектирования своей копии в памяти компьютера. При этом вирус в качестве опознавательного вызова использует чтение атрибутов файла FUCK.YOU (такой файл при этом может и не присутствовать на диске).
Перехват функции поиска файлов используется вирусом для своих стелс-процедур: вирус «не показывает» свой PE-дроппер и «уменьшает» длины зараженных .DOC-файлов.
Перед заражением PE EXE-файла вирус проверяет несколько условий. 1: длина файла не кратна 101 (при заражении вирус устанавливает длину файла именно в это значение и защищается таким образом от повторного заражения файлов). 2: при заражении файлов в текущем каталоге и в Windows имена файлов не должны содержать символа 'V' или цифр. Таким образом вирус не заражает наиболее популярные антивирусные программы.
При заражении вирус записывает свой код в конец последней секции файла предварительно увеличив ее размер. Затем вирус необходимым образом модифицирует заголовок файла и заголовок последней секции файла.
Если первая секция файла имеет достаточный размер (более 2304 байт), то вирус записывает в нее восемь блоков полиморфик-кода, которые последовательно передают управление на основной цикл расшифровки:
+------------+ | | |PE Header | ---------------+ |------------| | | +-----+<-+| | | |Code2| || | | +-----+-+|| Стартовый адрес| |+-----+ |||<---------------+ ||Code1| ||| |+-----+----+| | | | |+-----+<--+ | ||Code3| | |+-----+----+| | V| | . . . | | +-----+| |+----|Code8|| || +-----+| |V | |------------| |Virus code | | | +------------+
В этом случае вирус не модифицирует стартовый адрес программы, однако перед возвратом ей управления вынужден восстанавливать исходный код секции файла - все восемь блоков восстанавливаются в исходное состояние.
Если первая секция файла короткая, стартовый адрес устанавливается непосредственно на расшифровщик вируса в конец файла.
Вирус также сканирует и модифицирует таблицу импортов для того, чтобы при старте файла получить функции GetProcAddress, GetModuleHandle, CreateProcessA, WinExec и MAPISendMail, необходимые ему для перехвата событий в своей резидентной копии.
Anarchy.6093
Cocaine
Esperanto.4733
Fabi
Heathen
Navrhar
Navrhar
Pyros
Win95.Fono, aka Inca
Wogob
"Многоплатформенный" вирус - заражает документы MS Word и VxD-драйвера Windows. Заражение происходит поэтапно: вирус из зараженного документа переносит себя в PE EXE-файл, затем из PE-файла в VxD, и только затем - опять в документы. При открытии зараженного документа вирус создает на диске свой PE-дроппер и запускает его, PE-дроппер ищет и заражает VxD-файлы в каталоге Windows, при перезапуске Windows вирус из зараженного драйвера проникает в ядро Windows, перехватывает системные вызовы и заражает документы при их открытии:
+----------+ +---------+ +---------+ +---------+ |Зараженный| --> |PE EXE | --> |+---------+ --> |+---------+ --> |документ | |дроппер | ||VxD | ||+---------+ --> |Word | | | ||драйвер | |||Документы| --> | | | | || | |||Word | +----------+ +---------+ +| | +|| | +---------+ +| | +---------+
При заражении объектов различного формата их длина увеличивается на различные значения: документы - на 17245 байт, драйвера VxD - на 12288 байт, длина файла RUNME.EXE равна 16208 байт. В документах Word и в VxD-драйверах вирус использует достаточно "красивый" способ хранения своего кода - вирус записывает в заражаемый объект лишь небольшую часть своего кода (загрузчик), а основной код дописывает в конец файла как совершенно независимый блок данных (типа оверлеев в DOS EXE-файлах). Этот блок данных никак не связан с основным кодом/данными зараженного файла - ни Word в зараженных документах, ни Windows при загрузке VxD не обращают на него никакого внимания и не грузят его в память. Загрузчик вируса при этом является "легальной" компонентой объекта - это либо макрос и документах Word, либо 32-битная подпрограмма в VxD-драйверах. Этот загрузчик при запуске считывает основной код вируса из файла-носителя и запускает его.
Зараженный VxD: Зараженный документ: +--------------+ +--------------+ |Первоначальный| |Первоначальные| |код VxD | |данные | |--------------| |документа | |Загрузчик | <- 32-битная |--------------| |вируса | программа |Загрузчик | |--------------| |вируса | <- макрос |продолжение | +--------------+ <- конец документа |VxD (код и | |"оверлей" | <- основной код |данные) | | | вируса +--------------+ <- конец кода VxD +--------------+ <- конец файла |"оверлей" | <- основной код | | вируса +--------------+ <- конец файла
Наиболее "популярный" способ заражения вирусом на сегодняшний день - это не обмен зараженных программ, а получение зараженного документа. Поэтому с большой вероятностью вирус появится на компьютере в виде Word-документа с кодов вируса внутри. При заражении документов вирус записывает в них свой загрузчик в виде макроса с именем AutoOpen. Этот макрос является авто-запускаемым, и, соответственно, при открытии документа получает управление на себя. Код вируса в макросе AutoOpen создает файл C:\RUNME.EXE, считывает свой "оверлей" из конца документа, записывает его в RUNME.EXE и запускает его на выполнение.
При запуске PE-компоненты вируса он остается в памяти Windows как скрытое приложение, которое перебирает все диски от C: до Z: и запоминает их имена. Затем вирус перебирает все обнаруженные диски и создает их дерево подкаталогов. Затем вирус проходит дерево подкаталогов, ищет в них .DOC- и .DOT-файлы Word и переносит в них свой макро-код из файла HEATHEN.VDO (при этом также используются функции библиотеки OLE32).
Если при этом происходит прекращение процесса (завершение работы Windows), то вирус сохраняет список еще незараженных каталогов в потоке данных ScanData в файле HEATHEN.VDO. При следующем старте вирус продолжит поиск файлов с того каталога, на котором его прервали в предыдущий раз.
Эта особенность поведения вируса позволяет ему заразить все Word-документы на диске и на доступных дисках сети вне зависимости от загрузки компьютера (при этом следует учесть, что процесс вируса имеет достаточно низкий приоритет и практически не влияет на работу других программ). Если вирус не успел проверить все каталоги, он продолжит свою работу при последующих запусках Windows.
Еще одна особенность вируса заключается в том, что если текущая дата - 14 мая, то вирус заражает только документы, имена которых начинаются на символ "_". Похоже, что автор вируса в этот день проводит окончательное тестирование вируса и таким образом предохранял свою систему от полного заражения.
После того, как заражение EXE-Файлов и MS Word завершено, вирус перехватывает несколько функций Windows и остается резидентно в памяти зараженного приложения. Вирус перехватывает две файловые функции: WinExec и CreateProcessA, если они импортируются зараженной программой. Эти функции получают управление при запуске файлов, вирус получает полное имя файла, выделяет из него имя каталога запуска, ищет и заражает в нем все .EXE- и .SCR-файлы.
Вирус жизнеспособен только в среде Windows95 - по причине заражения VxD вирус неспособен размножаться на NT, а по причине "промежуточного" PE-дроппера вирус неспособен размножаться под Windows 3.xx. Под Windows95 вирус не вызывает практически никаких побочных эффектов, за исключением описанных выше проблем с Word. Вирус содержит строки текста, оставшиеся, видимо, от отладочной версии вируса:
can not find DDB fixupp can not infect this file not valid vxd file successfuly infected infecting file
Прочие строки используются вирусом при заражении VxD-драйверов как имена Windows-процедур:
KERNEL32.dll CreateFileA ExitProcess GetFileSize GetFileTime GetProcessHeap GetVersion GetWindowsDirectoryA HeapAlloc ReadFile SetFilePointer SetFileTime WriteFile lstrcatA lstrcpyA CloseHandle
Следующие строки являются комментариями автора вируса на английском и "хакерском" языках:
HZDS virus (the world 1st direct VxD infector and the 2nd Word 6/7 infector) (c) Navrhar (DESIGNeR in english), Slovakia, 21-oct-97 Diz virus haz been written in Banska Bystrica city, Slovakia.
WфlЫ0mф ч0 чhф HZD$ vнйцs gйффчн0gZ рйфр ! GйффчZ: Vyv0jрй, ю0ыфй, ярsчy Ьрmфй & Ugly Ьцsфй, MGЬ, янghчmрйф 00kфй. $pфЫнрl GйффчZ: Тцчh0й 0Я Т0рйЫhy.6э93 (н wр0чфы ч0 сф 1sч, сцч чhф h000й сфl00gs ч0 y0ц - ц0Я0йчц0рчфly) Mр0y ЯцЫks g0фs ч0 ч0: HZD$, Vlры0 M.(DнЫчрч0й) $p00s0йфы сy *-Z1яю (чhф сфsч VX-Сн0ф фvфй)
Перевод второго блока выглядит примерно так:
Welcome to the HZDS virus greetings area ! Greetz: Vyvojar, Ender, Nasty Lamer & Ugly Luser, MGL, Nightmare Joker, Special Greets: Author of Anarchy.6093 (i wanted to be 1st, but the honor belongs to you - unfortunately) Many fucks goes to to: HZDS, V1ado M.(Dictator) Sponsored by *-Zine (the best VX-zine ever)
При инициализации PE-процесса вируса он проверяет дату создания каталога "WordDocument" в файле HEATHEN.VDO (т.е. дату заражения системы) и сравнивает ее с текущей датой. Если уже прошло полгода (183 дня) вирус записывает в файл WININIT.INI команды уничтожения реестра:
[rename] nul=<Windows dir>\System.dat nul=<Windows dir>\User.dat nul=<Windows dir>\System.da0 nul=<Windows dir>\User.da0
Безобидный нерезидентный вирус. Ищет .COM- и .EXE-файлы в текущем каталоге, проверяет их внутренний формат и заражает DOS COM- и EXE- файлы, и также Windows PE-файлы (выполняемые файлы Windows). При заражении записывается в конец файлов. По причине неточности процедуры заражения PE EXE-файлов не работает под WinNT.
Код вируса состоит из двух независимых частей. Первая часть вируса фвляется 16-битной процедурой, которая получает управление при запуске зараженных DOS-файлов, ищет и заражает указанные выше файлы. Вторая часть вируса является 32-битной процедурой, которая активизируется при запуске зараженных PE-файлов. Она тем же образом ищет и заражает файлы.
Вирус никак не проявляется. Содержит строки:
[Pyros] [Ruiner /CIH]
Резидентная копия вируса также запускает нитку (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".
В зараженных документах Word вирус присутствует в виде одного макроса AutoOpen и срабатывает при открытии документов. Этот макрос содержит блок данных, которые являются PE-частью вируса, преобразованной в текстовые строки при помощи UUE-образного алгоритма. При помощи стандартных команд VBA (Visual Basic for Applications) вирус получает доступ к системным функциям Windows, выделяет блок системной памяти, куда записывает свой PE-образ (преобразуя его из текстовых строк обратно в PE-вид) и вызывает его на выполнение.
В этот момент начинает работать процедура инсталляции вируса в систему. После того, как она отработает, вирус освобождает память и макрос вируса заканчивает свою работу.
Вирусный макрос помимо вышесказанного также выключает встроенную в Word защиту от макро-вирусов (Virus Warning). Он также пытается оппределить глобальную системную переменную (mutex) для блокирования своих повторных запусков, однако эта часть кода вируса не работает по причине ошибки, и процедура инсталляции вируса отрабатывает каждый раз при открытии зараженных документов.
Опасный резидентный файлово-загрузочный полиморфик
-вирус. Заражает объекты различных типов, однако основной целью вируса является Windows95: основной код вируса остается резидентно как VxD-драйвер Windows95, перехватывает обращения к файлам и при открытии PE-файлов Windows записывается в их конец. Вирус также перехватывает цепочку INT 13h в защищенном режиме и заражает загрузочные сектора 1.4Мб дискет. Вирус также записывает свои COM-дропперы в архивы ZIP, LHA, ARJ и RAR; создает на диске VxD-дроппер и COM-троянца; создает mIRC-червя, при помощи которого пытается переслать свой дроппер по каналам IRC.
Вирус использует полиморфик-приемы при внедрении в практически все типы объектов: при заражении PE-файлов, boot-секторов и при создании COM-дропперов.
Вирус содержит строку-копирайт:
El Inca virus
Свое название, однако, вирус получил по имени своего VxD-дроппера FONO98.VXD (см. ниже).
«Многоплатформенный» вирус — заражает документы MS Word и VxD-драйвера Windows. Заражение происходит поэтапно: вирус из зараженного документа переносит себя в PE EXE-файл (Portable Executable), затем из PE-файла в VxD, и только затем — опять в документы. При открытии зараженного документа вирус создает на диске свой PE-дроппер и запускает его, PE-дроппер ищет и заражает VxD-файлы, при перезапуске Windows вирус из зараженного драйвера проникает в ядро Windows, перехватывает системные вызовы и заражает документы при их открытии.
Таким образом, вирус при своем распространении проходит три этапа: Word-документ -> PE-дроппер -> VxD-драйвер -> Word-документ. Подобный алгоритм размножения используется также вирусом Navrhar.
Вирус содержит строку-копирайт:
WG05 Copyright(C) 1995-1998 by WoodGoblin. With thanks to Jacky Qwerty.
Все то же самое, что и в предыдущих случаях: вирус инсталлирует VxD-дроппер в каталог Windows. При этом загрузчик вируса считывает и выполняет код boot-дроппера, который затем перехватывает INT 1Ch (таймер), ждет загрузки DOS, перехватывает INT 21h и при запуске первой же программы создает на диске VxD-дроппер и регистрирует его в SYSTEM.INI. Единственное различие состоит в том, что при загрузке с дискеты вирус в состоянии поразить Windows только в том случае, если она расположена в каталоге C:\WINDOWS (зараженные COM- и PE-файлы инсталлируют вирус вне зависимости от расположения каталога Windows).
Код вируса в его загрузочном исполнении содержит ошибку, в результате которой вирус неспособен размножаться с дискет при стандартном окружении.
При запуске COM-дроппера полиморфик-код расшифровывает основной код вируса, который затем определяет каталог Windows по строке окружения «windir=», создает в подкаталоге SYSTEM VxD-дроппер \SYSTEM\FONO98.VXD (предварительно распаковав его) и регистрирует его в файле SYSTEM.INI инструкцией «device=fono98.vxd» в секции [386Enh].
Код вируса в зараженных PE-файлах выполняет в точности те же операции, что и в COM-дроппере - создает в системном каталоге Windows VxD-дроппер и регистрирует его в файле SYSTEM.INI, - предварительно определив адреса необходимых функций Windows API: GetProcAddress, GetModuleHandleA, CreateFileA, WriteFile, CloseHandle, WinExec, DeleteFileA, Sleep. Для этого вирус сканирует таблицу экспортов KERNEL32.DLL.
При запуске файла управление получает полиморфный расшифровщик вируса, который расшифровывает код вируса при помощи нескольких циклов расшифровки (вирус в 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-файлы, затем перехватывает некоторые системные функции доступа к файлам и электронной почте (см. ниже).
При инсталляции в системную память Windows вирусный VxD-драйвер перехватывает вызовы IFS (Installable File System) API и цепочку V86 INT 13h. В результате вирус перехватывает как файловые, так и секторные события.
IFS-перехватчик вируса обрабатывает только вызовы открытия файлов. При этом вирус определяет имя файла и в зависимости от его типа вызывает различные процедуры заражения: выполняемых файлов PE EXE и SCR (скрин-сейверы) и архивов LHA, LZH, PAK, ZIP, ARJ, RAR. Особое внимание вирус уделяет файлу MIRC32.EXE: при обращениях к нему вирус вызывает свою процедуру размножения через канал IRC.
При заражении PE-файлов вирус проверяет их внутренний формат, модифицирует заголовок файла, создает в конце файла новую секцию со случайным именем и записывает в нее свой код.
При открытии файла MIRC32.EXE вирус создает в текущем каталоге троянский файл REVENGE.COM. Этот файл при запуске устанавливает случайный пароль на BIOS. Этот прием работает только на BIOS-ах AWARD и AMI, троянец портит CMOS на других типах BIOS. Затем троянец завешивает компьютер.
Затем (после создания файла-троянца) вирус открывает файл MIRC.INI и записывает в его конец команду, снимающую защиту:
[fileserver] Warning=Off
Вирус затем создает файлы SCRIPT.OLD, SCRIPT.INI и INCA.EXE. Файл INCA.EXE содержит дроппер вируса, скрипт файла SCRIPT.INI пересылает этот дроппер в канал IRC, файл SCRIPT.OLD остается пустым и никак не используется вирусом.
При обращениях к архивам вирус сомостоятельно разбирает их форматы и добавляет к их содержимому свой дроппер. Этот дроппер имеет внутренний формат COM, случайное имя из четырех букв и случайно выбранное расширение — COM или EXE.
Зараженные EXE-файлы и COM-дропперы зашифрованы полиморфик-кодом и имеют схожие структуры: процедуру инсталляции в каталог Windows и код VxD-дроппера. Процедура инсталляции определяет местоположение каталога Windows, записывает туда VxD-дроппер под именем FONO98.VXD и регистрирует его в файле SYSTEM.INI. Следует отметить, что VxD-код в PE- и COM-файлах упакован при помощи достаточно примитивной процедуры компрессии данных.
Перехватчик INT 13h заражает дискеты объема 1.4Mb. При заражении вирус записывается на дискеты тремя блоками: полиморфный загрузчик, дроппер и VxD-код. Загрузчик считывает и выполняет код дроппера, который затем переносит VxD-код вируса с дискеты в каталог Windows.
При старте Windows95 и загрузке зараженных VxD-драйверов загрузчик вируса считывает свой основной код из файла-носителя (так же, как и при открытии зараженного документа) и выполняет его. При этом вирус перехватывает IFS API и обрабатывает открытие файлов. При открытии файлов с расширением DOC вирус проверяет их внутренний формат, записывает в них свой макрос AutoOpen и дописывает к файлу свой основной код. Документы также конвертируются в темплейты.
При заражении вирус использует собственные подпрограммы обработки формата документов Word. Эти подрограммы способны обработать не все возможные варианты документов, поэтому вирус заражает только документы размера до 800K и только PanEuro Word 6/7.
Поскольку Word не обращает внимания на "оверлей" вируса, то при сохранении на диск зараженного документа он "отрезает" основной код вируса, сохраняя при этом код макроса AutoOpen. Подобные документы в дальнейшем неспособны распространять вирус.
Процедура заражения документов собержит ошибки, в результате чего вирус делает невидимыми уже существующие в документе макросы (если таковые присутствовали). Более того, такие документы могут вызвать ошибки при работе в Word с выводом соответствующего сообщения:
This program has performed illegal operation and will be shut down.
То же самое происходит при попытках удалить макрос AutoOpen средствами Word (Tools/Macro/Delete или Organizer).
При запуске зараженного EXE-файла вирус получает управление и проверяет под какой операционной системой он запущен. Если это WindowsNT, то вирус возвращает управление исходной программе. В противном случае (Windows95/98) вирус ищет и заражает все PE EXE-файлы в текущем каталоге, а также в каталогах \WINDOWS и \WINDOWS\SYSTEM на текущем диске. Свое тело вирус дописывает в конец последней секции файла, предварительно увеличив ее размер, и необходимым образом модифицирует PE-заголовок файла. По причине ошибки вирус портит EXE-файлы, если размер их последней секции превышает 64Kb - вирус записывает себя не в конец секции, а в ее середину, в результате чего файл оказывается неработоспособен.
Процедура переноса вирусного кода из EXE-файла в документы Word получает управление после заражения исполняемых файлов (EXE -> EXE). Вирус использует в ней более сложные приемы, требующие дополнительных временных файлов для хранения "промежуточных" состояний вируса и макро-программ. Всего вирусом создается три основных файла:
FABI.SYS - зараженный файл-пустышка FABI.SRC - исходный текст макро-компоненты вируса и отконвертированный в текст шестнадцатеричный код EXE-вируса из FABI.SYS NORMAL.DOT - шаблон с коротким макросом, догружает основной макро-код вируса из FABI.SRC при старте Word
Вирус создает на диске короткий исполняемый "файл-пустышку" C:\FABI.SYS формата выполняемых файлов Windows32 (PE EXE) и заражает его. Затем вирус создает файл C:\FABI.SCR, в который записывает исходный текст своего макроса. Затем вирус дописывает к нему двоичные данные файла FABI.SYS, отковертированные в текстовый скрипт (этот скрипт при запуске конвертирует эти данные обратно в EXE-файл, см. "Заражение Macro -> EXE").
В завершение вирус инсталлирует зараженный шаблон NORMAL.DOT в один из системных каталогов. Для этого он ищет файл "NORMAL.DOT" в каталогах:
C:\ARQUIV~1/MICROS~?/MODELOS C:\ARCHIV~1/MICROS~?/MODELOS C:\PROGRA~1/MICROS~?/TEMPLA~1
где '?' принимает значения от 1 до 9. Если такой файл обнаружен, он заменяется на другой, хранящийся в теле вируса в упакованном виде (перед записью нового NORMAL.DOT на диск вирус распаковывает его). Шаблон NORMAL.DOT содержит один короткий макрос AutoExec, получающий управление сразу при открытии MS Word. Этот марос импортирует в NORMAL.DOT основной код вируса из C:\FABI.SRC, и вирус, таким образом, внедряется в область глобальных макросов Word - в шаблон NORMAL.DOT.
В Word-документах вирус состоит из одного макроса AutoClose и, соотвественно, переносит свой код в область глобальных макросов при закрытии зараженного документа. Другие документы заражает также при их закрытии. Для переноса макро-кода вируса используются команды редактирования текста макросов.
Для запуска зараженного EXE-файла из зараженного документа макро-компонента вируса использует стандартный прием. Двоичный EXE-код вируса хранится в макросе в шестнадцатеричном текстовом представлении, которое при запуске макроса сохраняется на диск и конвертируется обратно в двоичный выполняемый EXE-формат при помощи специального DOS BAT-файла и DOS-утилиты DEBUG. Полученный при этом EXE-файл запускается затем на выполнение и, таким образом, активизируется EXE-компонента вируса, которая описанным выше методом ищет и заражает другие EXE-файлы.
В известной версии вируса процедура запуска EXE-файла из макроса содержит ошибку, по причине которой данная версия вируса не в состоянии заражать EXE-файлы из документа.
При заражении 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 и делает это изменением ключа системного реестра:
SOFTWARE\Microsoft\Office\8.0\Word\Options, EnableMacroVirusProtection
Затем вирус также при помощи ключей реестра:
SOFTWARE\Microsoft\Office\8.0\Common\FileNew\LocalTemplates
получает имя каталога шаблонов 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 вирус переходит к заражению выполняемых файлов Windows. При этом он ищет и заражает .EXE- и .SCR-файлы в текущем каталоге и каталоге Windows, затем определяет имена установленных Интернет-броузера и электронной почты по ключам системного реестра:
HKEY_LOCAL_MACHINE\ SOFTWARE\Classes\htmlfile\shell\open\command SOFTWARE\Classes\mailto\shell\open\command
и так же заражает их.
Заражения броузера и элестронной почты необхобимо вирусу для распространения своих копий в Интернет. При доступе в Интернет одна из этих программ оказывается активной, что влечет за собой активность копии вируса, которая перехватывает прием/отправку писем и добавляет к ним зараженное вложение.
При запуске RUNME.EXE определяет каталог Windows, переходит в подкаталог SYSTEM и заражает там несколько VxD-драйверов согласно списку (если таковые файлы там присутствуют): EISA.VXD, FILESEC.VXD, ISAPNP.VXD, LOGGER.VXD, LPT.VXD, LPTENUM.VXD, MSMOUSE.VXD, MSSP.VXD, NWSERVER.VXD, NWSP.VXD, PARALINK.VXD, PCI.VXD, SERENUM.VXD, SERIAL.VXD, SPAP.VXD, SPLITTER.VXD, UNIMODEM.VXD, VFD.VXD, VGATEWAY.VXD, WSIPX.VXD, WSOCK.VXD
При заражении VxD вирус разбирает формат драйверов (которые являются LE-файлами, Linear Executable), модифицирует несколько полей LE-заголовка, меняет адрес "стартовой" подпрограммы VxD (Control_Proc_0) и дописывает свой код в конец секции кода VxD. Формат LE-файлов позволяет делать это, поскольку код и данные в LE-файлах расположены постранично. Если код/данные не заполняют страницу до конца, оставшееся место оказывается незанятым - именно туда и записывает вирус 214 байт своего загрузчика, если, конечно же, в странице кода есть свободное место.
После заражения вирус устанавливает у VxD-файла новую дату/время - 4-е января 1997, 4:28 утра. По этому идентификатору вирус определяет уже зараженные VxD-файлы.
Вирус не заражает никаких более VxD-драйверов, кроме как перечисленные выше, и только в каталоге SYSTEM. После заражения VxD вирус не удаляет свой файл RUNME.EXE (в надежде на то, что кому-то нравиться запускать файлы с подобными именами?)
Вирусы для OS/2
Вирусы для Unix
Вирусы для Win 32
Вирусы для Windows 3.xx
Вирусы для Windows 95
Вирусы для Windows 98
Вирусы для Win NT
При работе с каким-либо документом редактор AmiPro создает два файла — непосредственно текст документа (расширение имени файла — SAM) и дополнительный файл, содержащий макросы документа и, возможно, прочую информацию (расширение имени — SMM).
Документу можно поставить в соответствие какой-либо макрос из SMM-файла (команда AssignMacroToFile). Этот макрос является аналогом AutoOpen и AutoClose в MS-Word и вызывается редактором AmiPro при открыти или закритии файла.
Видимо, в AmiPro отсутствует возможность помещать макросы в «общую» область, поэтому вирусы для AmiPro могут заразить систему только при открытии зараженного файла, но не при загрузке системы, как это происходит с MS-Word после заражения файла NORMAL.DOT.
Как и MS-Word, AmiPro позволяет переопределять системные макросы (например, SaveAs, Save) командой ChangeMenuAction. При вызове переопределенных функций (команд меню) управление получают зараженные макросы, т.е. код вируса.
Вирусы семейства Macro используют возможности макро-языков, встроенных в системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). Для существования вирусов в конкретной системе необходимо наличие встроенного в систему макро-языка с возможностями:
привязки программы на макро-языке к конкретному файлу;
копирования макро-программ из одного файла в другой;
возможность получения управления макро-программой без вмешательства пользователя (автоматические или стандартные макросы).
Данным условиям удовлетворяют редакторы Microsoft Word и AmiPro, а также электронная таблица Excel. Эти системы содержат в себе макро-языки (Word — Word Basic, Excel — Visual Basic), при этом:
макро-программы привязаны к конкретному файлу (AmiPro) или находятся внутри файла (Word, Excel);
макро-язык позволяет копировать файлы (AmiPro) или перемещать макро-программы в служебные файлы системы (Word, Excel);
при работе с файлом при определенных условиях (открытие, закрытие и т.д.) вызываются макро-программы (если таковые есть), которые определены специальным образом (AmiPro) или имеют стандартные имена (Word, Excel).
Данная особенность макро-языков предназначена для автоматической обработки данных в больших организациях или в глобальных сетях и позволяет организовать так называемый «автоматизированный документооборот». С другой стороны, возможности макро-языков таких систем позволяют вирусу переносить свой код в другие файлы, и таким образом заражать их.
На сегодняшний день известны три системы, для которых существуют вирусы — Microsoft Word, Excel и AmiPro. В этих системах вирусы получают управление при открытии или закрытии зараженного файла, перехватывают стандартные файловые функции и затем заражают файлы, к которым каким-либо образом идет обращение. По аналогии с MS-DOS можно сказать, что макро-вирусы являются резидентными вирусами — они активны не только в момент открытия/закрытия файла, но до тех пор, пока активен сам редактор.
Macro-вирусы
Макро-вирусы для AmiPro
Макро-вирусы для MS Access
Макро-вирусы для MS Excel
Макро-вирусы для MS Excel4
Макро-вирусы для MS Excel97
Макро-вирусы для MS PowerPoint
Макро-вирусы для MS Word
Макро-вирусы для MS Word2000
Макро-вирусы для MS Word97
Многоплатформенные мaкро-вирусы
При работе с документом Word (так же как и Excel) выполняет различные действия — открывает документ, сохраняет, печатает, закрывает и т.д. При этом Word ищет и выполняет соответствующие макросы — при сохранении файла вызывается макрос FileSave, при сохранении по команде File/SaveAs — FileSaveAs, при печати документов — FilePrint и т.д. если, конечно, таковые макросы определены.
При открытии документа Word проверяет его на наличие макроса AutoOpen. Если такой макрос присутствует, то Word выполняет его. При закрытии документа Word выполняет макрос AutoClose.
Вирусы семейства Macro.Word содержат в себе как минимум один из автоматических макросов (AutoOpen, AutoClose, AutoExec, AutoExit, AutoNew) или один из стандартных макросов (FileOpen, FileClose, FileSaveAs и т.д.). Если документ заражен, то при открытии документа Word вызывает зараженный автоматический макрос AutoOpen (или AutoClose при закрытии документа) и, таким образом, запускает код вируса, если это не запрещено системной переменной DisableAutoMacros. Если же вирус содержит макросы со стандартными именами, то они получают управление при вызове соответствующего пункта меню (File/Open, File/Close, File/SaveAs).
Во всех известных вирусах семейства Macro.Word макросы AutoOpen/AutoClose и (или) макросы со стандартными именами содержат команды переноса макросов вируса в область глобальных (общих) макросов Word, т.е. при запуске Auto-макроса или при вызове соответствующей стандартной функции вирус заражает область глобальных макросов. При выходе из Word глобальные макросы (включая макросы вируса) автоматически записываются в DOT-файл глобальных макросов (обычно таким файлом является NORMAL.DOT). Таким образом, при следующем запуске Word вирус активизируется в тот момент, когда WinWord грузит глобальные макросы, т.е. сразу.
Затем вирус переопределяет один или несколько стандартных макросов (например, FileOpen, FileSave, FileSaveAs, FilePrint) и перехватывает таким образом команды работы с файлами. При вызове этих команд вирус заражает файл, к которому идет обращение.
Для этого вирус конвертирует файл в формат Template (что делает невозможной дальнейшие изменения формата файла, т.е. конвертирование в какой-либо не-Template формат) и записывает в файл свои макросы, включая Auto-макрос.
Таким образом, если вирус перехватывает макрос FileSaveAs, то заражается каждый DOC-файл, сохраняемый через перехваченный вирусом макрос. Если перехвачен макрос FileOpen, то вирус записывается в файл при его считывании с диска.
Следует отметить, что Word позволяет шифровать присутствующие в документе макросы. Таким образом, некоторые Macro.Word-вирусы присутствуют в зараженных документах в зашифрованном виде.
Известные вирусы семейства Macro.Word заражают DOC-файлы формата Microsoft Word версий 6 и 7. Заражение системы происходит при редактировании зараженного DOC-файла. Характерными проявлениями вирусов семейства macro.Word являются:
Невозможность конвертирования зараженного документа Word в другой формат;
Невозможность записи документа в другой каталог/на другой диск командой «Save As»;
Зараженные файлы имеют формат Template. При заражении вирусы WinWord конвертируют файлы из формата Word Document в Template.
Большинство известных вирусов для Word несовместимы с национальными (в том числе с русской) версиями Word, или наоборот — рассчитаны только на локализованные версии Word и не работают под английской версией. Однако вирус в документе все равно остается активным и может заражать другие компьютеры с установленными на них соответствующей версией Word.
Вирусы для Word могут заражать компьютеры любого класса, а не только IBM-PC. Заражение возможно в том случае, если на данном компьютере установлет текстовый редактор, полностью совместимый с Microsoft Word версии 6 или 7.
Частично защититься от вирусов WinWord можно при помощи системного макроса DisableAutoMacros, который запрещает автоматический запуск Auto-макросов при работе с файлами. Однако при этом не запрещается макрос AutoExec и не запрещается запуск макросов со стандартными именами.