Антивирусы под ударом: обход антивирусной защиты с помощью 10 строчек кода

2016-03-22 9184 комментарии
Специалист по информационной безопасности под ником evasiv3 опубликовал в своем блоге статью, в которой рассказывается о том, как можно обойти любой антивирус при помощи десяти строк кода

Антивирусы под ударом: обход антивирусной защиты с помощью 10 строчек кода

Автор приведенного ниже способа продолжительное время занимается поиском различных техник обхода антивирусной защиты. Скомпилировав созданный вредоносный код в двоичный бинарный файл, он в первую очередь загрузил его в онлайн сервис VirusTotal. Ни один из 56 антивирусных движков не обнаружил признаков вредоносной природы в данном файле. 

Обход большинства антивирусов для специально подготовленных специалистов является довольно тривиальной задачей. Тем не менее, некоторые пользователи используют инструменты для генерации бинарных файлов, которые могут быть легко обнаружены антивирусными продуктами. Данная статья предназначена в первую очередь для таких пользователей.

Перед тем как будет представлен тот самый код обхода защиты на языке С++, стоит отметить эффективный инструмент создания двоичных файлов, которые почти всегда избегают обнаружения - это Veil-Evasion (часть Veil-Framework).  Данный инструмент действительно очень эффективен в большинстве случаев, а сгенерированные файлы часто успешно проходят проверку VirusTotal.

Совершенно логично возникает вопрос: если есть инструменты наподобие Veil Evasion, зачем нужно заморачиваться с созданием бинарников с полезной нагрузкой оболочки?

На это есть ряд причин:

  • Инструменты имеют тенденцию устаревать;
  • Бинарные файлы, сгенерированные инструментами, могут быть идентифицированы - причем не обязательно полезная нагрузка, а структура двоичного файла;
  • Пентестеры должны знать, как нужно создавать двоичные файлы самостоятельно.

Перед тем, как Вы посмотрите на следующий код, размещенный в блоге автора, стоит отметить, что он ориентирован на платформу Windows, что очевидно благодаря ссылке на windows.h.

обход антивирусной защиты с помощью 10 строчек кода

Все очень просто: приведенный код создает массив символов с кодом оболочки, который Вы можете добавить, выполняет операцию XOR с очень чувствительным ключом с нижним регистром “x”, выделяет некоторую память и исполняется. Стоит подчеркнуть, что вам нужно обернуть в XOR ваш код оболочки с ключом перед компиляцией.

Вы возможно сморите на данный код и думаете, действительно ли так все просто? Бинарный файл не был обнаружен ни одним из 56 движков на VirusTotal. Файл прошел повторную проверку после публикации поста в блоге - детект по-прежнему 0/56. Это очень простой метод, но он действительно эффективен.

Бинарный файл не был обнаружен ни одним из 56 движков на VirusTotal

Бинарный файл, который будет сгенерирован, возможно не будет соответствовать SHA256 тестового примера. В загруженном бинарнике код оболочки был сгенерирован с помощью фреймворка Metasploit.

Заключение

Итак, антивирус мертв. Мы все это знаем. Как говориться: мы не можем утверждать, что 95 процентов компаний полагаются на антивирусную защиту для поддержания безопасности рабочих станций.

Есть ли способ лучше? Безусловно. Некоторые вендоры, которые мы не будем называть, запустили продукты, представляющие новый подход для защиты рабочих станций, которые нацелены на обнаружение техник эксплойтов. Это, как правило, осуществляется путем инъекции DLL в процессы, которые выполняют мониторинг подобных техник и предотвращают их успешную работу.

Примечание: представленное решение может работать не со всеми антивирусами.

Как отмечает автор, данная статья предназначена для пентестеров и лишь знакомит с простым методом обхода антивирусной защиты на базе сигнатур. Эвристические компоненты смогут очень легко обнаружить полезную нагрузку. Не рекомендуется использовать данный метод для более чувствительных реализаций на базе Veil-Framework или Shellter. Данный код является просто шаблоном, его можно усовершенствовать с помощью шифрования с перебором ключей, использования передачи данных по HTTPS и применения дополнительного кода для обхода эвристический защиты. Вариантов много - данный код является лишь фундаментальным примером.

© .

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества