Малварь как искусство Интересное наблюдение по антивирусной защите


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
Всем привет !

Провёл я небольшое исследование, цель этого исследования был посмотреть как популярные антивирусы (Нод, Касперский, Нортон) реагируют на направленные атаки и как быстро будут блокировать угрозы, в случае массовой атаки.

Для этого были написаны простенькие инструменты (С исходниками можете ознакомится ниже):

1. Для направленной атаки, использовался кейлоггер локального действия, упакованный в SFX архив, для отправки логов использовался специальный скрипт, ознакомится с методикой можно здесь:Малварь как искусство - Пишем кейлоггер Stealth Keylogger (100% FUD)

2. Для массовой атаки использовался просто криптор/протектор, которым критовался сервер DarkComet Original из этой темы:DarkComet RAT (все версии)

Итак итоги:

Так-как это исследование чисто для себя, то тут не будет никаких графиков, как это бывает на явно не проплаченных тестах, просто поделюсь своими наблюдениями:

- Ну во первых, если говорить про направленные атаки, то практически все пропускают, будь-то кейлоггер или новый криптор...

Причём если говорить про криптор, то если не использовать как в делфи класс string, а использовать динамическое выделение в памяти и работать с шифрованными/расшифрованными данными как с байтами в памяти, то хвалёная технология нода и др.веба детекта в памяти почему-то отваливается, незнаю почему ?

Я использовал ещё эти техники:ВАЖНО - Учимся обходить детект антивирусов - Часть 1.

Весьма работают...

- Массовая атака:

Для проверки времени обнаружения новых угроз, я включил "Облако" у антивирусов (Нод, Касперский), а также залил вирусы на VT и был приятно удивлён:

Нод начал детектить залитые файлы менее чем за 8-мь часов после заливки, причём пропалил не только сами файлы, ну и пути к ним, после утреннего обновления все мои проекты полетели в карантин (Бинарники) !смех-смех!!!

В общем в кратце выводы следующие:

1) Крипторы сейчас актуальны, НО знайте если вы начнёте распространять заразу, скорей-всего буквально за менее суток будет детект, всё зависит, от попадёт/непопадёт вреданос в облако, если на VT то капец будет будет очень близок, дело нескольких часов скорей-всего...Dmeh-Smeh-Smeh!!!

Возможно частичным решением тут будет, криптовать с разным ключом, разный стаб в каждом билде, каждый раз генерировать мусор в зависимости от случайных данных...:)

2) Почему-то у меня не детектили антивирусы запуск в памяти, ну и обход уже задетектиного стаба, буквально пятиминутное дело...

Как пример в стабе, удалил хук, изменил расположение функции расшифровки данных, тупо поместил его в функцию run и немного разбавил мусором, всё детект пропал...:)

3)Но несмотря на всё выше сказанное, всё-же антивирусы справляются со своей задачей, а это защита от массовых атак, ну а действительно, очень быстрая реакция и облачная защита, буквально за несколько часов может остановит атаку (Всё зависит от объема охвата), но понятно что к сожалению какой-то процент может заразиться, так-что не попадайтесь...:)

От направленной атаки, данные решения бесполезны и практически не защищают...

Особенно если знать какой антивирус стоит у жертвы, достаточно скачать его к себе и потестить, если это криптор, то достаточно определить в каком месте детект и скрыть этот код за антиэмуляцией (Определить можно банально и легко, просто комментируя код (Часто API) и проверять детект после билда).

Если исходник какого трояна, то вообще часто достаточно немного поменять код, или поиграть с флагами компиляции, даже не меняя код...:)
 

MIXA066

Уважаемый пользователь
Форумчанин
Регистрация
18.05.2014
Сообщения
425
Репутация
127
на самом деле не понимаю почему считается что испанские (на vb6) крипторы не защищают файл во время запуска, если отключить палевные для проактивки функции в сервере, файл спокойно запустится и будет отстукивать, даже если юзать чищенный паблик криптор с какогонибудь лвл23
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
на самом деле не понимаю почему считается что испанские (на vb6) крипторы не защищают файл во время запуска, если отключить палевные для проактивки функции в сервере, файл спокойно запустится и будет отстукивать, даже если юзать чищенный паблик криптор с какогонибудь лвл23
Там дететкт в памяти, по простому антивирус ждёт пока вирус распакуется в памяти, или создаст процесс в памяти, а потом проверяет его...

Для обхода этого нужна антиэмуляция, вообще я непонимаю почему на каких-то крипторах есть детект, а на каких-то нет, с чем это связанно хз. ?

