GCP - IAM, Principals & Org Policies 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 में Users & Groups कैसे काम करते हैं, इसके लिए एक परिचय देखें:
अनुमतियों serviceusage.services.enable
और serviceusage.services.use
के साथ, किसी प्रोजेक्ट में सेवाओं को सक्षम करना और उनका उपयोग करना संभव है।
ध्यान दें कि डिफ़ॉल्ट रूप से, Workspace उपयोगकर्ताओं को Project Creator की भूमिका दी जाती है, जिससे उन्हें नए प्रोजेक्ट बनाने की अनुमति मिलती है। जब एक उपयोगकर्ता एक प्रोजेक्ट बनाता है, तो उसे उस पर owner
की भूमिका दी जाती है। इसलिए, वह Workspace को सूचीबद्ध करने के लिए प्रोजेक्ट पर इन सेवाओं को सक्षम कर सकता है।
हालांकि, ध्यान दें कि इन APIs को कॉल करने के लिए Workspace में पर्याप्त अनुमतियाँ होना भी आवश्यक है।
यदि आप admin
सेवा को सक्षम कर सकते हैं और यदि आपके उपयोगकर्ता के पास Workspace में पर्याप्त विशेषाधिकार हैं, तो आप निम्नलिखित पंक्तियों के साथ सभी समूहों और उपयोगकर्ताओं को सूचीबद्ध कर सकते हैं।
यहां तक कि अगर यह identity groups
कहता है, तो यह बिना किसी समूह के उपयोगकर्ताओं को भी लौटाता है:
पिछले उदाहरणों में --labels
पैरामीटर आवश्यक है, इसलिए एक सामान्य मान का उपयोग किया गया है (यदि आपने API का सीधे उपयोग किया है जैसे कि PurplePanda यहाँ करता है।
यहां तक कि यदि प्रशासनिक सेवा सक्षम है, तो यह संभव है कि आपको उन्हें सूचीबद्ध करते समय एक त्रुटि मिले क्योंकि आपका समझौता किया गया कार्यक्षेत्र उपयोगकर्ता पर्याप्त अनुमतियाँ नहीं रखता है:
IAM के बारे में बुनियादी जानकारी के लिए यहाँ देखें।
दस्तावेज़ों से: जब एक संगठन संसाधन बनाया जाता है, तो आपके डोमेन में सभी उपयोगकर्ताओं को डिफ़ॉल्ट रूप से बिलिंग खाता निर्माता और प्रोजेक्ट निर्माता भूमिकाएँ दी जाती हैं। ये डिफ़ॉल्ट भूमिकाएँ आपके उपयोगकर्ताओं को तुरंत Google Cloud का उपयोग शुरू करने की अनुमति देती हैं, लेकिन आपके संगठन संसाधन के नियमित संचालन में उपयोग के लिए नहीं होती हैं।
ये भूमिकाएँ अनुमतियाँ प्रदान करती हैं:
billing.accounts.create
और resourcemanager.organizations.get
resourcemanager.organizations.get
और resourcemanager.projects.create
इसके अलावा, जब एक उपयोगकर्ता एक प्रोजेक्ट बनाता है, तो उसे दस्तावेज़ों के अनुसार स्वचालित रूप से उस प्रोजेक्ट का मालिक बना दिया जाता है। इसलिए, डिफ़ॉल्ट रूप से, एक उपयोगकर्ता एक प्रोजेक्ट बनाने और उस पर कोई भी सेवा चलाने में सक्षम होगा (खननकर्ता? कार्यक्षेत्र सूचीकरण? ...)
GCP संगठन में सबसे उच्च विशेषाधिकार संगठन प्रशासक भूमिका है।
अधिकांश सेवाओं में, आप add-iam-policy-binding
या set-iam-policy
विधि का उपयोग करके एक संसाधन पर अनुमतियों को बदलने में सक्षम होंगे। मुख्य अंतर यह है कि add-iam-policy-binding
एक नई भूमिका बाइंडिंग मौजूदा IAM नीति में जोड़ता है जबकि set-iam-policy
पहले से दी गई अनुमतियों को हटाता है और केवल उन अनुमतियों को सेट करता है जो आदेश में निर्दिष्ट की गई हैं।
इस सेवा का उपयोग करके विभिन्न संसाधनों (जैसे संगठनों, फ़ोल्डरों, परियोजनाओं...) में एक उपयोगकर्ता की सभी अनुमतियों की जांच करने के विभिन्न तरीके हैं।
अनुमति cloudasset.assets.searchAllIamPolicies
एक संसाधन के भीतर सभी iam नीतियों का अनुरोध कर सकती है।
अनुमति cloudasset.assets.analyzeIamPolicy
एक संसाधन के भीतर एक प्रमुख के सभी iam नीतियों का अनुरोध कर सकती है।
अनुमति cloudasset.assets.searchAllResources
किसी संगठन, फ़ोल्डर, या प्रोजेक्ट के सभी संसाधनों की सूची बनाने की अनुमति देती है। IAM से संबंधित संसाधन (जैसे भूमिकाएँ) शामिल हैं।
अनुमति cloudasset.assets.analyzeMove
एक संसाधन जैसे प्रोजेक्ट पर प्रभाव डालने वाली नीतियों को प्राप्त करने के लिए भी उपयोगी हो सकती है।
मुझे लगता है कि अनुमति cloudasset.assets.queryIamPolicy
भी प्रिंसिपल्स की अनुमतियों को खोजने के लिए पहुंच प्रदान कर सकती है
यदि आप पिछले तरीकों का उपयोग करके IAM जानकारी तक पहुँच नहीं सकते और आप एक रेड टीम में हैं। आप इस उपकरण का उपयोग कर सकते हैं https://github.com/carlospolop/bf_my_gcp_perms अपने वर्तमान अनुमतियों को ब्रूट-फोर्स करने के लिए।
हालांकि, ध्यान दें कि सेवा cloudresourcemanager.googleapis.com
को सक्षम किया जाना चाहिए।
अगली पृष्ठ पर आप देख सकते हैं कि IAM अनुमतियों का दुरुपयोग करके विशेषाधिकार कैसे बढ़ाएँ:
यदि आपके पास उच्च विशेषाधिकार हैं तो आप:
नए SAs (या उपयोगकर्ताओं को यदि Workspace में हैं) बना सकते हैं
अपने द्वारा नियंत्रित प्रिंसिपल को अधिक अनुमतियाँ दे सकते हैं
कमजोर SAs को अधिक विशेषाधिकार दे सकते हैं (vm में SSRF, vuln Cloud Function…)
…
Org Policies क्या हैं, इसके बारे में एक परिचय के लिए देखें:
IAM नीतियाँ यह संकेत देती हैं कि प्रिंसिपल के पास संसाधनों पर भूमिकाओं के माध्यम से कौन सी अनुमतियाँ हैं, जिन्हें बारीक अनुमतियाँ दी जाती हैं। संगठन नीतियाँ यह सीमित करती हैं कि उन सेवाओं का उपयोग कैसे किया जा सकता है या कौन सी सुविधाएँ अक्षम हैं। यह GCP वातावरण में प्रत्येक संसाधन के लिए न्यूनतम विशेषाधिकार को सुधारने में मदद करता है।
In the following page you can check how to org नीतियों की अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाना:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)