GCP - Sourcerepos Privesc
Reading time: 4 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
स्रोत रिपॉजिटरी
Source Repositories के बारे में अधिक जानकारी के लिए देखें:
GCP - Source Repositories Enum
source.repos.get
इस अनुमति के साथ, स्थानीय रूप से रिपॉजिटरी डाउनलोड करना संभव है:
gcloud source repos clone <repo-name> --project=<project-uniq-name>
source.repos.update
इस अनुमति के साथ एक प्रिंसिपल gcloud source repos clone <repo>
के साथ क्लोन किए गए रिपॉजिटरी के अंदर कोड लिखने में सक्षम होगा। लेकिन ध्यान दें कि यह अनुमति कस्टम भूमिकाओं से संलग्न नहीं की जा सकती, इसलिए इसे पूर्वनिर्धारित भूमिका के माध्यम से दिया जाना चाहिए जैसे:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin
) - Source Repository Writer (
roles/source.writer
)
लिखने के लिए बस एक नियमित git push
करें।
source.repos.setIamPolicy
इस अनुमति के साथ एक हमलावर अपने लिए पिछले अनुमतियों को प्रदान कर सकता है।
Secret access
यदि हमलावर के पास गुप्तों तक पहुंच है जहाँ टोकन संग्रहीत हैं, तो वह उन्हें चुरा सकता है। गुप्त तक पहुँचने के तरीके के बारे में अधिक जानकारी के लिए देखें:
Add SSH keys
यह संभव है कि Source Repository प्रोजेक्ट में ssh keys जोड़ी जाएं वेब कंसोल में। यह /v1/sshKeys:add
पर एक पोस्ट अनुरोध करता है और इसे https://source.cloud.google.com/user/ssh_keys पर कॉन्फ़िगर किया जा सकता है।
एक बार जब आपकी ssh कुंजी सेट हो जाती है, तो आप एक रिपॉजिटरी तक पहुँच सकते हैं:
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
और फिर git
कमांड का उपयोग सामान्य रूप से करें।
मैनुअल क्रेडेंशियल्स
Source Repositories तक पहुँचने के लिए मैनुअल क्रेडेंशियल्स बनाना संभव है:
.png)
पहले लिंक पर क्लिक करने से आप 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 कुकी कॉन्फ़िगर करने के लिए है।
.png)
स्क्रिप्ट निष्पादित करने के बाद आप git clone, push... का उपयोग कर सकते हैं... और यह काम करेगा।
source.repos.updateProjectConfig
इस अनुमति के साथ, Source Repositories की डिफ़ॉल्ट सुरक्षा को अक्षम करना संभव है ताकि प्राइवेट कीज़ वाले कोड को अपलोड न किया जा सके:
gcloud source project-configs update --disable-pushblock
आप एक अलग pub/sub विषय को भी कॉन्फ़िगर कर सकते हैं या इसे पूरी तरह से बंद कर सकते हैं:
gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।