3.5 KiB
Kubernetes Namespace Escalation
{{#include ../../banners/hacktricks-training.md}}
Kubernetes में यह काफी सामान्य है कि किसी तरह आप एक namespace के अंदर पहुँच जाते हैं (कुछ उपयोगकर्ता क्रेडेंशियल चुराकर या एक pod को समझौता करके)। हालाँकि, आमतौर पर आप एक अलग namespace में बढ़ने में रुचि रखते हैं क्योंकि वहाँ अधिक दिलचस्प चीजें मिल सकती हैं।
यहाँ कुछ तकनीकें हैं जिन्हें आप एक अलग namespace में भागने के लिए आजमा सकते हैं:
K8s विशेषाधिकारों का दुरुपयोग
स्पष्ट रूप से, यदि आपके द्वारा चुराया गया खाता उस namespace पर संवेदनशील विशेषाधिकार रखता है जिसमें आप बढ़ना चाहते हैं, तो आप NS में सेवा खातों के साथ pods बनाने, ns के अंदर पहले से मौजूद pod में एक शेल चलाने, या गुप्त SA टोकन पढ़ने जैसी क्रियाओं का दुरुपयोग कर सकते हैं।
आप जिन विशेषाधिकारों का दुरुपयोग कर सकते हैं उनके बारे में अधिक जानकारी के लिए पढ़ें:
{{#ref}} abusing-roles-clusterroles-in-kubernetes/ {{#endref}}
नोड पर भागना
यदि आप नोड पर भाग सकते हैं या तो क्योंकि आपने एक pod को समझौता किया है और आप भाग सकते हैं या क्योंकि आप एक विशेषाधिकार प्राप्त pod बना सकते हैं और भाग सकते हैं, तो आप अन्य SA टोकन चुराने के लिए कई चीजें कर सकते हैं:
- नोड पर चल रहे अन्य डॉकर कंटेनरों में SAs टोकन के लिए जाँच करें
- नोड में नए kubeconfig फ़ाइलों के लिए जाँच करें जिनमें नोड को अतिरिक्त अनुमतियाँ दी गई हैं
- यदि सक्षम है (या इसे स्वयं सक्षम करें) तो अन्य namespaces के मिरर किए गए pods बनाने की कोशिश करें क्योंकि आप उन namespaces के डिफ़ॉल्ट टोकन खातों तक पहुँच प्राप्त कर सकते हैं (मैंने अभी तक इसका परीक्षण नहीं किया है)
इन सभी तकनीकों को समझाया गया है:
{{#ref}} attacking-kubernetes-from-inside-a-pod.md {{#endref}}
{{#include ../../banners/hacktricks-training.md}}