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