
ब्लैक-बॉक्स कुबेरनेट्स आक्रमण सतह खोज उपकरण जो असुरक्षित क्लस्टर, उजागर डैशबोर्ड और गलत कॉन्फ़िगरेशन की पहचान के लिए सिग्नेचर-आधारित स्कैनिंग का उपयोग करता है।
KubeStalk एक उपकरण है जो ब्लैक-बॉक्स परिप्रेक्ष्य से Kubernetes और संबंधित बुनियादी ढांचे पर आधारित हमले की सतह का पता लगाने के लिए है। यह उपकरण Project Resonance - Wave 9 के दौरान इंटरनेट पर असुरक्षित Kubernetes क्लस्टरों की जांच करने के लिए उपयोग किए गए उपकरण का सामुदायिक संस्करण है।
नीचे दिया गया GIF उपकरण के उपयोग को प्रदर्शित करता है:

KubeStalk Python में लिखा गया है और इसमें requests लाइब्रेरी की आवश्यकता है।
उपकरण स्थापित करने के लिए, आप रिपॉजिटरी को किसी भी निर्देशिका में क्लोन कर सकते हैं:
git clone https://github.com/redhuntlabs/kubestalk
क्लोन करने के बाद, आपको python3 -m pip install requests का उपयोग करके requests लाइब्रेरी स्थापित करनी होगी या:
python3 -m pip install -r requirements.txt
सब कुछ सेटअप हो गया है और आप सीधे उपकरण का उपयोग कर सकते हैं।
उपकरण द्वारा समर्थित कमांड-लाइन तर्कों की सूची को -h फ्लैग का उपयोग करके प्रदर्शित किया जा सकता है।
$ python3 kubestalk.py -h
+---------------------+
| K U B E S T A L K |
+---------------------+ v0.1
[!] KubeStalk by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[!] Author: 0xInfection (RHL Research Team)
[!] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
usage: ./kubestalk.py <url(s)>/<cidr>
Required Arguments:
urls List of hosts to scan
Optional Arguments:
-o OUTPUT, --output OUTPUT
Output path to write the CSV file to
-f SIG_FILE, --sig-dir SIG_FILE
Signature directory path to load
-t TIMEOUT, --timeout TIMEOUT
HTTP timeout value in seconds
-ua USER_AGENT, --user-agent USER_AGENT
User agent header to set in HTTP requests
--concurrency CONCURRENCY
No. of hosts to process simultaneously
--verify-ssl Verify SSL certificates
--version Display the version of KubeStalk and exit.
उपकरण का उपयोग करने के लिए, आप स्क्रिप्ट में एक या अधिक होस्ट पास कर सकते हैं। उपकरण को दिए गए सभी लक्ष्य RFC 3986 के अनुरूप होने चाहिए, अर्थात उनमें एक स्कीम और होस्टनाम (और यदि आवश्यक हो तो पोर्ट) शामिल होना चाहिए।
एक मूल उपयोग नीचे दिया गया है:
$ python3 kubestalk.py https://███.██.██.███:10250
+---------------------+
| K U B E S T A L K |
+---------------------+ v0.1
[!] KubeStalk by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[!] Author: 0xInfection (RHL Research Team)
[!] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
[+] Loaded 10 signatures to scan.
[*] Processing host: https://███.██.██.██:10250
[!] Found potential issue on https://███.██.██.██:10250: Kubernetes Pod List Exposure
[*] Writing results to output file.
[+] Done.
HTTP अनुरोधों को -t (HTTP टाइमआउट निर्दिष्ट करने के लिए), -ua (कस्टम उपयोगकर्ता एजेंट निर्दिष्ट करने के लिए) और --verify-ssl (अनुरोध करते समय SSL प्रमाणपत्र सत्यापित करने के लिए) का उपयोग करके ठीक-ठीक समायोजित किया जा सकता है।
आप --concurrency फ्लैग का उपयोग करके एक साथ स्कैन करने के लिए होस्ट की संख्या को नियंत्रित कर सकते हैं। डिफ़ॉल्ट मान 5 है।
आउटपुट एक CSV फ़ाइल में लिखा जाता है और इसे --output फ्लैग द्वारा नियंत्रित किया जा सकता है।
मार्कडाउन में प्रस्तुत CSV आउटपुट का एक नमूना नीचे दिया गया है:
उपकरण BSD 3 खंड लाइसेंस के तहत लाइसेंस प्राप्त है और वर्तमान में v0.1 पर है।
हमारे अटैक सरफेस मैनेजमेंट प्लेटफ़ॉर्म के बारे में अधिक जानने के लिए, NVADR देखें।
| host | path | issue | type | severity |
|---|
https://█.█.█.█:10250 | /pods | Kubernetes Pod सूची का खुलासा | कोर-घटक | भेद्यता/गलत कॉन्फ़िगरेशन |
https://█.█.█.█:443 | /api/v1/pods | Kubernetes Pod सूची का खुलासा | कोर-घटक | भेद्यता/गलत कॉन्फ़िगरेशन |
http://█.█.██.█:80 | / | etcd व्यूअर डैशबोर्ड का खुलासा | ऐड-ऑन | भेद्यता/एक्सपोज़र |
http://██.██.█.█:80 | / | cAdvisor मीट्रिक्स वेब UI डैशबोर्ड का खुलासा | ऐड-ऑन | भेद्यता/एक्सपोज़र |