GCP - Sourcerepos Privesc
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)
Source Repositories के बारे में अधिक जानकारी के लिए देखें:
GCP - Source Repositories Enumsource.repos.get
इस अनुमति के साथ, स्थानीय रूप से रिपॉजिटरी डाउनलोड करना संभव है:
source.repos.update
इस अनुमति के साथ एक प्रमुख gcloud source repos clone <repo>
के साथ क्लोन की गई एक रिपॉजिटरी के अंदर कोड लिखने में सक्षम होगा। लेकिन ध्यान दें कि यह अनुमति कस्टम भूमिकाओं से संलग्न नहीं की जा सकती, इसलिए इसे पूर्वनिर्धारित भूमिका के माध्यम से दिया जाना चाहिए जैसे:
मालिक
संपादक
स्रोत रिपॉजिटरी प्रशासक (roles/source.admin
)
स्रोत रिपॉजिटरी लेखक (roles/source.writer
)
लिखने के लिए बस एक नियमित git push
करें।
source.repos.setIamPolicy
इस अनुमति के साथ एक हमलावर अपने लिए पिछले अनुमतियों को प्रदान कर सकता है।
यदि हमलावर के पास गुप्तों तक पहुंच है जहाँ टोकन संग्रहीत हैं, तो वह उन्हें चुरा सकेगा। गुप्त तक पहुँचने के तरीके के बारे में अधिक जानकारी के लिए देखें:
GCP - Secretmanager Privescयह Source Repository प्रोजेक्ट में ssh कुंजी जोड़ना संभव है। यह /v1/sshKeys:add
पर एक पोस्ट अनुरोध करता है और इसे https://source.cloud.google.com/user/ssh_keys में कॉन्फ़िगर किया जा सकता है।
एक बार जब आपकी ssh कुंजी सेट हो जाती है, तो आप एक रिपॉजिटरी तक पहुँच सकते हैं:
और फिर git
कमांड का उपयोग सामान्य रूप से करें।
स्रोत रिपोजिटरीज़ तक पहुँचने के लिए मैनुअल क्रेडेंशियल्स बनाना संभव है:
पहले लिंक पर क्लिक करने से आपको https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3 पर ले जाया जाएगा।
जो Oauth प्राधिकरण प्रॉम्प्ट को प्रदर्शित करेगा ताकि Google Cloud Development तक पहुँच प्रदान की जा सके। इसलिए आपको या तो उपयोगकर्ता के क्रेडेंशियल्स की आवश्यकता होगी या इसके लिए ब्राउज़र में एक खुला सत्र होना चाहिए।
यह आपको एक पृष्ठ पर ले जाएगा जिसमें एक bash स्क्रिप्ट निष्पादित करने और $HOME/.gitcookies
में एक git कुकी कॉन्फ़िगर करने के लिए है।
स्क्रिप्ट निष्पादित करने के बाद आप git clone, push... का उपयोग कर सकते हैं... और यह काम करेगा।
source.repos.updateProjectConfig
इस अनुमति के साथ, यह संभव है कि स्रोत रिपोजिटरीज़ की डिफ़ॉल्ट सुरक्षा को अक्षम किया जा सके ताकि प्राइवेट कीज़ वाले कोड को अपलोड न किया जा सके:
आप एक अलग pub/sub विषय को भी कॉन्फ़िगर कर सकते हैं या इसे पूरी तरह से बंद कर सकते हैं:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)