Win.Tentacle.1958

Неопасный нерезидентный вирус. При запуске ищет NewEXE-файлы в текущем каталоге и в C:\WINDOWS и записывается в конец обнаруженного файла. При заражении создает временный файл C:\TENTACLE.$$$, куда копирует блок за блоком данные заражаемого файла, корректирует эти блоки, затем дописывает свой код в конец файла и переносит полученный вариант в заражаемый файл.

В полночь (с 0:00 до 0:15) проверяет только что зараженный файл на наличие ресурсов, содержащих иконки. Если такой ресурс найден, вирус замещает иконку на другую, код которой содержит в своем теле.

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

C:\TENTACLE.$$$ C:\WINDOWS\*.EXE






Winsurf

Опасный резидентный вирус. Поражает NewEXE-файлы, при этом корректирует NewEXE-таблицы и записывается в конец файла.

При запуске зараженного файла вирус проверяет наличие DPMI функцией INT 2Fh, AX=1686h и возвращает управление программе-носителю, если он был запущен не в защищенном режиме, либо если отсутствует DPMI. В противном случае вирус определяет наличие своей резидентной копии функцией INT 21h, AX=1894h. Если копия вируса уже находится резидентно в памяти, то она возвращает CX=1234h, и вирус отдает управление программе-носителю. Если копии нет, вирус сканирует область Environment, ищет строку "windir=", читает файл SYSTEM.INI из каталога, на который указывает "windir=", ищет в этом файле строку "shell=" и заражает соответствующий файл. Затем он отдает управление программе-носителю.

Остается резидентно в памяти только при запуске из файла, который был указан строкой "shell=". Обычно таким файлом является один из вариантов Programm Manager (PROGMAN.EXE, DASH.EXE, DASH2.EXE), который во время работы Windows находится в памяти постоянно, и вирусу соответственно нет необходимости применять особые приемы для того, чтобы остаться резидентным.

Перехватывает INT 21h (используя DPMI-вызовы) и затем поражает NewEXE-файлы при их выполнении или загрузке в память (INT 21h, AH=4Bh).

Содержит строки, используемые при заражении Program Manager:

hell=indir=system.ini


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



Winsurf.Skim

Являются "переделками" "Winsurf". Используют те же алгоритмы и содержат те же ошибки. "Skim.1454" содержит на одну ошибку больше - он заражает файл, указанный в строке "load=" в файле WIN.INI, однако некорректно копирует имя файла. В результате вирус "теряет" один символ и, например, вместо файла ABCD.EXE пытается заразить файл BCD.EXE.

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


"Skim.1454": Skim.Poppy.II by VicodinES oad=indir=win.ini




"Skim.1455": Skim.Poppy by VicodinES hell=indir=system.ini







WinLamer2.1734

Безобидный нерезидентный полиморфик -вирус. При запуске ищет все NewEXE-файлы в каталоге \WINDOWS и записывается в их конец. Содержит строки:


*.EXE \WINDOWS WinLamer2 (C)Copyright Aug, 1995 by Burglar in Taipei, Taiwan. PME for Windows v0.00 (C) Jul 1995 By Burglar







Win.CyberTech

Очень опасный резидентный NewEXE-вирус. При запуске зараженного файла записывается в ядро Windows (KERNEL - KRNL286.EXE или KRNL386.EXE) и возвращает управление программе-носителю. При загрузке системы с зараженным KERNEL вирус перехватывает системный вызов WinExec (запуск файлов) и записывается в конец NewEXE-файлов при их запуске.

При заражении KERNEL вирус определяет его handle функцией GetModuleHandle, записывает туда свой код и правит системные таблицы таким образом, что адрес процедуры WinExec указывает на код вируса. При загрузке зараженного KERNEL вирус остается в памяти как часть KERNEL. Так как адрес WinExec уже установлен на код вируса, то при запуске файлов вирус получает управление и заражает их.

Вирус определяет уже зараженные файлы по строке "LROY", которую при заражении помещает в поле контрольной суммы в заголовке NewEXE.

В зависимости от системной даты и номера текущего дня вирус выводит MessageBox с заголовком:

Chicago 7: Cyber riot


Текст внутри MessageBox зависит от дня. В апреле, начиная с 29-го, 1 мая вирус выводит:


Happy anniversary, Los Angeles! Anarchists of the world, unite!



По пятницам до 13-го числа:


When the levee breaks, I have no place to stay... (Crying won't help you. Praying won't do you no good.)



6 марта и в декабре с 1-го по 26-е:

Save the Whale, harpoon a fat cat.


После вывода сообщения вирус стирает сектора дисков.

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


USER KERNEL Chicago-7 CyberRiot, 15.1.1993 Klash (Werner L.) Sommer 1993: 15 Windowscomputerviren



Coming soon: Diet riot. Same great aftertaste--fewer bytes.


