GCP - Apikeys Privesc

Support HackTricks

Apikeys

निम्नलिखित अनुमतियाँ API कुंजी बनाने और चुराने के लिए उपयोगी हैं, दस्तावेज़ से यह नोट करें: एक API कुंजी एक सरल एन्क्रिप्टेड स्ट्रिंग है जो किसी भी प्रिंसिपल के बिना एक एप्लिकेशन की पहचान करती है। ये सार्वजनिक डेटा को गुमनाम रूप से एक्सेस करने के लिए उपयोगी हैं, और कोटा और बिलिंग के लिए आपके प्रोजेक्ट के साथ API अनुरोधों को संयुक्त करने के लिए उपयोग की जाती हैं।

इसलिए, एक API कुंजी के साथ आप उस कंपनी को API के आपके उपयोग के लिए भुगतान करवा सकते हैं, लेकिन आप विशेषाधिकारों को बढ़ाने में सक्षम नहीं होंगे।

API कुंजी के बारे में अधिक जानकारी के लिए देखें:

API कुंजी बनाने के अन्य तरीकों के लिए देखें:

Brute Force API Key access

जैसा कि आप नहीं जानते होंगे कि प्रोजेक्ट में कौन सी APIs सक्षम हैं या आपने जो API कुंजी पाई है उस पर लागू प्रतिबंध, यह दिलचस्प होगा कि आप उपकरण https://github.com/ozguralp/gmapsapiscanner चलाएँ और जांचें कि आप API कुंजी के साथ क्या एक्सेस कर सकते हैं।

apikeys.keys.create

यह अनुमति एक API कुंजी बनाने की अनुमति देती है:

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

You can find a script to automate the creation, exploit and cleaning of a vuln environment here.

ध्यान दें कि डिफ़ॉल्ट रूप से उपयोगकर्ताओं को नए प्रोजेक्ट बनाने की अनुमति होती है और उन्हें नए प्रोजेक्ट पर मालिक की भूमिका दी जाती है। इसलिए एक उपयोगकर्ता एक प्रोजेक्ट बना सकता है और इस प्रोजेक्ट के अंदर एक API कुंजी बना सकता है

apikeys.keys.getKeyString , apikeys.keys.list

These permissions allows list and get all the apiKeys and get the Key:

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

आप एक स्क्रिप्ट यहाँ पा सकते हैं जो एक vuln वातावरण के निर्माण, शोषण और सफाई को स्वचालित करती है.

apikeys.keys.undelete , apikeys.keys.list

ये अनुमतियाँ आपको हटाए गए api keys को सूचीबद्ध और पुनः उत्पन्न करने की अनुमति देती हैं। API कुंजी आउटपुट में दी जाती है जब undelete किया जाता है:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

अन्य कर्मचारियों को फ़िश करने के लिए आंतरिक OAuth एप्लिकेशन बनाएं

यह करने के लिए निम्नलिखित पृष्ठ को देखें, हालांकि यह क्रिया सेवा clientauthconfig से संबंधित है दस्तावेज़ों के अनुसार:

HackTricks का समर्थन करें

Last updated