Вредоносные сетевые атаки участились в последнее десятилетие. Одна из самых разрушительных атак, часто выполняемая через DNS, осуществляется посредством командования и управления, также называемого C2 или C&C. Командование и управление определяется как техника, используемая субъектами угроз для связи со взломанными устройствами через сеть.
Обычно C2 включает один или несколько скрытых каналов, но в зависимости от вида атаки конкретные механизмы могут сильно различаться. Злоумышленники используют эти каналы связи для передачи на взломанное устройство инструкций по загрузке дополнительного вредоносного ПО, созданию ботнетов или утечке данных
По данным MITRE ATT&CK, существует более 16 различных тактик передачи команд и управления, используемых противниками, включая множество подтехник:
Протокол прикладного уровня
Передача данных через съемные носители
Кодирование данных
Обфускация данных
Динамическое разрешение
Зашифрованный канал
Обратные каналы
Передача инструментов на входе
Многоступенчатые каналы
Протокол не прикладного уровня
Нестандартный порт
Туннелирование протоколов
Прокси
Программное обеспечение для удаленного доступа
Сигнализация трафика
Веб-сервис
Атакующий начинает с создания плацдарма для атаки целевой машины, которая может находиться за брандмауэром нового поколения. Это может быть сделано различными способами:
С помощью фишингового письма, которое:
обманом заставляет пользователя перейти по ссылке на вредоносный веб-сайт
или
открыть вложение, которое выполняет вредоносный код.
Через дыры в безопасности в плагинах для браузеров.
Через другое зараженное программное обеспечение.
После установления связи зараженная машина отправляет сигнал на сервер злоумышленника в поисках следующей инструкции. Скомпрометированный хост выполняет команды с C2-сервера злоумышленника и может установить дополнительное программное обеспечение. Многие злоумышленники пытаются смешать трафик C2 с другими типами легитимного трафика, такими как HTTP/HTTPS или DNS. Цель - избежать обнаружения.
Теперь злоумышленник полностью контролирует компьютер жертвы и может выполнить любой код. Вредоносный код обычно распространяется на другие компьютеры, создавая ботнет - сеть зараженных устройств. Таким образом, злоумышленник может получить полный контроль над сетью компании.
Командование и контроль - один из последних этапов "цепочки поражения" (по терминологии Lockheed Martin). Он наступает непосредственно перед тем, как субъекты угроз выполняют свои задачи. Это означает, что злоумышленник уже обошел все имеющиеся средства защиты. Поэтому специалистам по безопасности очень важно быстро обнаружить и предотвратить C2.
Существует три различных модели C2C-атак. Эти модели определяют, как зараженная машина будет взаимодействовать с командно-контрольным сервером. Каждая из них разработана таким образом, чтобы как можно эффективнее избежать обнаружения.
1, Централизованная архитектура
Это, вероятно, наиболее распространенная модель, напоминающая архитектуру клиент-серверных транзакций. Когда новый компьютер заражается ботом, он присоединяется к бот-сети, инициируя соединение с C&C-сервером. Подключившись к каналу, бот ожидает на C&C-сервере команд от бот-мастера. Злоумышленники часто используют распространенные хостинговые сервисы для C2c-серверов.
Такую модель легко обнаружить и заблокировать, поскольку команды поступают из одного источника. Поэтому IP-адрес может быть быстро обнаружен и заблокирован. Однако некоторые киберпреступники адаптировали свой подход, используя балансировку нагрузки, редиректоры и прокси-серверы. В этом случае обнаружение становится более сложной задачей.
2, Одноранговая (P2P) архитектура
Эта модель является децентрализованной. Вместо того чтобы полагаться на центральный сервер, участники ботнета передают команды между узлами. Это делает модель P2P гораздо более сложной для обнаружения. Даже в случае обнаружения обычно удается уничтожить только один узел за раз.
Пиринговая модель часто используется в тандеме с централизованной моделью для создания гибридной конфигурации. Архитектура P2P работает как запасной вариант, когда главный сервер взломан или выведен из строя.
3, Случайная архитектура