Source code avaiable for $15,000,000. Serious inquiries only.



Why does IBM need to lay me off? Oh well, their loss. McAfee's FUD equation: !!!!!!+??????=$$$$$$



Convict the pigs



This program was written in the cities of Hamburg, Chicago, Seattle and Berkeley. Copyright (C) 1993 Klash/Skism/George J/Phalcon/Henry Buscombe and 2 ex-Softies, collectively known as the Chicago 7.









Win.Tentacle_II

Неопасный нерезидентный NewEXE-вирус (Windows). Реальная длина вируса - 10608 байт, но при заражении он дописывает в конец файла дополнительные таблицы ссылок и в результате увеличивает длины файлов на 10634 байт. Основная особенность вируса заключается в том, что при заражении он не меняет адрес точки входа в файле (номер стартового сегмента и значение IP в заголовке NewEXE), но правит таблицы ссылок в файле таким образом, что получает управление при работе зараженной программы.

Получив на себя управление, вирус ищет NewEXE-файлы (NE) в текущем каталоге и в каталогах:

C:\WIN\ C:\WINDOWS\ C:\WIN31\ C:\WIN311\ C:\WIN95\


затем ищет .SCR-файлы в текущем каталоге. Вирус заражает по одному обнаруженному файлу во всех каталогах, за исключением C:\WINDOWS\, в нем он заражает два файла.

Перед тем как заразить файл, вирус проверяет заголовки DOS EXE и Windows NewEXE, записывает FFFEh в поле MaxMem в DOS EXE и использует это поле как признак зараженности файла. Потом вирус создает временный файл C:\TENTACLE.$$$, исправляет и записывает туда блок за блоком код и данные заражаемого файла, затем уничтожает заражаемый файл и присваивает его имя временному файлу. Процедура заражения, таким образом, совпадает с вирусом "Win.Tentacle" .

При заражении файла вирус модифицирует поля и таблицы в NewEXE-заголовке, создает новый сегмент и соответствующую Segment Table и записывает в этот сегмент свой код. При этом вирус не изменяет поля, описывающие номер стартового сегмента и стартовый адрес в сегменте, и таким образом при запуске зараженного файла управление передается по тому же адресу и на тот же код, что и до заражения.

Для того чтобы получить на себя управление, вирус правит таблицу межсегментных ссылок (Segment Relocation Records). Для этого он ищет в таблице Module Reference Table строки KERNEL и VBRUN300. Если ни одна из этих строк не найдена, то вирус не заражает файл. Если хотя бы одна из этихъ строк найдена, вирус считывает из файла Segment Relocation Records и ищет в ней ссылки на процедуру 5Bh (INITTASK) в случае KERNEL или на процедуру 64h (THUNRTMAIN) в случае VBRUN300. Обе эти процедуры являются стандартными процедурами инициализации задачи и вызываются практически сразу при запуске выполняемых файлов Windows. Вирус запоминает ссылку на INITTASK или THUNRTMAIN и заменяет ее на адрес своего кода. В результате зараженный файл вместо вызова процедуры инициализации передает управление коду вируса. Вирус ищет и заражает файлы, а затем передает управление на процедуру инициализации, которая затем возвращает управление зараженному файлу.

В результате вирус, не меняя стартового адреса в файле, при его запуске получает управление на свой код.

При заражении файла вирус также создает дополнительные таблицы, содержащие ссылки на стандартные процедуры REGSETVALUE и REGQUERYVALUE из SHELL (SHELL.DLL) и ссылку на первоначальную процедуру инициализации INITTASK или THUNRTMAIN. Первые две ссылки используются в вызываемом вирусом эффекте, последняя необходима для возвращения управления прерванному коду в зараженном файле.



Особое внимание вирус обращает на файл WINHELP.EXE. Если такой файл обнаружен, вирус правит в нем по определенному адресу команду условного перехода (74h) на безусловный переход (EBh). Зачем - непонятно.

Если зараженный файл запущен в период с часа до двух часов ночи, то вирус создает файл C:\TENTACLE.GIF и записывает в него GIF-изображение щупальца осьминога. Затем он считывает из области Registry (Extensions) строку, которая является командой вызова просмотрщика GIF-файлов, и записывает туда имя вирусного GIF'а - C:\TENTACLE.GIF. Например, строка "wingif %1" в области Registry заменяется на "wingif C:\TENTACLE.GIF". В результате при просмотре любого GIF-файла система будет выводить GIF-файл вируса.

При замене данных в Registry вирус использует вызовы SHELL - REGSETVALUE и REGQUERYVALUE.

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


C:\WIN\ C:\WINDOWS\ C:\WIN31\ *.EXE *.SCR C:\WIN311\ C:\WIN95\ \SHELL\OPEN\COMMAND







Win.VfW.988

