Kubernetes Namespace Escalation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Kubernetes में यह काफी सामान्य है कि किसी तरह आप एक namespace के अंदर पहुँच जाते हैं (कुछ उपयोगकर्ता क्रेडेंशियल चुराकर या एक pod को समझौता करके)। हालाँकि, आमतौर पर आप एक अलग namespace में बढ़ने में रुचि रखते हैं क्योंकि वहाँ अधिक दिलचस्प चीजें मिल सकती हैं।
यहाँ कुछ तकनीकें हैं जिन्हें आप एक अलग namespace में भागने के लिए आजमा सकते हैं:
स्पष्ट रूप से, यदि आपके द्वारा चुराया गया खाता उस namespace पर संवेदनशील विशेषाधिकार रखता है जिसमें आप बढ़ना चाहते हैं, तो आप NS में सेवा खातों के साथ pods बनाने, ns के अंदर पहले से मौजूद pod में एक शेल चलाने, या गुप्त SA टोकन पढ़ने जैसी क्रियाओं का दुरुपयोग कर सकते हैं।
आप जिन विशेषाधिकारों का दुरुपयोग कर सकते हैं, उनके बारे में अधिक जानकारी के लिए पढ़ें:
Abusing Roles/ClusterRoles in Kubernetesयदि आप नोड पर भाग सकते हैं या तो क्योंकि आपने एक pod को समझौता किया है और आप भाग सकते हैं या क्योंकि आप एक विशेषाधिकार प्राप्त pod बना सकते हैं और भाग सकते हैं, तो आप अन्य SA टोकन चुराने के लिए कई चीजें कर सकते हैं:
नोड पर चल रहे अन्य डॉकर कंटेनरों में SAs टोकन के लिए जाँच करें
नोड में अतिरिक्त अनुमतियों के साथ नए kubeconfig फ़ाइलों के लिए जाँच करें
यदि सक्षम है (या इसे स्वयं सक्षम करें) तो अन्य namespaces के मिरर किए गए pods बनाने का प्रयास करें क्योंकि आप उन namespaces के डिफ़ॉल्ट टोकन खातों तक पहुँच प्राप्त कर सकते हैं (मैंने अभी तक इसका परीक्षण नहीं किया है)
इन सभी तकनीकों को समझाया गया है:
Attacking Kubernetes from inside a PodLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)