GCP - Compute Privesc
Compute
Compute और VPC (नेटवर्क) के बारे में अधिक जानकारी के लिए GCP में जांच करें:
pageGCP - Compute Enumcompute.projects.setCommonInstanceMetadata
compute.projects.setCommonInstanceMetadata
इस अनुमति के साथ आप एक इंस्टेंस की मेटाडेटा जानकारी को संशोधित कर सकते हैं और एक उपयोगकर्ता की अधिकृत कुंजियाँ बदल सकते हैं, या सुडो की अनुमतियों वाले नए उपयोगकर्ता बना सकते हैं। इसलिए, आप किसी भी वीएम इंस्टेंस में SSH के माध्यम से exec कर सकेंगे और जीसीपी सेवा खाता चोरी कर सकेंगे जिसके साथ इंस्टेंस चल रहा है। सीमाएँ:
ध्यान दें कि डिफ़ॉल्ट रूप से वीएम इंस्टेंस में चल रहे जीसीपी सेवा खातों का बहुत ही सीमित दायरा होता है
आपको SSH सर्वर से संपर्क करने की क्षमता होगी लॉगिन करने के लिए
इस अनुमति को कैसे शार्ट करने के बारे में अधिक जानकारी के लिए जांचें:
pageGCP - Add Custom SSH Metadatacompute.instances.setMetadata
compute.instances.setMetadata
यह अनुमति पिछली अनुमति के समान विशेषज्ञताएँ देती है लेकिन पूरे परियोजना के बजाय विशेष इंस्टेंस के लिए। पिछले खंड के लिए उसी शोषण और सीमाएँ लागू होती हैं।
compute.instances.setIamPolicy
compute.instances.setIamPolicy
इस प्रकार की अनुमति आपको पिछली अनुमतियों के साथ खुद को भूमिका प्रदान करने और उनका दुरुपयोग करने की अनुमति देगी।
compute.instances.osLogin
compute.instances.osLogin
यदि इंस्टेंस में OSLogin सक्षम है, तो इस अनुमति के साथ आप बस gcloud compute ssh [INSTANCE]
चला सकते हैं और इंस्टेंस से कनेक्ट कर सकते हैं। आपके पास इंस्टेंस के अंदर रूट अनुमतियाँ नहीं होंगी।
compute.instances.osAdminLogin
compute.instances.osAdminLogin
यदि इंस्टेंस में OSLogin सक्षम है, तो इस अनुमति के साथ आप बस gcloud compute ssh [INSTANCE]
चला सकते हैं और इंस्टेंस से कनेक्ट कर सकते हैं। आपके पास इंस्टेंस के अंदर रूट अनुमतियाँ होंगी।
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
अनुमतियाँ हैं तो आप एक पैच जॉब या डिप्लॉयमेंट बना सकते हैं। यह आपको परियोजना के सभी कंप्यूट इंस्टेंस पर लैटरली चलने और कोड निष्पादन प्राप्त करने की स्थिति में ले जाएगा।
इसे मैन्युअल रूप से शोषण करना चाहते हैं तो आपको या तो एक पैच जॉब बनाना होगा या डिप्लॉयमेंट चलाना होगा:
gcloud compute os-config patch-jobs execute --file=patch.json
एक पैच डिप्लॉय करने के लिए:
gcloud compute os-config patch-deployments create my-update --file=patch.json
patchy जैसे स्वचालित उपकरण में लापरवाह अनुमतियों का पता लगाने और स्वचालित रूप से लैटरली चलने की संभावना है।
आप इसे स्थायित्व के लिए भी दुरुपयोग कर सकते हैं।
compute.machineImages.setIamPolicy
compute.machineImages.setIamPolicy
अतिरिक्त अनुमतियाँ खुद को कंप्यूट इमेज के लिए दें।
compute.snapshots.setIamPolicy
compute.snapshots.setIamPolicy
अतिरिक्त अनुमतियाँ एक डिस्क स्नैपशॉट के लिए खुद को दें।
compute.disks.setIamPolicy
compute.disks.setIamPolicy
अतिरिक्त अनुमतियाँ एक डिस्क के लिए खुद को दें।
पहुंच स्कोप छलांग
इस लिंक के माध्यम से आपको कुछ आईडियाज मिलेंगे जिन्हें पहुंच स्कोप छलाने की कोशिश करने के लिए
GCP Compute इंस्टेंस में स्थानिक विशेषाधिकार उन्नति
pageGCP - local privilege escalation ssh pivotingसंदर्भ
Last updated