GCP - Token Persistance
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)
किसी उपयोगकर्ता का वर्तमान टोकन प्राप्त करने के लिए आप यह चला सकते हैं:
इस पृष्ठ पर देखें कि gcloud का उपयोग करके इस टोकन का सीधे कैसे उपयोग करें:
नया एक्सेस टोकन उत्पन्न करने के लिए विवरण प्राप्त करने के लिए चलाएँ:
यह भी संभव है कि $HOME/.config/gcloud/application_default_credentials.json
और $HOME/.config/gcloud/legacy_credentials/*/adc.json
में रिफ्रेश टोकन पाए जाएं।
रिफ्रेश टोकन, क्लाइंट आईडी, और क्लाइंट सीक्रेट के साथ एक नया रिफ्रेश किया गया एक्सेस टोकन प्राप्त करने के लिए चलाएँ:
एडमिन > सुरक्षा > गूगल क्लाउड सत्र नियंत्रण में रिफ्रेश टोकन की वैधता को प्रबंधित किया जा सकता है, और डिफ़ॉल्ट रूप से इसे 16 घंटे पर सेट किया गया है, हालांकि इसे कभी समाप्त न होने के लिए सेट किया जा सकता है:
जब gcloud auth login
जैसे कुछ का उपयोग करते समय प्रमाणीकरण प्रवाह एक ब्राउज़र में एक प्रॉम्प्ट खोलेगा और सभी स्कोप को स्वीकार करने के बाद ब्राउज़र इस तरह का एक अनुरोध उपकरण द्वारा खोले गए http पोर्ट पर भेजेगा:
फिर, gcloud कुछ हार्डकोडेड client_id
(32555940559.apps.googleusercontent.com
) और client_secret
(ZmssLNjJy2998hD4CTg2ejr2
) के साथ स्थिति और कोड का उपयोग करके अंतिम रिफ्रेश टोकन डेटा प्राप्त करेगा।
ध्यान दें कि localhost के साथ संचार HTTP में है, इसलिए डेटा को इंटरसेप्ट करना संभव है ताकि एक रिफ्रेश टोकन प्राप्त किया जा सके, हालाँकि यह डेटा केवल 1 बार के लिए मान्य है, इसलिए यह बेकार होगा, इसे फ़ाइल से रिफ्रेश टोकन पढ़ना आसान है।
आप सभी Google स्कोप https://developers.google.com/identity/protocols/oauth2/scopes पर पा सकते हैं या उन्हें निष्पादित करके प्राप्त कर सकते हैं:
इस स्क्रिप्ट के साथ यह देखना संभव है कि gcloud
द्वारा प्रमाणीकरण के लिए उपयोग किया जाने वाला एप्लिकेशन कौन से स्कोप का समर्थन कर सकता है:
इसके निष्पादन के बाद यह जांचा गया कि यह ऐप इन स्कोप का समर्थन करता है:
यह देखना दिलचस्प है कि यह ऐप drive
स्कोप का समर्थन करता है, जो एक उपयोगकर्ता को GCP से Workspace में बढ़ाने की अनुमति दे सकता है यदि एक हमलावर उपयोगकर्ता को इस स्कोप के साथ एक टोकन उत्पन्न करने के लिए मजबूर करने में सफल हो जाता है।
यहां देखें कि कैसे इसका दुरुपयोग करें।
जैसे कि प्रमाणित उपयोगकर्ताओं के साथ, यदि आप एक सेवा खाते की निजी कुंजी फ़ाइल को समझौता करने में सफल होते हैं, तो आप इसे आम तौर पर जितना चाहें उतना एक्सेस कर सकेंगे। हालांकि, यदि आप एक सेवा खाते का OAuth टोकन चुरा लेते हैं, तो यह और भी दिलचस्प हो सकता है, क्योंकि, भले ही डिफ़ॉल्ट रूप से ये टोकन केवल एक घंटे के लिए उपयोगी होते हैं, यदि पीड़ित निजी एपीआई कुंजी को हटा देता है, तो OAuh टोकन तब भी मान्य रहेगा जब तक कि यह समाप्त नहीं हो जाता।
स्पष्ट रूप से, जब तक आप GCP वातावरण में चल रही मशीन के अंदर हैं, आप उस मशीन से जुड़े सेवा खाते को मेटाडेटा एंडपॉइंट से संपर्क करके एक्सेस कर सकेंगे (ध्यान दें कि इस एंडपॉइंट में आप जो Oauth टोकन एक्सेस कर सकते हैं, वे आमतौर पर स्कोप द्वारा प्रतिबंधित होते हैं)।
इन तकनीकों के लिए कुछ सुधार https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2 में समझाए गए हैं।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)