GCP - Non-svc Persistance
ये उपयोगी तकनीकें हैं, जब आपने किसी GCP क्रेडेंशियल या GCP वातावरण में चल रही किसी मशीन को किसी प्रकार से कंप्रोमाइज कर लिया है।
टोकन हाइजैकिंग
प्रमाणीकृत उपयोगकर्ता टोकन
एक उपयोगकर्ता के वर्तमान टोकन प्राप्त करने के लिए आप निम्नलिखित को चला सकते हैं:
इस पेज में देखें कि gcloud का उपयोग करके इस टोकन का सीधा उपयोग कैसे करें:
नए एक्सेस टोकन उत्पन्न करने के लिए विवरण प्राप्त करने के लिए निम्नलिखित को चलाएं:
यह भी संभव है कि $HOME/.config/gcloud/application_default_credentials.json
और $HOME/.config/gcloud/legacy_credentials/*/adc.json
में रिफ्रेश टोकन्स मिलें।
नए रिफ्रेश एक्सेस टोकन प्राप्त करने के लिए रिफ्रेश टोकन, क्लाइंट आईडी, और क्लाइंट सीक्रेट के साथ निम्नलिखित को चलाएं:
रिफ्रेश टोकन की वैधता को व्यवस्थापक > सुरक्षा > Google Cloud सत्र नियंत्रण में प्रबंधित किया जा सकता है, और डिफ़ॉल्ट रूप से यह 16 घंटे के लिए सेट किया गया है हालांकि यह कभी भी समाप्त नहीं होने के लिए सेट किया जा सकता है:
प्रमाणीकरण फ्लो
कुछ इस प्रकार का उपयोग करके प्रमाणीकरण फ्लो जब gcloud auth login
का उपयोग किया जाता है तो ब्राउज़र में एक प्रॉम्प्ट खोलेगा और सभी स्कोप्स को स्वीकार करने के बाद ब्राउज़र एक अनुरोध भेजेगा जैसे कि यह उपकरण द्वारा खुले http पोर्ट को:
तो, gcloud स्थिति और कोड का उपयोग करेगा जिसमें कुछ hardcoded client_id
(32555940559.apps.googleusercontent.com
) और client_secret
(ZmssLNjJy2998hD4CTg2ejr2
) होगा ताकि अंतिम रिफ्रेश टोकन डेटा प्राप्त कर सके।
ध्यान दें कि localhost के साथ संचार HTTP में है, इसलिए डेटा को अंतिम रिफ्रेश टोकन प्राप्त करने के लिए डाटा को अंतर्दृष्टि करना संभव है, हालांकि यह डेटा केवल 1 बार मान्य है, इसलिए यह बेकार होगा, रिफ्रेश टोकन को फ़ाइल से पढ़ना आसान है।
OAuth स्कोप
आप सभी Google स्कोप को https://developers.google.com/identity/protocols/oauth2/scopes में ढूंढ सकते हैं या इन्हें निष्पादित करके प्राप्त कर सकते हैं:
इस स्क्रिप्ट के साथ देखना संभव है कि gcloud
जो एप्लिकेशन उपयोग करता है वह कौन-कौन स्कोप समर्थित कर सकता है:
इसे निष्पादित करने के बाद यह जांचा गया कि यह ऐप इन scopes का समर्थन करता है:
सेवा खाते
जैसे कि प्रमाणित उपयोगकर्ताओं के साथ, यदि आप किसी सेवा खाते की निजी कुंजी फ़ाइल को कंप्रमाइज़ कर लेते हैं तो आप उसे आम तौर पर जितनी चाहें तक एक्सेस कर सकेंगे। हालांकि, यदि आप किसी सेवा खाते के OAuth टोकन को चुरा लेते हैं तो यह और भी दिलचस्प हो सकता है, क्योंकि, यदि डिफ़ॉल्ट रूप से ये टोकन केवल एक घंटे के लिए उपयोगी होते हैं, तो भी, यदि पीड़ित व्यक्ति निजी एपीआई कुंजी को हटा देता है, तो OAuth टोकन अब तक मान्य रहेगा जब तक यह समाप्त नहीं हो जाता।
मेटाडेटा
स्पष्ट है, जब तक आप GCP माहौल में चल रही किसी मशीन के अंदर हैं तब आप मेटाडेटा एंडपॉइंट से संपर्क करके उस मशीन से जुड़ी सेवा खाते तक पहुंच सकेंगे (ध्यान दें कि इस एंडपॉइंट में आप एक्सेस कर सकते हैं ओआथ टोकन जो सामान्यत: स्कोप्स द्वारा प्रतिबंधित होते हैं)।
सुधार
इन तकनीकों के लिए कुछ सुधार की व्याख्या https://www.netskope.com/blog/gcp-oauth-token-hijacking-in-google-cloud-part-2 में की गई है।
संदर्भ
Last updated