C2-инфраструктура без сложных терминов

C2-инфраструктура без сложных терминов
Авторская статья
CTA Image

Материал подготовлен студентом Kraken Academy sh4ndo. Статья публикуется в авторской редакции и отражает личный опыт и мнение автора.

Посмотреть профиль
Важно: Материал опубликован исключительно в образовательных целях и предназначен для изучения принципов работы технологий, методов защиты и проведения легального тестирования безопасности. Любые проверки, сканирование, эксплуатация уязвимостей или иные действия в отношении информационных систем допускаются только при наличии явного разрешения их владельца или в специально созданной лабораторной среде. Автор и администрация Kraken не несут ответственности за неправомерное использование информации, представленной в данной статье.
Когда люди только заходят в мир кибербеза, в голове обычно крутятся эксплойты0day и шифровальщики. Про C2 вспоминают в лучшем случае в конце, как про какой-то абстрактный фреймворк. Хотя именно он и делает из разового запуска скрипта настоящую атаку, где злоумышленник может неделями рулить захваченными хостами, подкидывать новые тулзы и менять план действий в процессе атаки.

Я слишком часто сталкивался с тем, что начинающие инженеры, админы, и какеры по туториалам представляют себе C2 либо как магию, либо не представляют вообще. В отчётах об инцидентах его роль обычно описана слабо, а в учебных материалах этот материал оставляют вне скоупа. В итоге у людей нет цельной картинки: как выглядит канал связи с зомби, как он живёт и за какие хвосты его можно подтянуть.

Поэтому я решил отдельно и по-человечески описать эту тему без романтизации. Начну с общего.

C2: как хакер созванивается со своей армией зомби

Представь, что ты не просто запустил скрипт, а реально захватил пару-тройку машин. Что дальше? Руки потёр, мем открыл, горд собой? Без C2 ты просто оставил где-то в сети пару бесхозных троянов, которые ничего толком не делают, даже если и с бэкдорами, привет из 2000-х

C2 (Command & Control) — это мозг и рация одновременно. То место, откуда злоумышленник, сидящий в тапках, и раздаёт приказы армии ботнета.

Ху из ху

Хакер 👺
- Тот самый повелитель микроскопического хаоса, который хочет не разово какнуть, а управлять.

Агент (имплант, бИкон, бот — называй как хочешь) 🚌
Маленький кусок кода на чужой машине. Его задача очень простая,
- периодически выходить на связь
- спрашивать: "что делаем?"
- выполнять команды и сливать/передавать результаты

C2-сервер 🗿
- Это штаб. Туда стучатся агенты, там оператор видит кто в сети, кто спит, кому что приказать. Красивые таблички, кнопки "выполнить", "забрать файлы", "запусти вот это" и прочий офисный уют, но только для киберхаоса и криминалити.

Прокси и редиректоры 👻
- Чтобы с первой блокировки нельзя было вывести из строя С2 штаб 🔪, между агентом и реальным C2 ставят прокладку — пару лишних серваков. Снаружи видно их, а настоящий С2 сидит глубже и продолжает принимать конекты от агентов.

Как всё это общается

Агент не держит вечный звонок с сервером, это слишком палевно. Он делает вид, что обычная программа, которая иногда ходит в интернет 😊

  1. 1) Агент стартует, получает где-то адреса "старших" (домены, ip'шники, пару запасных вариантов)
    Через какое-то время:
    - стучится: "я тута, вот моя система"
    - получает задания
  2. 2) Потом живёт по схеме:
    - подождал случайное время
    - сходил на C2
    - забрал задачи
    - выполнил
    - принёс отчёт

Снаружи это выглядит как
- програмка ходит по https куда-то
- иногда дёргает DNS
- иногда лезет в популярный сервис

Короче, если не всматриваться — оно как миллион других приложений

Весь трафик, естественно, шифруется. Это не из-за паранойи, а потому что никто не хочет, чтобы админы читали в логах что-то типо этого:

{
   "команда": "стянуть пароли",
   "результат": "пароли"
   ...
}

Популярные способы связи

  1. 1) Через обычный вебчик (http/https)
    - Агент стучится по URL, как браузер
    - Шлёт запросы, получает ответы
    - Внутри — команды и данные, снаружи — обычный веб
  2. 2) Через DNS
    - Запросы к странным поддоменам вроде jdbc12.danceyourmom.com.
    - Внутри этих строк могут прятаться кусочки данных и команд
    - Плюс DNS почти всегда открыт. Минус — это уже давно палится нормальными защитниками
  3. 3) Через облака и сервисы
    - Облачные диски, гисты, заметки, paste-сервисы
    - Агент делает вид, что просто работает с облаком
    - Админу приходится отличать легитимное от "не очень" по поведению, а не по домену
  4. 4) Через мессенджеры
    - Бот в чате, канал, переписка где-нибудь
    - Агент пишет сообщения туда и читает ответы
    - В логах просто приложение, которое пользуется API мессенджера. Как половина других программ
  5. 5) P2P-схемы
      - Нет одного главного сервера — заражённые хосты общаются друг с другом
      - Команды расходятся по сети
      - Убрать такой ботнет сложнее, т.к. нет единого штаба, по которому можно вдарить

Зачем вообще заморачиваться с C2

Без C2
- ты один раз что-то стартанул, может даже что-то стащил, и всё, кино закончено

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

Это уже не "я запустил скрипт с GitHub", а настоящее, где всё рулится удалённо

А что там у защитников 🛡 

Защитники смотрят на это так:
- Какая-то эпка регулярно ходит в одно и то же место
- Лезет в облака или мессенджеры из серверной, где им делать вообще нечего
- DNS-запросы какие-то подозрительно шумные
- Процесс, который должен просто показывать картинку, внезапно запускает команды и трогает системные файлы

Им не нужно видеть команду внутри — достаточно аномального поведения, чтобы понять, что тут что-то не то. Для подобного, кстати, существует класс систем UEBA. Но у нас в РФ оно используется для мониторинга сотрудников 🤦‍♂️

И немного холодного душа напоследок

Если после этого текста у тебя в голове возникла мысль "о, а давай-ка я…", то спойлер: нет нифига, давай-ка ты не будешь. Всё, что выше, — чтобы понимать, как это устроено, а не чтобы повторять подвиги героев из хроник "мордой в пол".

Всё, что связано со взломом без разрешения = уголовка, а не приключение.
Точно такие же механизмы используются легально:
- админы — для удалённого управления
- пентестеры и red team — по договору, с бумажкой и под расписку

Разница одна: разрешение. Без него ты не какер, а фигурант дела.

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

Следующий шаг - практика
CTA Image

Эта статья - только начало. Настоящие навыки появляются тогда, когда знания превращаются в практику. В Kraken Academy мы собрали полноценные курсы по информационной безопасности с лабораториями, практическими заданиями и пошаговыми образовательными треками - от первых шагов до уровня специалиста.

Начать обучение

Читать далее

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

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

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

Иллюзия безопасности: 5 мифов о кибербезопасности, в которые до сих пор верит топ-менеджмент

Иллюзия безопасности: 5 мифов о кибербезопасности, в которые до сих пор верит топ-менеджмент

В корпоративном управлении существует странный парадокс. Руководители тщательно считают финансовые риски, проверяют контрагентов, страхуют имущество, создают резервы и заранее обсуждают, что произойдёт при падении продаж или потере крупного клиента. Но как только разговор переходит к кибербезопасности, та же логика часто исчезает. Вместо оценки вероятности, ущерба и готовности к восстановлению появляются

Шпионаж из розетки: как данные могут покинуть компьютер через кабель питания

Шпионаж из розетки: как данные могут покинуть компьютер через кабель питания

В кибербезопасности принято защищать очевидные каналы связи. Компании устанавливают межсетевые экраны, шифруют трафик, контролируют USB-устройства, отключают беспроводные интерфейсы и физически изолируют особенно важные системы от интернета. Кажется, что компьютер, не подключённый к локальной сети и внешним сервисам, уже не способен передать данные наружу. Однако у любого работающего устройства остаются

Тестовое с сюрпризом: как фейковые рекрутеры воруют пароли и доступы

Тестовое с сюрпризом: как фейковые рекрутеры воруют пароли и доступы

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