Вирусы семейства Macro

Вирусы семейства Macro

Вирусы семейства 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 можно сказать, что макровирусы являются резидентными - они активны не только в момент открытия/закрытия файла, но и до тех пор, пока активен сам редактор (система).

Вирусы для Microsoft Office'97

Macro.Office97.Frenzy

Состоит из единственного макроса Frenzy, содержащего автофункцию AutoOpen. Заражает систему при открытии зараженного файла. После чего записывается в документы при их открытии. В зависимости от системной даты и системного случайного счетчика выводит текст

Attention:

Word97.Frenzy by Pyro [VBB]

Macro.Office97.Minimal

Довольно примитивный макровирус для Office 97. Содержит единственный макрос AutoOpen. Заражает систему при открытии инфицированного файла, в документы также записывается при их открытии. Содержит закомментированный текст

Vesselin Bontchev

Macro.Office97.NightShade

Состоит из единственного макроса NightShade, содержащего автофункцию AutoClose, и заражает систему и документы при закрытии файлов. Выключает встроенную защиту от вирусов и разрешает запуск автофункций. В зависимости от текущей даты и системного случайного счетчика выводит текст

Attention:

Word97.NightShade by Pyro [VBB]

По 13-м субботам устанавливает в документах пароль NightShade.

Вирусы для Microsoft Excel

Macro.Excel.Laroux

Заражает электронные таблицы Excel (файлы XLS). Содержит два макроса: Auto_Open и Check_Files. При открытии зараженного файла Excel автоматически выполняет макрос Auto_Open. В вирусе этот макрос содержит всего одну команду, которая определяет макрос Check_Files как выполняемый при активизации любой таблицы (Sheet). Таким образом вирус перехватывает процедуру открытия таблиц и при активировании таблицы зараженный Excel вызывает макрос Check_Files, то есть код вируса.

Получив управление, макрос Check_Files ищет файл PERSONAL.XLS в каталоге запуска Excel (Startup Directory) и проверяет количество модулей в текущем Workbook. Если активным является Workbook с вирусом и файл PERSONAL.XLS не существует (первое заражение), то вирус с помощью команды SaveAs создает в каталоге запуска Excel файл с этим именем. В результате в него записывается код вируса из текущего файла. При очередной загрузке Excel загружает все XLS-файлы из каталога запуска, зараженный файл PERSONAL.XLS также загружается в память, вирус опять получает управление и при открытии таблиц снова будет вызываться макрос Check_Files из PERSONAL.XLS.

Если же количество модулей в текущем Workbook равно 0 (зараженный Workbook не является активным) и файл PERSONAL.XLS уже существует, то вирус переписывает свой код в активный Workbook. После этого активный Workbook становится зараженным.

Проверить систему на наличие вируса несложно. Если вирус уже проник в компьютер, то в каталоге Excel должен присутствовать файл PERSONAL.XLS, в котором видна строка laroux (маленькими буквами). Эта же строка присутствует и в других зараженных файлах.

Macro.Excel.Legend

Макровирус, заражающий файлы Excel. Содержит один модуль (макрос) с именем Legend. Этот модуль включает две процедуры - Auto_Open и INFECT. Auto_Open является процедурой Excel, автоматически вызываемой при открытии файла. При запуске Auto_Open устанавливает вторую процедуру вируса (Infect), как обработчик события SheetActivate, то есть при открытии любой таблицы Excel будет вызывать процедуру Infect.

При вызове процедура Infect заражает либо файл PERSONAL.XLS (когда открыт зараженный файл), либо текущий файл (если он еще не заражен). После заражения вирус удаляет из меню пункт Tools/Macro. Если UserName = "Pyro" и OrganizationName = "VBB", вирус немедленно прекращает работу и не заражает файлов. В зависимости от текущего дня и системного случайного счетчика вирус выводит MessageBox:

Pyro [VBB]

You've Been Infected By Legend!

Macro.Excel.Robocop

Макровирус, поражающий файлы Excel. Включает два модуля (макроса): COP и ROBO. Модуль ROBO содержит автоматически вызываемую процедуру Auto_Open, которая при открытии зараженного документа записывает код вируса в файл PERSONAL.XLS и устанавливает на код вируса адрес обработчика активизации таблиц (SheetActivate). Затем вирус заражает файлы при открытии таблиц.

1-го марта вирус вставляет в текущую таблицу текст:

ROBOCOP Nightmare Joker [SLAM]

Macro.Excel.Sofa

Заражает таблицы Excel. Содержит один модуль (макрос), имя которого состоит из 11 пробелов и поэтому не видно в списке макросов в меню Tools/Macros. Модуль содержит четыре макрофункции: Auto_Open, Auto_Range, Current_Open, Auto_ Close. Все функции вируса в качестве результата возвращают Null.

При открытии зараженного файла срабатывает макрофункция Auto_Open, которая "переименовывает" Excel - в титульной строке вместо надписи Microsoft Excel появляется Microsofa Excel. Если в каталоге Startup Path отсутствует файл BOOK.XLT (система еще не заражена), то на экран выводится сообщение:

Microsoft Excel has detected a corrupted add-in file.Click OK to repair this file.

Независимо от ответа пользователя в каталоге Startup Path создается файл BOOK.XLT, содержащий код вируса. После заражения выводится сообщение

File successfully repaired!

При загрузке Excel автоматически загружает XLT-файлы из Startup Path и, соответственно, активизирует вирус. Вирус назначает на функцию OnSheetActivate свою функцию Auto_Range и при каждой активации таблицы проверяет активный файл на зараженность и, если файл не заражен, заражает его.

Вирус не дает выгрузить себя из Excel - при закрытии каждого файла назначает на функцию OnWindow ту же функцию Auto_Range, то есть повторно активизируется при открытии нового файла.

Macro.Excel.Yohimbe

Состоит из одного модуля (макроса) с именем Exec. Этот модуль содержит три подпрограммы: Auto_Open, DipDing, PayLoad и функцию SheetExists. Подпрограмма Auto_Open автоматически вызывается при открытии зараженного файла - вирус при этом заражает PERSONAL.XLS. В случае любой ошибки вирус записывается во все открытые файлы (книги). Перед возвратом управления Auto_Open устанавливает подпрограмму DipDing на таймер Excel. Эта подпрограмма вызывается начиная с 16:00 и заражает открытые файлы.

Вирус записывает строку Yohimbe в заголовок таблицы. Он также устанавливает таймер на подпрограмму PayLoad - она вызывается в 16:45 и вставляет в текущую таблицу картинку и текст

FUCK YOU BUDDY.

компьютерная газета


Компьютерная газета. Статья была опубликована в номере 02 за 1998 год в рубрике безопасность :: вирусология

©1997-2022 Компьютерная газета