Но факт такой, что если использовать динамическое выделение памяти на си, например BYTE *Virus =(BYTE *) mallock (Virus_Size), где:

*Virus - указатель на область памяти, где расшифрованный вирус (байты);

В таком случае при создании процесса в памяти, нод не детектит.

Если-же использовать на Делфи то-же самое, но так: var string Virus.

Где Virus - Строка, тоже хранит массив байт, но как строку.

В таком случае нод детектит при запуске в памяти.

Хз. из-за чего так ? В чём причина, я незнаю, но у меня так.
 

MIXA066

Уважаемый пользователь
Форумчанин
Регистрация
18.05.2014
Сообщения
425
Репутация
127
нод один из лучших в этом плане, он даже по сигнатурам почти всегда такие крипторы палит, я проверял аваст, защитник виндоус, касперский версию от 16 года, их обходили такие крипторы
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
По мне майкросовтский сложней-всего обойти.
 

MIXA066

Уважаемый пользователь
Форумчанин
Регистрация
18.05.2014
Сообщения
425
Репутация
127
По мне майкросовтский сложней-всего обойти.
пару дней назад специально ставил последнюю версию 10 со всеми обновами и полностью включенным защитником, все получилось
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
пару дней назад специально ставил последнюю версию 10 со всеми обновами и полностью включенным защитником, все получилось
Проблем обхода нода и каспера не испытал, нод отвалился на sleep(1000), а каспер так и не профиксили баг не баг 2010 года, когда эмулятор отваливается при заходе в хученную функцию, на хабре где-то было...

А-вот с майкрософтом пришлось попотеть, пришлось заюзать все методы от сюда в комплексе, только тогда отвалился детект:ВАЖНО - Учимся обходить детект антивирусов - Часть 1.
 

MIXA066

Уважаемый пользователь
Форумчанин
Регистрация
18.05.2014
Сообщения
425
Репутация
127
Проблем обхода нода и каспера не испытал, нод отвалился на sleep(1000), а каспер так и не профиксили баг не баг 2010 года, когда эмулятор отваливается при заходе в хученную функцию, на хабре где-то было...

А-вот с майкрософтом пришлось попотеть, пришлось заюзать все методы от сюда в комплексе, только тогда отвалился детект:ВАЖНО - Учимся обходить детект антивирусов - Часть 1.
очень странно) достаточно легко его обошел, взял рандомный криптор на бейсике, почистил его, единственная сложность была в том что сканеры не работают бесплатные поэтому пришлось ставить систему с ним, сервер использовал хтрим рат
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
Ну думаю ничего странного нет, ибо мы сейчас говорим о разных подходах:

- Твой подход, это написание криптора при помощи интерпретируемого ЯП, в данном случае исходный код программы не преобразовывается в машинный код для непосредственного выполнения центральным процессором (как в компилируемых языках), а исполняется с помощью специальной программы-интерпретатора.

- Мой подход, это создание нативного приложения, где исходный код преобразуется в машинный.

Видно и подход проверки тоже разный и похоже Майкрософт как-раз очень хорошо умеет эмулировать нативные приложения, а интерпретируемого хуже, ну или ты какую-то супер эмуляцию юзаешь, я хз. ! :)

А вообще я незнаю какой подход сейчас лучше, на фреймворках куда легче писать приложения, но с другой стороны в С++ и асме много возможностей, правда эти возможности ещё нужно уметь реализовать.:)
 

MIXA066

Уважаемый пользователь
Форумчанин
Регистрация
18.05.2014
Сообщения
425
Репутация
127
Ну думаю ничего странного нет, ибо мы сейчас говорим о разных подходах:

- Твой подход, это написание криптора при помощи интерпретируемого ЯП, в данном случае исходный код программы не преобразовывается в машинный код для непосредственного выполнения центральным процессором (как в компилируемых языках), а исполняется с помощью специальной программы-интерпретатора.

- Мой подход, это создание нативного приложения, где исходный код преобразуется в машинный.

Видно и подход проверки тоже разный и похоже Майкрософт как-раз очень хорошо умеет эмулировать нативные приложения, а интерпретируемого хуже, ну или ты какую-то супер эмуляцию юзаешь, я хз. ! :)

А вообще я незнаю какой подход сейчас лучше, на фреймворках куда легче писать приложения, но с другой стороны в С++ и асме много возможностей, правда эти возможности ещё нужно уметь реализовать.:)
фреймворки же еще зависимости имеют это для мальвари оч плохо
 
Верх Низ