Опасный нерезидентный NewEXE-вирус. Ищет NewEXE-файлы и записывается в их конец или середину. В результате ошибок может портить файлы при их заражении. Содержит строку:

*.EXE Virus for Windows ver 2.0






Win.Apparition

Резидентный файловый Windows EXE-вирус. Длина - 87438. Написан на Borland Object Pascal for Windows. При запуске под Windows 3.x остается в системе, периодически ищет EXE-файлы и записывается в их начало.

Имеет крайне необычную структуру. Основная часть вируса (около 60K) содержит собственно код вируса и runtime-библиотеки Pascal, текстовые строки, иконки и прочие данные, используемые вирусом при заражении системы и файлов. Следующий блок (3.5K) содержит MS Word темплейт, упакованный алгоритмом LZ. Этот темплейт содержит в себе Word макро-вирус. Третий блок (21K), также упакованный LZ, содержит исходный текст (!!!) вируса. Последний, четвертый, блок содержит файл ресурсов, которые вирус использует при запуске компилятора Pascal (см. ниже).

При заражении файла вирус сдвигает его вниз на свою длину (87438 байта) и записывается в начало файла. Перед тем как отдать управление программе-носителю, вирус копирует зараженный файл во временный, затем лечит и запускает временный файл (эти методы очень часто встречаются в DOS-вирусах, написанных на языках высокого уровня - C или Pascal).

Кроме того, при заражении вирус ищет в файле команды ассемблера:


DEC BP DEC BP



и замещает этот код на вызов INT 83h. Когда вирус активен, он перехватывает INT 83h. Код обработчика INT 83h выполняет единственную функцию - уменьшает регистр BP на два (т.е. то же, что затертые DEC BP). Зачем это делается - непонятно, видимо, для того, чтобы вылеченные файлы остались неработоспособными.

При заражении вирус анализирует формат файлов и заражает только EXE-файлы, имеющие формат NE (Windows 3.x, OS/2) или PE (Windows95). Как работает вирус под OS/2 или Windows95 я не проверял, но под Windows 3.11 он работает без особых проблем (зависание системы, сообщения об ошибках и т.д.).



Запуск вируса



При запуске вирус выделяет блоки системной памяти, в которые считывает из зараженного файла свой код (этот код затем используется вирусом при заражении других файлов), и создает в каталоге Windows свой "дроппер" - файл VIDACCEL.EXE длиной 87438 байт, содержащий код вируса "в чистом виде". Затем вирус регистрирует этот файл в файле настроек Windows WIN.INI в секции [windows]: дописывает имя файла к строке "load=". В результате Windows при старте будет запускать зараженный файл VIDACCEL.EXE, и вирус соответственно будет активизироваться при каждом запуске Windows.

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

Подробнее: при инсталляции в систему runtime-библиотека Pascal создает и регистрирует класс окна (системные вызовы REGISTERCLASS, CREATEWINDOW и SHOWWINDOW) и устанавливает у этого окна параметр HIDDEN. Вирус затем запускает новый таймер Windows (вызов SETTIMER), устанавливает период задержки этого таймера в 10 секунд и регистрирует процедуру обработки таймера wmTimer (эта процедура получает управление каждые 10 секунд), затем запускает цикл обработки сообщений (GETMESSAGE, TRANSLATEMESSAGE, DISPATCHMESSAGE) и остается в системе до тех пор, пока этот цикл не получит команду закрытия (wmClose), т.е. при завершении работы Windows.



Обработчик таймера



Когда обработчик таймера получает управление (каждые 10 секунд), он поочередно запускает 4 процедуры, при этом каждая очередная процедура вызывается при следующем вызове таймера. Первая процедура обращается ко всем дискам от C: до Z: и определяет диски, доступные на запись. Для этого она создает на диске временный файл \WR.TST и удаляет его. Если создание/удаление файла прошло успешно, то вирус запоминает номер диска.

Вторая процедура сканирует дерево подкаталогов и ищет в них файлы. Если обнаружен EXE-файл, то вирус проверяет его длину и дату. Если длина файла лежит в пределах 16384 байт - 300K, а дата создания файла не равна 1234h (7 февраля 1990), то вирус запоминает имя файла и заражает его при вызове процедуры заражения (4-я процедура).

При поиске файлов вирус обращает особое внимание на файлы OWINDOWS.TPW, BPC.EXE и NORMAL.DOT. Если найдены файлы Pascal for Windows (OWINDOWS.TPW и BPC.EXE), вирус запоминает их полные имена и использует в своей процедуре мутирования (см. ниже). Если обнаружен файл NORMAL.DOT, то вирус записывает вместо него несложный Word-макро-вирус. Этот вирус содержит три макроса (FileOpen, AutoOpen и WWUpdated) и заражает документы при их открытии.



Мутирование (полиморфизм)



Третья процедура, вызываемая вирусом, является полиморфик-генератором. Мне так и не удалось ее активизировать (к тому же и результирующие файлы, скорее всего, не будут работать), однако этот генератор использует совершенно необычный способ мутирования: он записывает исходный текст вируса на диск, добавляет в него "пустышки" на Паскале (ничего не значащие команды Pascal), затем компилирует этот текст в EXE-файл (если при сканировании дисков обнаружил файлы Pascal - запускает их через PIF), компрессирует и дописывает к EXE-файлу полученный Pascal-исходник, добавляет оставшиеся два блока данных (см. выше структуру вируса) и записывает результат в каталог Windows под именем VIDACCEL.EXE, т.е. модифицирует свой дроппер. Таким образом, вирус не является зашифрованным, но пытается модифицировать свой код, т.е. мутировать.

При добавлении "пустышек" в свой исходник вирус использует строки:


Begin if then Repeat Until or True Until True End While And False do While False do Procedure Word Boolean Real Char integer string pointer wri = <> > < and or xor





Секция WIN.INI и проявления вируса



При заражении системы вирус создает в файле WIN.INI новую секцию [The Apparition]. В ней он создает и модифицирует свои параметры и затем использует их при работе.

"Running NOW=" - "Yes" означает, что вирус уже активен в системе и при повторных запусках зараженных файлов он не будет устанавливать себя в память. При заражении системы (при первом запуске) вирус устанавливает этот параметр в "Yes", при выходе - в "No".

"BootInfected=" - "1" означает, что "дроппер" VIDACCEL.EXE уже присутствует в системе, и вирус не должен заново создавать его.

"DieMonth=" и "DieDay=" указывают день и месяц "срабатывания". В этот день вирус уничтожает все файлы (кроме WIN386.SWP и 386SPART.PAR) на всех дисках. При заражении системы вирус устанавливает дату срабатывания на текущую дату плюс один месяц.

"AtomID=" и "IDAtom=" - параметры вируса, используемые при системных вызовах.

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

"Die=" - запрещает удаление файлов.

"NoRun=" - запрещает инсталляцию вируса в систему.

"NoInfect=" - запрещает заражение файлов.

"ShowDotsOn=1", "ShowDialog=666", "Logging=YES" - отладочные параметры.

Если установлен параметр "Logging", вирус создает в каталоге Windows файл WINAPP.LOG и записывает в него сообщения:


Started. - при запуске зараженного файла Loaded OK. - при выделении памяти InfectBoot = start - перед созданием VIDACCEL.EXE InfectBoot = done - после создания VIDACCEL.EXE Running application - перед запуском файла-носителя Application finished - после запуска файла-носителя Terminate requested - при нажатии на соответствующую кнопку, Paused если окно вируса - видимое (см. ниже) Resumed Remove from memory requested !!! Destruction requested !!! Executing PIF : - при запуске Borland Pascal PM Failed : No compiler - при работе полиморфик-генератора PM started PM is using temp dir PM Failed : Out of diskspace PM Failed : 1st compile failed 1st compile OK. PM Failed : Source file too big PM : Compression started, bytes PM : Compression completed, PM : Constants updated PM : 2nd compile failed PM : I/O Error PM : Linked OK





Если установлен параметр "ShowDotsOn", вирус выводит MessageBoxes (заголовок/сообщение) и запрашивает разрешение пользователя:


!!! VIRUS WARNING !!! Do you really want to run program infected by virus ?




!!! WARNING !!! Overwrite NORMAL.DOT, confirmed ?




!!! THE APPARITION WARNING !!! Infect [filename] Confirmed ?





Если параметр "ShowDialog" равен "666", вирус делает свое окно видимым, и оно появляется на экране:


+--------------------------------+ | - | THE APPARITION | * | |--------------------------------| | File Help | |--------------------------------| | The Apparition for Windows | | UltraGluk ALL-IN-ONE | | | | Status : | | Last : | | Total : | | | | +------------+ +-----------+ | | | Terminate | | Pause | | | +------------+ +-----------+ | | +---------------------------+ | | | !!! DESTRUCT !!! | | | +---------------------------+ | +--------------------------------+



Меню "File" содержит четыре пункта:

"Check" - вирус выводит MessageBox:


Double FUCK!!! Press CTRL+ALT+DEL Twice to Install Printer!!!



"Infect" - вирус запускает FileBrowser и затем заражает указанный файл. При этом могут выводиться сообщения:


Error! Infection engine is busy.




You MAZDAI! File is already infected, I WANNA new file to infect!



Кнопки "Remove" и "Teminate" (ошибка - в вирусе) удаляют вирус из системы. При нажатии на "Remove" вирус также сообщает:


WINAPP About to remove from memory, confirmed?





Меню "Help" содержит единственный пункт "About", который выводит текст:


About The Apparition Win-Apparition Written by Lord Asd Last modified : 25 Dec '96 This beta version of The Apparition was tested only under Win 3.10 and may work incorrectly under other Win versions and OS/2 Warp





Строка "Status :" в окне вируса содержит текущее состояние вируса:


Completing task... Wait... Locked. Upgraded OK. Paused by operator. Mapping drives... Scanning tree (Level x)... Spreading... Idle. PM : Loading... PM : Unpack... PM : Mutation... PM : 1st compile PM : FAILURE PM : Compression... PM : Updating... PM : 2nd compile PM : Linking...



Строка "Last :" содержит имя последнего зараженного файла, строка "Total :" - число файлов, обнаруженных при сканировании дисков.



При нажатии на кнопки:


"Terminate" - вирус удаляет себя из памяти. "Pause" - заменяет текст в кнопке на "Resume" и не вызывает процедуры заражения "DESTRUCT" - выводит MessageBox'ы и стирает файлы на всех дисках:




WARNING Are you sure you want to delete all files from your disks?




!!! DANGER !!! Destroy all data on all available devices, confirmed?





Вирус в различных случаях также выводит прочие MessageBos'ы


Warning Destruction locked.




System error System stack failure, error code 0xC6 at 0004:2F16




Error Unexpected disk operation failure, error code 0x0x




Error Out of memory.




Error Unknown disk error.




!!! VIRUS WARNING !!! This program is infected by The Apparition for Windows and will not start.





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


APPARITION _PSEUDO_ICON MAIN_MENU ABOUTDLG UNTITLED WINAPP COMMDLG KERNEL KERNEL GDI USER KEYBOARD KERNEL USER KEYBOARD WINAPP.EXE All files *.* Executable files (*.EXE) *.EXE Infect file EXE ApparitionInstalled hInstance= *** PERMUTATION START HERE *** *** PERMUTATION STOP HERE *** Function Begin End \TMP$XTMP.T01 \TMP$XTMP.T02 \TMP$XTMP.EXE \MAIN.RES !!! CODE SIZE !!! VSize= cs_const= !!! DECOMPRESSED SRC SIZE !!! XSrcSize= xss_const= !!! COMPRESSED SRC SIZE !!! CSrcSize= css_const= ApparitionInstalled AboutDlg Apparition ApparitionInstalled THE APPARITION Running THE APPARITION KERNEL USER GDI KRNL386 KRNL286 MICROSOFT PIFEX WINDOWS 286 3.0 WINDOWS 386 3.0 Portions Copyright (c) 1983,92 Borland OW1 OW2 TurboWindow Error code = %d. Continue? Application Error (Inactive %s) TPWinCrt Runtime error 000 at 0000:0000. Main_Menu Apparition THE APPARITION Times New Roman Terminate Apparition Last None Pause Total !!! DESTRUCT !!! Initializing... Status







Win.Gollum

Файловый резидентный вирус. Остается в памяти Windows и Windows95 как VxD-драйвер, перехватывает обращения к DOS EXE-файлам и записывается в их конец. Таким образом, вирус заражает различные операционные системы - Windows и DOS. Не заражает выполняемые файлы Windows (файлы форматов NE и PE), но остается под Windows "резидентно". Вирус заражает только DOS EXE-файлы, но не остается резидентно в DOS-памяти.

При запуске зараженного DOS EXE-файла вирус записывает на диск свой VxD-"дроппер" (файл GOLLUM.386), регистрирует его в файле Windows SYSTEM.INI, возвращает управление программе-носителю и не производит никаких других действий. При старте Windows загружает в память файл GOLLUM.386, вирус при этом получает управление, перехватывает цепочку INT 21h (V86 interrupt chain) и заражает DOS EXE-файлы. Размер файла GOLLUM.386 равен 6592 байтам, DOS EXE-файлы при заражении увеличиваются на 7167 байт.



Запуск зараженного EXE-файла



Вирус в DOS EXE-файлах зашифрован командой NOT (XOR 0FFh), поэтому при запуске он первым делом расшифровывает свой код, используя несложный антиотладочный прием. Затем ищет на диске Windows, для чего пытается открыть пять файлов:


C:\WINDOWS\SYSTEM.INI C:\WIN\SYSTEM.INI C:\WIN31\SYSTEM.INI C:\WIN311\SYSTEM.INI C:\WIN95\SYSTEM.INI



Если таких файлов нет, вирус не заражает систему. В противном случае он записывает свой VxD-дроппер в каталог SYSTEM обнаруженной копии Windows и вставляет в файл SYSTEM.INI команду загрузки VxD:

DEVICE=GOLLUM.386


Эта команда записывается в секцию [386Enh]:

SYSTEM.INI до и после заражения



... ... [386Enh] [386Enh] mouse=*vmd DEVICE=GOLLUM.386 ... mouse=*vmd ...





Вирус в VxD



Вирус в VxD-файле (GOLLUM.386) имеет формат LE (Linear Executable). DOS EXE stub в этом файле содержит код, выводящий на экран строку:

GoLLum!


LE-часть содержит процедуры вируса: обработчик INT 21h, заражение, DOS-часть вируса и т.д. Обработчик INT 21h перехватывает три функции DOS: Load and Execute (4B00h), Terminate (4C00h) и Change Directory (3Bh).

При запуске файла вирус запоминает его имя и заражает файл при окончании его работы. Заражаются только файлы на диске C:, при этом вирус не заражает антивирусы SCAN*.*, F-PR*.*, TB*.* (SCAN, F-PROT, ThunderByte) и файлы, в именах которых присутствуют цифры или буква 'V'. Заражаются файлы обычным для DOS-вирусов приемом: вирус записывает свой код в конец файла и модифицирует его заголовок.



Проявления



4 июня при инсталляции вирус посылает системное сообщение и текст, который выводится Windows как стандартное сообщение об ошибке:

GoLLuM ViRuS by Griyo/29A



Deep down here by the dark water lived old Gollum, a small slimy creature. I dont know where he came from, nor who or what he was. He was a Gollum -as dark a darkness, except for two big round pale eyes in his thin face.



J.R.R. ToLkieN ... The HoBBit


Press any key to continue




При смене каталога вирус в зависимости от системного таймера создает файл GOLLUM.EXE и записывает в него свою VxD-копию. При запуске этого файла под DOS вирус (EXE DOS-stub) выводит сообщение:

GoLLum!




Вирус уничтожает антивирусные базы данных: ANTI-VIR.DAT, CHKLIST.TAV, CHKLIST.MS, AVP.CRC, IVB.NTZ.

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


GoLLuM ViRuS for Microsoft Windows by GriYo/29A GPTrap_DDB









Win.Homer, семейство

"Резидентные" Windows-вирусы, заражают файлы формата NewEXE (NE). Написаны на C++ и имеют довольно большие размеры - от 40 до 54 килобайт. Известно 5 версий вируса, но только две версии действительно заражают файлы - остальные не делают этого по причине ошибок.

При запуске зараженного файла вирус перехватывает INT 21h и остается Windows-задачей. Эта задача либо имеет свое собственное окно, либо невидима в зависимости от версии вируса. Перехват INT 21h происходит разными способами также в зависиомсти от версии вируса - в режимах real/protect mode DPMI, или Windows API hooking. Вирус заражает файлы при их запуске, при этом он записывается в их конец и модифицирует NewEXE-заголовок.

Некоторые из версий вируса также перехватывают сетевые сообщения. В исходном тексте вируса присутствует комментарий, в котором сказано, что вирус перехватывает вход пользователя на удаленный ftp-сервер и посылаеет свою копию в каталог "incoming", при этом вирус использует File Transfer Protocol. Работает ли в действительности этот код - пока неясно. Мы не проводили необходимых тестов, однако факт имеет место - вирусы начинают проникать в глобальные сети. Возможно, что "Homer" является одной из первых попыток в создании новых сетевых вирусов.

Исходный текст вируса содержит комментарий:

HOMER virus by Kernel Panik, Italy, april 1997






Win.Vir_1_4

Безобидный нерезидентный вирус, первый известный вирус для Windows 3.xx.

При запуске ищет в текущем каталоге NewEXE-файлы (NE EXE-файлы от Windows) и записывается в них. Переносит сегменты стартового кода и автоматических данных в конец файла, а свои код и данные записывает на освободившиеся места. Также корректирует NewEXE-заголовок и таблицу дескрипторов сегментов.

Не возвращает управление программе-носителю, а по окончании своей работы восстанавливает программу-носитель в первоначальном виде и отдает управление Windows. При следующей попытке программа запускается без проблем. Это выглядит так, как будто Windows "пропускает" первую команду запуска файла.

Известны две модификации этого вируса. Оригинальный вариант содержит текст:


Virus_for_Windows v1.4 MK92



"Vir_1_4.b" содержит строку:

AntiWindoze Virus by Xavirus Hacker. THNX2MK!!!






Win.AEP

Неопасные нерезидентные вирусы. При запуске ищут *.EXE и *.DLL-файлы текущего каталога, которые являются NewEXE-файлами. Вирусы сдвигают часть содержимого файла вниз и записываются в освободившееся место. Корректируют NewEXE-заголовок, таблицу дескрипторов сегментов и некоторые другие системные области файла. "Win.AEP.b" содержит текст:

(C) 1994 American Eagle Publications Inc., All rights reserved.






Win.Twitch

Безобидный нерезидентный компаньон -вирус. Ищет NewEXE-файлы, переименовывает их с расширением .OVL и записывает вместо этих файлов свою копию. Затем запускает свой файл-носитель (с расширением .OVL). Содержит строки (некоторые из них зашифрованы):


