Virus.Multi.Invader

Дата обнаружения 11/01/2002
Класс Virus
Платформа Multi
Описание

Technical Details

Опасная резидентная программа. Представляет собой TSR-вирус, заражающий exe- и com-файлы. Совмещает в себе функции файлового вируса и boot-вируса. Написана на языке ассемблера.

Symptoms

  • Замедление работы компьютера либо его периодическое «подвисание»;
  • проигрывание через динамик системного блока последовательностей звуков;
  • несанкционированное пользователем обращение к дисководу
  • выдача на экран для ранее работавших дискет следующего сообщения:
    Non-system disk or disk error»

Также к симптомам заражения можно отнести увеличение размеров исполняемых файлов на 4096 байт.

Payload

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

После запуска вируса, происходит проверка оперативной памяти на предмет присутствия в ней уже загруженного вируса.

При запуске вируса в DOS, что делается путем вызова неопределенной в DOS функции 42h(AH) с передачей ей параметра 43h (AL) прерывания 21h и значения FFh в регистр BL.

Если проверка не выявила присутствия резидента в памяти, то происходит получение векторов прерываний 08h, 09h, 21h. Сохранение существующего вектора и замена его на собственный вектор прерывания.

При вызове функции 42h (прерывания 21h) с передачей в AL значения 43h и в BL значения FFh в AX будет возвращено значение 5678h. Хотя, в двух разных местах производится установка значения FFh в регистр BL в коде проверки присутствия тела вируса в памяти, однако в обработчике 21h прерывания при анализе функции 43h проверки значения регистра BL не производится.

В обработчиках прерываний 21h и 13h происходит копирование кода вируса в память.

Обработчик прерывания 21h вируса содержит проверки для вызова функций 42h c параметрами в AL 43h и 44h — необходимых для внутренних нужд вируса, и функций 4Bh и 3Dh c параметрами в AL равными 00h, используемых для загрузки и выполнения программы и открытия файла соответственно.

Находясь в памяти, вирус активируется, получая управление в обработчиках 08h (системный таймер — вызывается каждую секунду) и 09h (нажатие клавиши на клавиатуре) прерываний. Вирус активизируется не на каждом прерывании, а случайным образом. После активации выполняются циклы задержки, проигрываются в случайной последовательности звуки через динамик системного блока.

При обработке функции 4Bh прерывания 21h происходит заражение исполняемых файлов системы. При заражении исполняемого файла вирус выполняет следующие действия:

  • получает атрибуты файла;
  • далее получает информацию о наличии свободного места на текущем диске;
  • открывает файл на чтение;
  • затем следует проверка на зараженность файла;
  • после этого происходит переопределение вектора прерывания 24h для обработки исключительных ситуаций в ходе модификации файла;
  • восстанавливаются ранее сохраненные атрибуты файла, происходит закрытие файла;
  • в случае, если файл еще не заражен происходит новое открытие файла — для записи;
  • происходит получение даты последнего изменения заражаемого файла и сохранение ее;
  • затем выделяется буфер памяти размером 1000h параграфов, в случае успешного выделения памяти происходит копирование в выделенную память тела вируса и счетчик использованных байт буфера устанавливается равным 100h параграфам.

Действия вируса при заражении различных исполняемых файлов проходят по разным алгоритмам.

Для com-файла выполняются следующие действия:

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

Для exe-файла, механизм заражения будет таким:

  • в начале заражения файла происходит модификация таблицы переходов exe-файла для передачи управления вирусу при запуске файла;
  • происходит установка позиции записи в конец заражаемого файла и запись участка буфера, размером равным счетчику использованных байт буфера;
  • после этого производится освобождение памяти ранее выделенного буфера;
  • далее происходит установка ранее сохраненного времени последней модификации файла;
  • файл закрывается;
  • восстанавливаются ранее сохраненные атрибуты файла;
  • восстанавливается ранее сохраненный вектор прерывания 24h.

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

  • в процессе загрузки происходит обращение к зараженной дискете, вирус получает управление;
  • производится попытка определения первого жесткого диска и инфицирование его MBR;
  • если дискета не является загрузочной, вирус выдает сообщение «Non-system disk or disk error. Replace and strike any key when ready» и остается в памяти. Если дискета является загрузочной, то извлекается резервная копия оригинальной загрузочной процедуры и продолжается загрузка;
  • при последующих обращениях к дискам, используя подмененный обработчик прерывания 13h, вирус производит заражение дискет.