GCP - IAM, Principals & Org Policies Enum
Service Accounts
एक सेवा खाता हमेशा एक परियोजना से संबंधित होता है:
Enumeration
Users & Groups
GCP में Users & Groups कैसे काम करते हैं, इसके लिए एक परिचय देखें:
GCP - Basic InformationEnumeration
अनुमतियों serviceusage.services.enable
और serviceusage.services.use
के साथ, एक प्रोजेक्ट में सेवाओं को सक्षम करना और उनका उपयोग करना संभव है।
ध्यान दें कि डिफ़ॉल्ट रूप से, Workspace उपयोगकर्ताओं को Project Creator भूमिका दी जाती है, जिससे उन्हें नए प्रोजेक्ट बनाने की अनुमति मिलती है। जब एक उपयोगकर्ता एक प्रोजेक्ट बनाता है, तो उसे उस पर owner
भूमिका दी जाती है। इसलिए, वह Workspace को सूचीबद्ध करने के लिए प्रोजेक्ट पर इन सेवाओं को सक्षम कर सकता है।
हालांकि, ध्यान दें कि इन APIs को कॉल करने के लिए Workspace में पर्याप्त अनुमतियाँ होना भी आवश्यक है।
यदि आप admin
सेवा को सक्षम कर सकते हैं और यदि आपके उपयोगकर्ता के पास Workspace में पर्याप्त विशेषाधिकार हैं, तो आप निम्नलिखित पंक्तियों के साथ सभी समूहों और उपयोगकर्ताओं को सूचीबद्ध कर सकते हैं।
यहां तक कि अगर यह identity groups
कहता है, तो यह बिना किसी समूह के उपयोगकर्ताओं को भी लौटाता है:
पिछले उदाहरणों में --labels
पैरामीटर आवश्यक है, इसलिए एक सामान्य मान का उपयोग किया गया है (यदि आपने API का सीधे उपयोग किया है जैसे कि PurplePanda यहाँ करता है।
यहां तक कि यदि प्रशासन सेवा सक्षम है, तो यह संभव है कि आपको उन्हें सूचीबद्ध करते समय एक त्रुटि मिले क्योंकि आपका समझौता किया गया कार्यक्षेत्र उपयोगकर्ता के पास पर्याप्त अनुमतियाँ नहीं हैं:
IAM
IAM के बारे में बुनियादी जानकारी के लिए इसे देखें।
डिफ़ॉल्ट अनुमतियाँ
दस्तावेज़ों से: जब एक संगठन संसाधन बनाया जाता है, तो आपके डोमेन में सभी उपयोगकर्ताओं को डिफ़ॉल्ट रूप से बिलिंग खाता निर्माता और प्रोजेक्ट निर्माता भूमिकाएँ दी जाती हैं। ये डिफ़ॉल्ट भूमिकाएँ आपके उपयोगकर्ताओं को Google Cloud का तुरंत उपयोग शुरू करने की अनुमति देती हैं, लेकिन आपके संगठन संसाधन के नियमित संचालन में उपयोग के लिए नहीं हैं।
ये भूमिकाएँ अनुमतियाँ प्रदान करती हैं:
billing.accounts.create
औरresourcemanager.organizations.get
resourcemanager.organizations.get
औरresourcemanager.projects.create
इसके अलावा, जब एक उपयोगकर्ता एक प्रोजेक्ट बनाता है, तो उसे दस्तावेज़ों के अनुसार स्वचालित रूप से उस प्रोजेक्ट का मालिक बना दिया जाता है। इसलिए, डिफ़ॉल्ट रूप से, एक उपयोगकर्ता एक प्रोजेक्ट बनाने और उस पर कोई भी सेवा चलाने में सक्षम होगा (खननकर्ता? कार्यक्षेत्र सूचीकरण? ...)
GCP संगठन में सबसे उच्च विशेषाधिकार संगठन प्रशासक भूमिका है।
set-iam-policy बनाम add-iam-policy-binding
अधिकांश सेवाओं में, आप add-iam-policy-binding
या set-iam-policy
विधि का उपयोग करके एक संसाधन पर अनुमतियों को बदलने में सक्षम होंगे। मुख्य अंतर यह है कि add-iam-policy-binding
एक नई भूमिका बाइंडिंग जोड़ता है मौजूदा IAM नीति में जबकि set-iam-policy
पहले से दी गई अनुमतियों को हटाएगा और केवल उन अनुमतियों को सेट करेगा जो आदेश में निर्दिष्ट हैं।
सूचीकरण
cloudasset IAM Enumeration
इस सेवा का उपयोग करके विभिन्न संसाधनों (जैसे संगठनों, फ़ोल्डरों, परियोजनाओं...) में एक उपयोगकर्ता की सभी अनुमतियों की जांच करने के विभिन्न तरीके हैं।
अनुमति
cloudasset.assets.searchAllIamPolicies
एक संसाधन के भीतर सभी iam नीतियों का अनुरोध कर सकती है।
अनुमति
cloudasset.assets.analyzeIamPolicy
एक संसाधन के भीतर एक प्रमुख के सभी iam नीतियों का अनुरोध कर सकती है।
अनुमति
cloudasset.assets.searchAllResources
किसी संगठन, फ़ोल्डर, या प्रोजेक्ट के सभी संसाधनों की सूची बनाने की अनुमति देती है। IAM से संबंधित संसाधन (जैसे भूमिकाएँ) शामिल हैं।
अनुमति
cloudasset.assets.analyzeMove
एक संसाधन जैसे प्रोजेक्ट पर प्रभाव डालने वाली नीतियों को प्राप्त करने के लिए भी उपयोगी हो सकती है।
मुझे लगता है कि अनुमति
cloudasset.assets.queryIamPolicy
भी प्रिंसिपलों की अनुमतियों को खोजने के लिए पहुंच दे सकती है
testIamPermissions enumeration
यदि आप पिछले तरीकों का उपयोग करके IAM जानकारी तक पहुँच नहीं सकते और आप एक रेड टीम में हैं। आप इस उपकरण का उपयोग कर सकते हैं https://github.com/carlospolop/bf_my_gcp_perms अपने वर्तमान अनुमतियों को ब्रूट-फोर्स करने के लिए।
हालांकि, ध्यान दें कि सेवा cloudresourcemanager.googleapis.com
को सक्षम किया जाना चाहिए।
Privesc
अगली पृष्ठ पर आप देख सकते हैं कि IAM अनुमतियों का दुरुपयोग करके विशेषाधिकार कैसे बढ़ाएं:
GCP - IAM PrivescUnauthenticated Enum
GCP - IAM, Principals & Org Unauthenticated EnumPost Exploitation
GCP - IAM Post ExploitationPersistence
यदि आपके पास उच्च विशेषाधिकार हैं तो आप:
नए SAs (या उपयोगकर्ताओं को यदि Workspace में हैं) बना सकते हैं
अपने द्वारा नियंत्रित प्रिंसिपलों को अधिक अनुमतियाँ दे सकते हैं
कमजोर SAs को अधिक विशेषाधिकार दे सकते हैं (vm में SSRF, vuln Cloud Function…)
…
Org Policies
Org Policies क्या हैं, इसके बारे में एक परिचय के लिए देखें:
GCP - Basic InformationIAM नीतियाँ यह संकेत देती हैं कि प्रिंसिपल के पास संसाधनों पर भूमिकाओं के माध्यम से कौन सी अनुमतियाँ हैं, जिन्हें बारीक अनुमतियाँ दी जाती हैं। संगठन नीतियाँ यह सीमित करती हैं कि उन सेवाओं का उपयोग कैसे किया जा सकता है या कौन सी सुविधाएँ अक्षम हैं। यह GCP वातावरण में प्रत्येक संसाधन के लिए न्यूनतम विशेषाधिकार को सुधारने में मदद करता है।
Privesc
In the following page you can check how to org नीतियों की अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाना:
GCP - Orgpolicy PrivescLast updated