Virus.Win16.Gollum

Класс Virus
Платформа Win16
Описание

Technical Details

Файловый резидентный вирус. Остается в памяти 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:WINDOWSSYSTEM.INI
C:WINSYSTEM.INI
C:WIN31SYSTEM.INI
C:WIN311SYSTEM.INI
C:WIN95SYSTEM.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