PDA

Просмотр полной версии : антитрассировочная фича - как это работает ?


B1t.exe
19.01.2009, 23:05
копался у себя в исходниках и в одном из "хороших" вирусов в тебе обнаружил такой кусок кода:
может даже кому-то пригадится:

setupSEH:
; Небольшая антиотладочная, а точнее - антитрассировочная фича.
; Реально "помогает" от эвристики NOD32...
cdq
assume fs:nothing
push dword ptr fs:[edx]
mov fs:[edx], esp
pushfd
pop eax
bts eax, 8
push eax
popfd
jmp $
можете пошагово мне рассказать в чем заключается этот хитрый момент, что до сих пор NOD32 (про других даже не стоит говорить) не видет ничего подозрительного, хотя вирус по сути - очень даже опасный.. сказал бы критичный опасный..

P.S. публикавать не буду, кто хочет - мне в личку - исходники дам.
школьникам и поинерам просьба не писать

ProTeuS
20.01.2009, 01:26
не понимаю при4ем тут эвристика. антитрассирово4ные триксы юзают 4тобы вырубить эмуль в АВ, и нод должен все проэмулить имхо, завтра проверю если будет время

GALIAFF
20.01.2009, 02:35
тут все просто, TP флаг возводится

B1t.exe
20.01.2009, 12:42
ProTeuS
Это автор вируса комментарии делал :) так что я вообше незнаю что там к чему ))))

GALIAFF

А все подробно не вариат написать? я плохо знаю ассемблер, но очень хотел этот момет хорошо понимать и как вообше делается обход NOD32.

из описание вируса:
Заражает PE-файлы путем добавления в них новой секции и замены первых исполняемых байт программы на переход к своему "телу". После получения управления вирус расшифровывается, перехватывает некоторые функции для работы с файлами и перед возвратом управления оригинальной функции пытается заразить целевые файлы. Также перехватывает функцию MessageBox и подменяет выводимый заголовок сообщения на свой.

Lamia
20.01.2009, 13:12
На Wasm.ru усе подробно описано! :) И перехват
функций и так далее!Зайди и поинтересуйся!

B1t.exe
20.01.2009, 13:25
Lamia
в книге Пирогов В. Assembler тоже много чего написано.
тогда зачем вообше форум? ненадо меня никуда слать. знаешь - отвечай, нет - то проходи мимо.

0x0c0de
20.01.2009, 13:32
Сначала мы заталкиваем в стек регистр флагов

pushfd

потом он оказывается в eax

pop eax

http://sasm.narod.ru/apps/eflags/main.htm

формат регистра EFLAGS. Взводим 8 бит

bts eax, 8

после этого после каждой инструкции будет генерироваться отладочное исключение #db. После первого исключения бит сбрасывается снова. Перед установкой флага трассировки, устанавливается SEH обработчик, и мы отправляемся в него при возникновении #DB. трюк старый же

PS
>> тут все просто, TP флаг возводится

Флаг TF называется вообще-то

PPS Нет бы заюзать трассировку ветвлений для самотрассировки; объявить свои сегменты кода, данных в GDT (для этого, ясное дело, драйвер написать), причем селектор на новый дескриптор получать динамически из драйвера, на ходу самомодифицируясь, активно прыгать между сегментами и тд. вот доразберусь в vmcb (это к теме amd-v), так напишу вам что-нибудь ядерное фо фан, если хотите. защитку, аля кракми

Lamia
20.01.2009, 14:12
Обязательно напиши!Только для новичьков!Пускай гуру этого дела не обьясняют,что к чему!

B1t.exe
20.01.2009, 18:16
0x0c0de

Спасибо, вот уже понятно, хотя без хорошего знание ассемблера всеравно трудно понятно.
вот остался только такой любопытный момент - почему антивирус не видет это как вирус?
вот отчет от вирустотала:
__http://www.virustotal.com/ru/analisis/17f485f6ddab32965cb4f9b0d75b43cb
как видно - самые известные антивирусы ничего не видят.

desTiny
21.01.2009, 00:45
вот остался только такой любопытный момент - почему антивирус не видет это как вирус?
вот отчет от вирустотала:
__http://www.virustotal.com/ru/analisis/17f485f6ddab32965cb4f9b0d75b43cb
как видно - самые известные антивирусы ничего не видят.
Ты уверен, что это единственный подобный приём в коде? Поскольку, вообще-то, не должны аверы так плохо на вызов обработчика исключений реагировать.

0verbreaK
21.01.2009, 00:46
Допустим если антивирус проверяет по определенной сигнатру, а не эмулирует работу вируса, то вставив такой код он не будет его видеть, но все же он должен и эмулировать вирус, так что это фантастика..

Lamia
21.01.2009, 00:57
Я тебе могу множество произвести и даже криптор полиморфный предложить,но если ты сам будеш
подсказки постоянно искать то беспонту!

B1t.exe
22.01.2009, 16:25
desTiny
ммм, вроде да. если хотите - могу вам прислать в личку исходник для полного изучение.