BOOT SHELL SYSTEM.INI PATH TEMP OVL \ CHKLIST.CPS *.EXE NETWARE FILEMAN SCRNSAVE WINPRINT WINDOWS DeviceSelectedTimeout LOAD .EXE \SYSTEM SYSEDIT.EXE NWPOPUP.EXE









Win.Wintiny

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


*.EXE WinTiny (C)Copyright June, 1995 by Burglar in Taipei, Taiwan.









Win.Vicodin.1175

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

Содержит ошибки и при заражении некоторых NewEXE-файлов завешивает систему. Содержит строки:

Damn.Poppy by VicodinES and the Narkotic Crew






Ph33r

Безобидный резидентный вирус. При запуске зараженного выполняемого файла перехватывает INT 21h и остается резидентным. При запуске из файла формата COM или EXE вирус использует стандартный алгоритм заражения памяти, при запуске из NewEXE-файла использует DPMI-вызовы.

При запуске, открытии, переименовании или изменении атрибутов выполняемых файлов вирус записывается в их конец. При этом проверяет имена файлов и поражает только файлы *.DL*, *.CO* и *.EX*, за исключением файлы *AV.*, *DV.*, *AN.*, *OT.* (антивирусы NAV, SCAN, F-PROT, ...).

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

Никак не проявляется. Содержит строки:


=Ph33r= Qark/VLAD





21 октября "Ph33r.1460" выводит:


Cheng Cheng: Happy Birthday to you, HandSome Boy!



Он также содержит текст:

> Joan for Windows v1.0 of T.N.T. Taipei/Taiwan 1995/09 <








Win.RedTeam

Заражает выполняемые файлы Windows (NE EXE) и рассылает свои копии в Internet при помощи электронной почты Eudora - является первым известным вирусом, заражающим Windows и рассылающим зараженные письма через Internet.

Для заражения файлов вирус остается в памяти Windows как резидентная программа и записывается в NE-файлы при их запуске. При рассылке зараженных сообщений сомостоятельно разбирает внутренний формат баз данных электронной почты Eudora и добавляет в Outbox сообщения, содержащие зараженное вложение (attach). Т.е. вирус рассылает свои копии в Internet только при условии установленной на компьютере электронной почты Eudora. Принять зараженное письмо и активизировать вирус могут пользователи не только Eudora, но и большинства современных электронных почт, поскольку все они используют стандартизированные протоколы обмена сообщениями.

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

Таким образом вирус представляет собой реальную угрозу для глобальных компьютерных сетей, поскольку использует для своего распространения наиболее популярную среду (Windows) и одну из самых популярных систем электронной почты (Eudora). К счастью, он пока не был обнаружен "в живом виде".

Длина вируса 4766 байт. Вирус содержит зашифрованные тексты:


<<-RED TEAM->> (C) The Soul Manager. Made in Australia - 06.97. So, so, Herr Kurtzhals - Is F/Win able to follow The Red Team?



Заражение EXE

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

При запуске зараженного файла в незараженной системе код вируса получает управление, ищет файл, содержащий Win16 Kernel (KRNL286.EXE или KRNL386.EXE) и заражает его описанным выше способом. Вирус не изменяет адрес точки входа. Вместо этого он устанавливает на себя адреса системных процедур WINEXEC или INITTASK. В случае Windows 3.xx вирус перехватывает WINEXEC, в случае Windows95/NT - INITTASK (поскольку Win32 не вызывает WINEXEC при запуске программ). Затем вирус возвращает управление программе-носителю и не производит более никаких действий вплоть до очередной перезагрузки Windows.

Для того, чтобы различить версию KRNL?86.EXE (Windows 3.xx или 95/NT) вирус ищет в файле ссылку на системную процедуру CALLPROC32W, присутствующую только в 32-битных Windows95/NT.

Инсталляция

При перезагрузке Windows вирус остается в памяти как часть 16-битного ядра Windows, при этом вирусу не нужно производить никаких специальных действий: в результате своего метода заражения вирус уже является частью ядра Windows. Вирусу также не надо перехватывать системные процедуры WINEXEC/INITTASK - их адреса уже указывают на код вируса.

Под Windows 3.xx вирус перехватывает WINEXEC и, следовательно, заражает файлы при их запуске. Вирус делает это достаточно оригинально: он немедленно вызывает "настоящий" WINEXEC, а заражение откладывает "на потом". В результате заражение происходит в фоновом режиме, и не происходит видимого замедления работы компьютера при запуске файлов. Это достаточно важно для вирусов, заражающих Windows 3.xx, поскольку сейчас эта система установлена обычно на старых медленных PC, и заметная задержка при выполнении файлов может обеспокоить пользователя.

