GCP - Understanding Domain-Wide Delegation

htARTE (HackTricks AWS Red Team Expert) के साथ शून्य से नायक तक AWS हैकिंग सीखें

HackTricks का समर्थन करने के अन्य तरीके:

यह पोस्ट https://www.hunters.security/en/blog/delefriend-a-newly-discovered-design-flaw-in-domain-wide-delegation-could-leave-google-workspace-vulnerable-for-takeover का परिचय है जिसे अधिक जानकारी के लिए एक्सेस किया जा सकता है।

डोमेन-वाइड डेलिगेशन को समझना

Google Workspace का डोमेन-वाइड डेलिगेशन एक पहचान वस्तु को, चाहे वह Google Workspace Marketplace का बाहरी ऐप हो या आंतरिक GCP Service Account, उपयोगकर्ताओं की ओर से Workspace के आड़े डेटा तक पहुँचने की अनुमति देता है। यह सुविधा, जो Google APIs के साथ बातचीत करने वाले ऐप्स या उपयोगकर्ता की नकल करने की आवश्यकता वाली सेवाओं के लिए महत्वपूर्ण है, कार्यों को स्वचालित करके कार्यक्षमता बढ़ाती है और मानवीय त्रुटि को कम करती है। OAuth 2.0 का उपयोग करके, ऐप डेवलपर्स और प्रशासक इन सेवा खातों को व्यक्तिगत उपयोगकर्ता सहमति के बिना उपयोगकर्ता डेटा तक पहुँचने की अनुमति दे सकते हैं। Google Workspace दो मुख्य प्रकार की वैश्विक प्रतिनिधित्व वाली पहचान वस्तुएँ बनाने की अनुमति देता है:

  • GWS Applications: Workspace Marketplace के ऐप्स को प्रतिनिधित्व वाली पहचान के रूप में सेटअप किया जा सकता है। प्रत्येक Workspace ऐप की समीक्षा Google द्वारा की जाती है ताकि संभावित दुरुपयोग को कम किया जा सके, इसे बाजार में उपलब्ध कराने से पहले। जबकि यह दुरुपयोग के जोखिम को पूरी तरह से समाप्त नहीं करता है, यह ऐसी घटनाओं के होने की कठिनाई को काफी बढ़ा देता है।

डोमेन-वाइड डेलिगेशन: अंदर की बात

यह है कि कैसे एक GCP Service Account Google Workspace में अन्य पहचानों की ओर से Google APIs तक पहुँच सकता है:

  1. पहचान एक JWT बनाती है: पहचान सेवा खाते की निजी कुंजी (JSON कुंजी जोड़ी फ़ाइल का हिस्सा) का उपयोग करके एक JWT पर हस्ताक्षर करती है। इस JWT में सेवा खाते के बारे में दावे, नकल करने के लिए लक्ष्य उपयोगकर्ता, और अनुरोध किए जा रहे REST API के लिए ओथ स्कोप्स शामिल होते हैं।

  2. पहचान JWT का उपयोग करके एक एक्सेस टोकन का अनुरोध करती है: ऐप्लिकेशन/उपयोगकर्ता JWT का उपयोग करके Google की OAuth 2.0 सेवा से एक एक्सेस टोकन का अनुरोध करता है। अनुरोध में नकल करने के लिए लक्ष्य उपयोगकर्ता (उपयोगकर्ता का Workspace ईमेल) और जिन स्कोप्स के लिए पहुँच का अनुरोध किया जा रहा है, वे भी शामिल होते हैं।

  3. Google की OAuth 2.0 सेवा एक एक्सेस टोकन वापस करती है: एक्सेस टोकन सेवा खाते की उपयोगकर्ता की ओर से कार्य करने के अधिकार को दर्शाता है, निर्दिष्ट स्कोप्स के लिए। यह टोकन आमतौर पर अल्पकालिक होता है और नियमित रूप से ताज़ा किया जाना चाहिए (ऐप्लिकेशन की आवश्यकता के अनुसार)। यह समझना महत्वपूर्ण है कि JWT टोकन में निर्दिष्ट OAuth स्कोप्स की वैधता और प्रभाव परिणामी एक्सेस टोकन पर होती है। उदाहरण के लिए, कई स्कोप्स वाले एक्सेस टोकन कई REST API ऐप्लिकेशनों के लिए वैधता रखेंगे।

  4. पहचान Google APIs को कॉल करने के लिए एक्सेस टोकन का उपयोग करती है: अब एक प्रासंगिक एक्सेस टोकन के साथ, सेवा आवश्यक REST API तक पहुँच सकती है। ऐप्लिकेशन इस एक्सेस टोकन का उपयोग Google APIs के लिए निर्धारित अपने HTTP अनुरोधों के "Authorization" हेडर में करता है। ये APIs टोकन का उपयोग करके नकल की गई पहचान की पुष्टि करते हैं और यह सुनिश्चित करते हैं कि उसके पास आवश्यक अधिकार हैं।

  5. Google APIs अनुरोधित डेटा वापस करते हैं: यदि एक्सेस टोकन मान्य है और सेवा खाते के पास उचित अधिकार हैं, तो Google APIs अनुरोधित डेटा वापस करते हैं। उदाहरण के लिए, निम्नलिखित चित्र में, हमने users.messages.list विधि का उपयोग करके एक लक्ष्य Workspace उपयोगकर्ता से जुड़े सभी Gmail संदेश ID की सूची बनाई है।

htARTE (HackTricks AWS Red Team Expert) के साथ शून्य से नायक तक AWS हैकिंग सीखें

HackTricks का समर्थन करने के अन्य तरीके:

Last updated