CDK (Container Docker/Kubernetes Exploitation Toolkit) is a Go-based CLI penetration testing tool designed for container and Kubernetes environments. It evaluates security posture by running extensive checks against container runtime configurations, K8s API permissions, cloud metadata, and kernel exploit possibilities. It then executes a plethora of exploits covering container escape (cgroups, mount, eBPF, runc/containerd CVEs), K8s credential access (secrets, configmaps, tokens), persistence (backdoor daemonsets, cronjobs, shadow API server), privilege escalation (service account token theft, CVE-2026-31431), and remote control (reverse shells, kubelet exec). The binary bundles stripped-down versions of common tools (kubectl, netcat, vi, etc.) for post-exploitation use. The architecture follows a plugin pattern where exploits register themselves via init(), and evaluation uses a category-based check system. The codebase shows signs of organic growth with some legacy cruft (deprecated auto-escape task, commented-out code, future-dated CVEs) and moderate technical debt (global mutable state, panics, outdated Go idioms), but remains functional and actively maintained for penetration testers and security researchers.
This repository is a companion to the Korean book '컨ν μ΄λ μΈνλΌ νκ²½ ꡬμΆμ μν μΏ λ²λ€ν°μ€/λ컀' (Kubernetes/Docker for Container Infrastructure). It provides a collection of Vagrant-based lab environments, shell provisioning scripts, Kubernetes YAML manifests, Helm charts, and CI/CD examples (Jenkins) to help readers build and manage Kubernetes clusters on VirtualBox. The codebase includes single-master and multi-master (via Kubespray) cluster setups, along with demonstrations of core Kubernetes concepts (Pods, Services, Ingress, Storage, Monitoring). While the repository is actively maintained with yearly architecture documents, the actual scripts and configurations rely on outdated software versions (e.g., Kubernetes 1.18, Docker 18.06, CentOS 7) and external URLs that may become stale. The code is functional for educational purposes but is boilerplate-heavy and repetitive across chapters, limiting its reusability in production environments.