GCP - Containers & GKE Enum
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)
GCP कंटेनरों में आप GCP द्वारा प्रदान की जाने वाली अधिकांश कंटेनर आधारित सेवाएँ पा सकते हैं, यहाँ आप सबसे सामान्य सेवाओं को सूचीबद्ध करने का तरीका देख सकते हैं:
In the following page you can check how to container अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाना:
GCP - Container Privescये मशीनों (नोड्स) का पूल हैं जो कुबेरनेट्स क्लस्टर बनाते हैं।
Kubernetes क्या है इस बारे में जानकारी के लिए इस पृष्ठ को देखें:
Kubernetes Pentestingपहले, आप यह जांच सकते हैं कि क्या आपके प्रोजेक्ट में कोई Kubernetes क्लस्टर मौजूद हैं।
यदि आपके पास एक क्लस्टर है, तो आप gcloud
को अपने ~/.kube/config
फ़ाइल को स्वचालित रूप से कॉन्फ़िगर करने के लिए कह सकते हैं। यह फ़ाइल आपको प्रमाणित करने के लिए उपयोग की जाती है जब आप kubectl का उपयोग करते हैं, जो K8s क्लस्टरों के साथ बातचीत करने के लिए मूल CLI है। इस कमांड को आजमाएँ।
फिर, उत्पन्न किए गए क्रेडेंशियल्स को देखने के लिए ~/.kube/config
फ़ाइल पर नज़र डालें। इस फ़ाइल का उपयोग सक्रिय gcloud
सत्र द्वारा उपयोग की जा रही समान पहचान के आधार पर एक्सेस टोकन को स्वचालित रूप से ताज़ा करने के लिए किया जाएगा। इसके लिए सही अनुमतियों की आवश्यकता होती है।
एक बार जब यह सेट हो जाए, तो आप क्लस्टर कॉन्फ़िगरेशन प्राप्त करने के लिए निम्नलिखित कमांड आज़मा सकते हैं।
You can read more about gcloud
for containers here.
This is a simple script to enumerate kubernetes in GCP: https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_k8s_enum
Initially this privilege escalation technique allowed to privesc inside the GKE cluster effectively allowing an attacker to fully compromise it.
This is because GKE provides TLS Bootstrap credentials in the metadata, which is accessible by anyone by just compromising a pod.
The technique used is explained in the following posts:
Ans this tool was created to automate the process: https://github.com/4ARMED/kubeletmein
However, the technique abused the fact that with the metadata credentials it was possible to generate a CSR (Certificate Signing Request) for a new node, which was automatically approved. In my test I checked that those requests aren't automatically approved anymore, so I'm not sure if this technique is still valid.
In this post it was discovered it was discovered a Kubelet API address accesible from inside a pod in GKE giving the details of the pods running:
यहां तक कि अगर API संसाधनों को संशोधित करने की अनुमति नहीं देती, तो प्रतिक्रिया में संवेदनशील जानकारी मिलना संभव हो सकता है। एंडपॉइंट /pods को Kiterunner का उपयोग करके पाया गया।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)