Под Windows95/NT вирус перехватывает INITTASK, т.е. получает управление при регистрации в системе запускаемых программ. При этом вызове вирус при помощи процедуры GetExePtr получает handle каждой активной программы и заражает те из них, которые имеют формат NE.

Заражение E-mail

При заражении NE-файлов вирус с вероятностью 1/8 активизирует в них процедуру рассылки зараженных сообщений e-mail, т.е. примерно каждый восьмой зараженный файл распространяет вирус в Internet. Делает он это при запуске в каталоге Eudora. Вирус ищет и открывает файлы данных: NNDBASE.TOC, OUT.TOC, OUT.MBX. Из первого файла ("Nick Names DataBase") вирус считывает имена, по которым затем будет рассылаться сообщение. После этого вирус создает и записывает зараженное сообщение в файл OUT.MBX (Outbox database), а необходимые ссылки на это сообщение записывает в файл OUT.TOC.

Зараженное сообщение имеет заголовок "Red Team", содержит текст и вложенный EXE-файл (attach). Текст сообщения (в теле вируса он присутствует в скомпрессированном виде) гласит о том, что обнаружен новый e-mail вирус по имени "Red Team", против этого вируса создан антивирус, который и вложен в письмо:

----------------------------------------------------------------------

Hiya!



Just thought I'd warn you about a destructive new e-mail virus. Here is some info:




> The "Red Team" virus is a complex new computer virus that spreads via > the Microsoft Windows operating system, and Internet E-Mail. Although > it is not the first virus to spread via E-Mail (that was "Good Times"), > the Red Team virus is unparalelled in its destructive capabilities. > Further more, the virus is exceedingly common - it has already been > reported in much of western Europe, the USA, Russia, Australia, and > Japan. In short, everywhere. > > We at QUEST, have spent several weeks analysing this virus, and are proud > to anounce that we finally have a cure! The program, named "K-RTEAM" > (Kill Red Team), can be executed in any Microsoft Windows environment, and > will reliably detect (and remove if nescessary) the Red Team virus from > your system buffers. > > -- > Julia Blumin > QUALCOMM Enterprise Software Technologies > World Wide Web: http://www.qualcomm.com




The reason I thought I should warn you, is that we recently had a run in with this beast. Luckily we managed to get a copy of the excellent 'K-RTEAM' programme before the destruction really started. Just in case you should suffer the same misfortune, I have included this programme for you too.



Bye!



P.S. Make sure you warn all your friends of this new threat! ----------------------------------------------------------------------



Вложенный файл с именем K-RTEAM.EXE ("Kill Red Team") имеет формат NE и длину 6351 байт. Является он зараженной программой-пустышкой, которая при запуске не производит никаких действий (за исключением, естественно, запуска вируса). Вирус создает этот файл на диске C: (C:\K-RTEAM.EXE). В начале и конце файла присутствуют тексты:


K-RTEAM - Red Team Anti-Virus K-RTEAM Red Team Virus Found! Remove Virus? Virus Removed! Could not Remove Virus!



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

Тесты

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

Вирус также без побочных эффектов записал зараженные сообщения в e-mail базу Outbox, зараженное письмо (естественно, без приаттаченного вируса) затем было послано в Internet на тестовый адрес и принято в неповрежденном виде.

В средах Windows95 и Windows NT вирус по причине ошибки не заражает KRNL386.EXE: под адрес NE-заголовка вирус отводит слово (DW) вместо двойного слова (DD), хотя затем обращается к этой переменной как к двойному слову. Второе слово вирус использует как идентификатор версии Windows и записывает в него 0 под Windows 3.xx и FFFFh под Windows95/NT. Естественно, что в результате вирус корректно заражает KRNL386.EXE только под Windows 3.x.

Несмотря на это файлы, зараженные под Windows3.xx, остаются вполне работоспособными под Windows95/NT. Они работают без ошибок и способны записывать сообщения в базу данных Eudora. Более того, ошибка в вирусе может быть исправлена, и автор вируса выпустит в свет версию вируса, совместимую с Windows95/NT.





Win.Vecna

Безобидный резидентный Windows-вирус. Заражает NE EXE-файлы (NewExe). При заражении ищет в файле "дыру" неспользуемых данных между первым и вторым сегментом. Если размер этой длины превышает 152 байта, вирус записывает туда процедуру своей загрузки и устанавливает на нее стартовый адрес файла. Затем вирус дописывает к файлу свой код (как оверлей - без изменения заголовка файла).

При запуске зараженных файлов управление получает процедура загрузки вируса (152 байт), которая DMPI-вызовами выделяет блок системной памяти, считывает туда код вируса и перехватывает INT 21h. Вирус затем заражает запускаемые NE EXE-файлы.

Вирус никак не проявляется, содержит строки:


[BONK] by Vecna/29A (c) 1998 New technology for old header formats...