• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Red Team Туториал: проектирование и настройка редиректоров трафика C2

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
Управление скомпрометированными машинами в целевой сети осуществляется через специально разработанную инфраструктуру Command & Control (C&C, C2). В этой статье описывается обоснование проектных решений C2 и предоставляется пошаговая настройка редиректора C2.

Отчет может быть полезен для оборонных аналитиков как понимание операций групп противника, а также предоставление необходимой информации для тех, кто хочет смоделировать каналы C2 противника. Мы расскажем, как создать редиректор HTTPS, используя базовые инструменты — nginx, минималистичный VPS, бесплатный DNS и сервисы сертификатов PKI.

Введение

Инфраструктура C2 построена с намерением преследовать несколько целей:

- скрыть истинное местоположение сервера C2;
- имитировать легитимную коммуникацию;
- разрешить доступ к реальному C2-серверу только контрольному трафику вредоносного ПО;
- быть надежным — при обнаружении части инфраструктуры С2, тем не менее, поддерживать канал С2 до цели.


Простая переадресация портов с помощью таких инструментов, как socat или SSH, может решить проблему № 1 и частично № 4. Тем не менее, для решения проблем № 2 и № 3 нам необходимо ввести более сложные перенаправители — хосты, которые действуют как обратные прокси-серверы для перенаправления только определенного трафика на настоящий сервер C2, в то же время предоставляя поддельный контент для произвольного посетителя. В этой статье мы сосредоточимся на HTTPS как на протоколе для внешней связи C2. Общий обзор такой конструкции представлен на рисунке 1 ниже:

1668021195016.png


Настройка программного обеспечения

Наиболее ценным ресурсом для любого редиректора является общедоступный IP-адрес, при этом он не требует каких-либо мощных ресурсов процессора или памяти для достижения своих целей. Поэтому минималистичные образы от обычных облачных провайдеров, таких как AWS или Azure, вполне подходят (например, t3a.nano от AWS с 2 виртуальными ЦП, 500 МБ ОЗУ и 8 ГБ на диске).

После доступа к такому хосту мы готовы собрать нашу настройку nginx:

1668021244723.png


Некоторые настройки могут быть изменены перед перезапуском nginx в nginx.conf в разделе http для поддержки специфики HTTP-трафика, например, потенциально длинных доменных имен C2 или передачи файлов:

1668021251794.png


Домен и сертификат

Для проверки концепции мы будем использовать один из сервисов, который позволит вам определить конфигурацию вашего субдомена DNS без необходимости регистрировать ваш домен, freeDNS [1]. Здесь вы можете зарегистрировать свои собственные записи A, AAAA, TXT в некоторых привлекательных доменах, например, allow.org, ignorelist.com, awiki.org и т.д.

1668021262515.png


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

После того, как вновь зарегистрированный поддомен будет распространен, и мы увидим содержимое вашего /usr/share/nginx/html/ за ним, время запросить сертификат HTTPS для нашего домена с помощью certbot следующим образом:
1668021282052.png


Это создаст сертификаты HTTPS в /etc/letsencrypt/live/<domain>/.

Условия прокси

Теперь мы готовы настроить конфигурацию сайта в nginx. Перед этим было бы полезно обсудить конструктивное решение из вводного списка: "разрешить доступ к реальному серверу C2 только управляющему трафику агента".

Во время симуляции этического противника ваша главная цель — не навредить какой-либо третьей стороне и оставаться в рамках юридического соглашения. В результате вы несете ответственность за снижение риска компрометации неавторизованных машин, например, если сотрудник открывает зараженный макрос на своем домашнем ПК. Более того, помимо фактической функциональности C2, сервер C2 может содержать инструменты пост-эксплуатации, поэтому раскрывать дополнительную информацию о злоумышленнике.

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

- Запросить или идентифицировать (например, общедоступные з
аписи ASN) диапазон IP-адресов целевых служб; установить канал C2 только для запросов, поступающих из этой области.

- Разрешены только запросы с определенной подстрокой User-Agent.


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

Конфигурация Nginx ниже:

- создает HTTPS-страницу с зарегистрированными поддоменами и сертификатами, обслуживающую содержимое /opt/paloaltonetworks.update.allowed.org/;

- проксирует трафик на localhost:8080, только если запрос содержит подстроку "41.0.2228.0' и поступает либо с 123.123.123.0/24, либо с 213.213.213.0/24;

1668021317303.png


На сервере C2 запустите прослушиватель HTTPS на любом произвольном порту, например 443, и перенаправьте этот порт из редиректора локально:

1668021327266.png


Мы намеренно пропускаем часть настройки сервера C2 в этой статье. Это отдельная тема, С2-серверов много, а значит, доступна вариативность [7]. Несколько заметок такие :

- Обязательно укажите коллбэк агента на ваш поддомен, а не на адрес привязки слушателя C2;

- Если серверу C2 требуется формат сертификата PKCS12 HTTPS, соберите его из файлов letsencrypt с помощью openssl. Пример для платформы Covenant C2:

1668021339424.png


Имитация веб-страницы

Современные сети полагаются на анализ репутации домена и веб-сайта. Например, если известно, что домен распространяет вредоносное ПО, все ответственные поставщики прокси-серверов и брандмауэров будут применять эту информацию, чтобы запретить пользователям своих клиентов посещать эту веб-страницу.

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

Первоначальная категоризация новых страниц в основном происходит с использованием моделей машинного обучения с классификацией по нескольким меткам и является широко опубликованной темой [2][3]. Входные характеристики формируются с использованием метаинформации страницы — заголовка, определенных слов в теле текста, поведения javascript и т. д.

Лучший способ имитировать законную бизнес-страницу и попасть в нужную категорию — это клонировать бизнес-страницу. Умная имитация может работать хорошо, даже если аналитик безопасности вручную посещает вашу страницу во время реагирования на инцидент — если содержимое страницы и домен хорошо отражают функциональность их инфраструктуры, канал C2 может оставаться незамеченным и, следовательно, активным в течение длительного периода времени.

Субдомен, который мы зарегистрировали, предполагает информацию об обновлениях для любого продукта Palo Alto Networks (PAN), поэтому мы решили клонировать соответствующую страницу под docs.paloaltonetworks.com. wget хорошо подходит для этих целей, но обязательно используйте tmux session или nohup, чтобы отсоединить процесс загрузки от сеанса SSH, так как это может занять некоторое время:

1668021351829.png


1668021359998.png


Если ваша целевая страница не отображается должным образом, вы можете рассмотреть возможность добавления следующих параметров wget во время клонирования:

1668021369522.png


Через некоторое время мы можем проверить классификацию нашей страницы по основным поставщикам: PAN [4], Symantec (т.е. прокси BlueCoat) [5], CheckPoint [6] и т. д.

1668021379435.png


Если доверенное лицо целевого объекта известно или может быть определено из прошлых описаний вакансий, профилей сотрудников в LinkedIn или общедоступных записей о закупках, крайне важно ориентироваться на мнение конкретного поставщика.

Улов

На данный момент наша инфраструктура C2 полностью функциональна и может использоваться для имитации реального противника. Хотя вся предыдущая работа не касается bullet Nr. 4 из исходного списка: " быть надежным — при обнаружении части инфраструктуры С2, тем не менее, поддерживать канал С2 до цели". В этом подразделе не рассматриваются какие-либо дополнительные настройки, но поднимается вопрос о том, как реальные злоумышленники выполняют это требование.

Как вы помните, на рис. 1 представлены две группы перенаправителей, спрятанные за разными доменами и IP-адресами. Один из них используется для интерактивного манипулирования скомпрометированными ресурсами для бокового перемещения и вывода данных (в профессиональной литературе называется Short Haul [8]), тогда как второй действует как пассивный канал обратного вызова и Long Haul.

Long Haul использует отдельный сетевой канал (например, может использовать DNS-туннелирование вместо HTTPS-транспорта) и может использовать другое семейство вредоносных программ или технику сохранения. Агенты за этим каналом могут иметь редкие коллбеки (может быть раз в месяц) и используются только для восстановления Short Haul.

Поэтому аналитики безопасности должны рассмотреть возможность обнаружения резервного канала с совершенно другим сетевым отпечатком. Любое соединение с скомпрометированного хоста к неавторизованному хосту должно быть под подозрением.

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

Выводы

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

Список используемой литературы

[1] (Jan. 2021), “Free DNS — Dynamic DNS — Static DNS subdomain and domain hosting”, [Online], Available: https://freedns.afraid.org
[2] P.D. Woogue, G.A.A. Pineda, C.V. Maderazo, “Automatic Web Page Categorization Using Machine Learning and Educational-Based Corpus”, International Journal of Computer Theory and Engineering, 2017.
[3] F.D. Fausti, F. Pugliese, D. Zardetto, “Toward Automated Website Classification by Deep Learning”, 2019.
[4] (Jan. 2021), “Palo Alto Networks URL filtering — Test A Site”, [Online], Available: https://urlfiltering.paloaltonetworks.com
[5] (Jan. 2021), “Symantec Sitereview”, [Online], Available: https://sitereview.bluecoat.com
[6] (Jan. 2021), “URL Categorization | Check Point Software Technologies”, [Online], Available: https://urlcat.checkpoint.com/urlcat/
[7] (Jan. 2021), “The C2 Matrix”, [Online], Available: https://www.thec2matrix.com/matrix
[8] (Sep. 2014), “Infrastructure for Ongoing Red Team Operations”, [Online], Available: https://blog.cobaltstrike.com/2014/09/09/infrastructure-for-ongoing-red-team-operations/

Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://ditrizna.medium.com/design-and-setup-of-c2-traffic-redirectors-ec3c11bd227d
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх