Логотип
Главная | Статьи | Kubernetes CTF: взлом cloud-native инфраструктуры
Kubernetes CTF: взлом cloud-native инфраструктуры

Kubernetes CTF: взлом cloud-native инфраструктуры

5 октября, 2026

38

В сценариях захвата флага (CTF) и реальных аудитах безопасности Kubernetes атака редко строится на одном эксплойте. Чаще всего это цепочка: захват веб-пода, разведка окружения кластера, извлечение Service Account токенов, горизонтальное перемещение и побег на рабочий узел (Node).

Разведка и сбор учетных данных из пода

Получив первоначальное выполнение команд (RCE) в поде, исследователь оказывается изолирован в пространстве имен Linux, однако кластер сам монтирует в контейнер учетные данные.

По умолчанию токен сервисного аккаунта и CA-сертификат располагаются по фиксированному пути:

Если в контейнере нет встроенного клиента kubectl, аудит прав выполняется стандартными запросами через curl к внутреннему API-серверу:

Эскалация через избыточные привилегии RBAC

Ошибки в политиках RBAC (Role-Based Access Control) часто дают исследователям права администратора.

  • Если у сервисного аккаунта есть право verbs: ["create"] на resources: ["pods"], можно запустить собственный под с полным доступом к хостовой файловой системе.
  • Наличие права verbs: ["get", "list"] на resources: ["secrets"] позволяет сдампить секреты других пространств имен, включая токены cluster-admin.
  • Право verbs: ["create"] на pods/exec открывает возможность подключаться к соседним привилегированным подам инфраструктуры.

Векторы побега из контейнера на ноду

В учебных CTF-лабораториях контейнеры часто запускаются с небезопасным контекстом безопасности (securityContext).

  1. Монтирование сокета среды выполнения: Если в под проброшен /var/run/docker.sock или сокет containerd, атакующий управляет созданием контейнеров на хосте.
  2. Флаг privileged: true: Контейнер получает доступ ко всем блочным устройствам хоста (/dev). Достаточно смонтировать корневой раздел диска хоста командой mount /dev/sda1 /mnt и модифицировать /mnt/etc/shadow.
  3. Опасные Capabilities: Возможность CAP_SYS_ADMIN позволяет подключать свои cgroup-обработчики (release_agent), а CAP_SYS_PTRACE дает возможность внедрять шеллкод в процессы хостовой ОС при включенном hostPID.

Атака на облачные метаданные (IMDS)

Если кластер развернут в публичном облаке (AWS EKS, GCP GKE, Yandex Cloud), а сетевые политики (NetworkPolicy) не настроены, любой под может постучаться в сервис метаданных инстанса (169.254.169.254).

В устаревших версиях IMDSv1 токен сессии не требуется. Получив ключи роли воркера, исследователь может авторизоваться во внешней консоли облака и перехватить управление всей базовой инфраструктурой.

Комплекс мер защиты кластера

Для нейтрализации рассмотренных атак инженеры внедряют многоэшелонированную модель защиты.

УровеньУязвимая конфигурацияМетод устранения
Workloadprivileged: true, запуск от rootВключение Pod Security Standards (restricted), runAsNonRoot: true
RBACГлобальные роли с wildcard *Принцип наименьших привилегий, регулярный аудит через rakkess
NetworkПлоская сеть без ограниченийСтрогие NetworkPolicy и блокировка подсети 169.254.169.254/32
SecretsМонтирование дефолтных токеновПараметр automountServiceAccountToken: false в манифестах
RuntimeСкрытые процессы и побегиМониторинг системных вызовов через eBPF-агенты (Tetragon, Falco)