GCP - Compute Privesc
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 में Compute और VPC (नेटवर्क) के बारे में अधिक जानकारी के लिए देखें:
GCP - Compute Enumध्यान दें कि उन सभी विशेषाधिकार वृद्धि हमलों को करने के लिए जो उदाहरण के मेटाडेटा को संशोधित करने की आवश्यकता होती है (जैसे नए उपयोगकर्ताओं और SSH कुंजियों को जोड़ना) यह आवश्यक है कि आपके पास उदाहरण से जुड़े SA पर actAs
अनुमतियाँ हों, भले ही SA पहले से ही जुड़ा हो!
compute.projects.setCommonInstanceMetadata
इस अनुमति के साथ आप संशोधित कर सकते हैं मेटाडेटा जानकारी को एक उदाहरण का और एक उपयोगकर्ता के अधिकृत कुंजियों को बदल सकते हैं, या sudo अनुमतियों के साथ एक नया उपयोगकर्ता बना सकते हैं। इसलिए, आप किसी भी VM उदाहरण में SSH के माध्यम से exec करने में सक्षम होंगे और उस GCP सेवा खाते को चुरा सकते हैं जिसके साथ उदाहरण चल रहा है। सीमाएँ:
ध्यान दें कि VM उदाहरणों में चलने वाले GCP सेवा खातों का डिफ़ॉल्ट रूप से बहुत सीमित दायरा होता है।
आपको लॉगिन करने के लिए SSH सर्वर से संपर्क करने में सक्षम होना आवश्यक है।
इस अनुमति का लाभ उठाने के बारे में अधिक जानकारी के लिए देखें:
GCP - Add Custom SSH Metadataआप नए स्टार्टअप-स्क्रिप्ट को जोड़कर और उदाहरण को पुनरारंभ करके भी इस हमले को कर सकते हैं:
compute.instances.setMetadata
यह अनुमति पिछली अनुमति के समान विशेषाधिकार देती है लेकिन एक विशिष्ट उदाहरण पर, पूरे प्रोजेक्ट के बजाय। पिछले अनुभाग के लिए समान शोषण और सीमाएँ लागू होती हैं।
compute.instances.setIamPolicy
इस प्रकार की अनुमति आपको पिछली अनुमतियों के साथ एक भूमिका देने और उनका दुरुपयोग करके विशेषाधिकार बढ़ाने की अनुमति देगी।
compute.instances.osLogin
यदि OSLogin उदाहरण में सक्षम है, तो इस अनुमति के साथ आप बस gcloud compute ssh [INSTANCE]
चला सकते हैं और उदाहरण से कनेक्ट कर सकते हैं। आपके पास उदाहरण के अंदर रूट विशेषाधिकार नहीं होंगे।
इस अनुमति के साथ VM उदाहरण के अंदर सफलतापूर्वक लॉगिन करने के लिए, आपको VM से जुड़े SA पर iam.serviceAccounts.actAs
अनुमति होनी चाहिए।
compute.instances.osAdminLogin
यदि OSLogin उदाहरण में सक्षम है, तो इस अनुमति के साथ आप बस gcloud compute ssh [INSTANCE]
चला सकते हैं और उदाहरण से कनेक्ट कर सकते हैं। आपके पास उदाहरण के अंदर रूट विशेषाधिकार होंगे।
इस अनुमति के साथ VM उदाहरण के अंदर सफलतापूर्वक लॉगिन करने के लिए, आपको VM से जुड़े SA पर iam.serviceAccounts.actAs
अनुमति होनी चाहिए।
compute.instances.create
,iam.serviceAccounts.actAs, compute.disks.create
, compute.instances.create
, compute.instances.setMetadata
, compute.instances.setServiceAccount
, compute.subnetworks.use
, compute.subnetworks.useExternalIp
यह संभव है कि एक असाइन की गई सेवा खाता के साथ एक वर्चुअल मशीन बनाई जाए और सेवा खाता का टोकन चुराया जाए जिससे विशेषाधिकार बढ़ाने के लिए मेटाडेटा तक पहुंचा जा सके।
इस विधि के लिए शोषण स्क्रिप्ट यहाँ मिल सकती है।
osconfig.patchDeployments.create
| osconfig.patchJobs.exec
यदि आपके पास osconfig.patchDeployments.create
या osconfig.patchJobs.exec
अनुमतियाँ हैं, तो आप एक पैच नौकरी या तैनाती बना सकते हैं। यह आपको वातावरण में पार्श्व रूप से आगे बढ़ने और प्रोजेक्ट के भीतर सभी कंप्यूट उदाहरणों पर कोड निष्पादन प्राप्त करने की अनुमति देगा।
ध्यान दें कि वर्तमान में आपको उदाहरण से जुड़े SA पर actAs
अनुमति की आवश्यकता नहीं है।
यदि आप इसे मैन्युअल रूप से शोषण करना चाहते हैं, तो आपको या तो एक पैच नौकरी या तैनाती** बनानी होगी।** पैच नौकरी चलाने के लिए:
एक पैच डिप्लॉयमेंट को तैनात करने के लिए:
The tool patchy को इस गलत कॉन्फ़िगरेशन का फायदा उठाने के लिए अतीत में उपयोग किया जा सकता था (लेकिन अब यह काम नहीं कर रहा है)।
एक हमलावर इसे स्थिरता के लिए भी दुरुपयोग कर सकता है।
compute.machineImages.setIamPolicy
अपने लिए अतिरिक्त अनुमतियाँ कंप्यूट इमेज पर दें।
compute.snapshots.setIamPolicy
अपने लिए अतिरिक्त अनुमतियाँ एक डिस्क स्नैपशॉट पर दें।
compute.disks.setIamPolicy
अपने लिए अतिरिक्त अनुमतियाँ एक डिस्क पर दें।
इस लिंक का पालन करते हुए आप कुछ विचार पाएंगे जो एक्सेस स्कोप को बायपास करने के लिए आजमाए जा सकते हैं。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)