Энциклопедия компьютерных вирусов

         

Blah, семейство


Опасные резидентные файлово-загрузочные "стелс"

-вирусы. Перехватывают INT 13h, 21h и записываются в начало .BAT-файлов и MBR винчестера. Содержат строку текста:

Blah virus (DA/PS)

При заражении MBR вирус записывается в первые четыре сектора винчестера, четвертый сектор содержит первоначальную MBR. При заражении BAT-файлов вирус записывается в их начало, сдвигая первоначальный текст на 3385 байт вниз. При этом кодирует себя каким-то алгоритмом, преобразующим HEX-код вируса в ASCII-строки, и записывает результат кодировки и служебные строки в начало BAT-файлов (текст между '[' и ']' является комментарием):

@echo [ HEX код ] >|.com @echo [ HEX код ] >>|.com @echo [ ASCII текст ] >>|.com @echo [ ASCII текст ] >>|.com [ повтор ... ] @echo [ ASCII текст ] >>|.com @if %0. == . | @| @del |.com @if %0. == . autoexec @%0

HEX-код содержит декодировщик ASCII->BIN, строки ASCII-текста содержат основное тело вируса, преобразованное в ASCII (подобно UUencode/XXencode). При запуске такого BAT-файла его команды создают файл є.COM , в который записывается код декодера ASCII->BIN и закодированное тело вируса. Затем этот COM-файл запускается, его код декодирует тело вируса из ASCII в HEX, и управление передается на декодированный участок (основное тело вируса), который заражает оперативную память (перехватываются INT 13h, 21h) и возвращает управление BAT-файлу. BAT-файл затем уничтожает файл є.COM и запускает себя повторно. При повторном запуске BAT-файл проходит через "стелс"-фильтр (код вируса не получает управления) и выполняется в своем первоначальном виде. Вирус обращает особое внимание на файл AUTOEXEC.BAT, так как это единственный BAT-файл имя которого недоступно по команде "%0": при первом запуске AUTOEXEC.BAT (при загрузке системы) команда "%0" не содержит имени запущенного файла. При выполнении основного тела (декодированного из ASCII) вирус проверяет в памяти наличие уже загруженной TSR-копии вызовом "Ты здесь?" (INT 21h, AH=62h, DX=F904h), а затем передает управление на процедуру инсталляции (эта же процедура выполняется при загрузке с зараженной MBR).
При инсталляции вирус уменьшает размер оперативной памяти (слово по адресу 0000:0413), копирует себя в "отрезанный" блок памяти, перехватывает INT 13h, 21h и передает управление процедуре заражения MBR. Обработчик INT 21h вируса перехватывает пять функций: AH=11h/12h (FindFirst/Next FCB / DIR command) - вирус "уменьшает" длины файлов. AX=3D00h (Open file) - при обращении к BAT-файлам заражает их: кодирует сабя в ASCII и записывает в начало файла. AH=3Fh (Read) - вызывает "стелс"-процедуру. AH=62h (Get PSP) - вызов "Ты здесь?". При этом вызове вирус выключает все процедуры заражения и "стелс" (INT 13h/21h). Зачем это сделано - непонятно, так как "стелс"-процедуры не позволяют коду вируса быть исполненным дважды. Обработчик INT 13h вируса перехватывает функции чтения/записи (AH=2/3) и вызывает процедуры заражения винчестера и "стелс". "Blah.3385" содержит ошибку: маркер загрузочного сектора (слово 55AAh) расположен в теле вируса со смещением 01FFh вместо 01FEh (ошибка всего на один байт). По этой причине загрузка с зараженного MBR приводит к выдаче сообщения об ошибке, а диски винчестера оказываются недоступными. В результате вирус работает только до первой перезагрузки.


Содержание раздела