GCP - Source Repositories Enum

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Basic Information

Google Cloud Source Repositories एक पूर्ण विशेषताओं वाला, स्केलेबल, निजी Git रिपॉजिटरी सेवा है। इसे आपके स्रोत कोड को पूरी तरह से प्रबंधित वातावरण में होस्ट करने के लिए डिज़ाइन किया गया है, जो अन्य GCP उपकरणों और सेवाओं के साथ सहजता से एकीकृत होता है। यह टीमों के लिए अपने कोड को स्टोर, प्रबंधित और ट्रैक करने के लिए एक सहयोगी और सुरक्षित स्थान प्रदान करता है।

Cloud Source Repositories की प्रमुख विशेषताएँ हैं:

  1. पूर्ण प्रबंधित Git होस्टिंग: Git की परिचित कार्यक्षमता प्रदान करता है, जिसका अर्थ है कि आप नियमित Git कमांड और वर्कफ़्लो का उपयोग कर सकते हैं।

  2. GCP सेवाओं के साथ एकीकरण: कोड से डिप्लॉयमेंट तक अंत-से-अंत ट्रेसबिलिटी के लिए Cloud Build, Pub/Sub, और App Engine जैसी अन्य GCP सेवाओं के साथ एकीकृत होता है।

  3. निजी रिपॉजिटरी: सुनिश्चित करता है कि आपका कोड सुरक्षित और निजी रूप से स्टोर किया गया है। आप Cloud Identity और Access Management (IAM) भूमिकाओं का उपयोग करके एक्सेस को नियंत्रित कर सकते हैं।

  4. स्रोत कोड विश्लेषण: आपके स्रोत कोड का स्वचालित विश्लेषण प्रदान करने के लिए अन्य GCP उपकरणों के साथ काम करता है, संभावित मुद्दों जैसे बग, कमजोरियों, या खराब कोडिंग प्रथाओं की पहचान करता है।

  5. सहयोग उपकरण: मर्ज अनुरोध, टिप्पणियाँ, और समीक्षाओं जैसे उपकरणों के साथ सहयोगात्मक कोडिंग का समर्थन करता है।

  6. मिरर समर्थन: आपको Cloud Source Repositories को GitHub या Bitbucket पर होस्ट की गई रिपॉजिटरी के साथ कनेक्ट करने की अनुमति देता है, स्वचालित समन्वय सक्षम करता है और आपकी सभी रिपॉजिटरी का एकीकृत दृश्य प्रदान करता है।

OffSec information

  • एक प्रोजेक्ट के अंदर स्रोत रिपॉजिटरी कॉन्फ़िगरेशन में एक सेवा खाता होगा जिसका उपयोग Cloud Pub/Sub संदेशों को प्रकाशित करने के लिए किया जाएगा। उपयोग में आने वाला डिफ़ॉल्ट कंप्यूट SA है। हालाँकि, मुझे नहीं लगता कि इसका टोकन Source Repositories से चुराना संभव है क्योंकि यह बैकग्राउंड में निष्पादित हो रहा है।

  • GCP Cloud Source Repositories वेब कंसोल (https://source.cloud.google.com/) के अंदर कोड देखने के लिए, आपको कोड को डिफ़ॉल्ट रूप से मास्टर ब्रांच के अंदर होना चाहिए

  • आप Github या Bitbucket से एक रेपो की ओर इशारा करते हुए एक मिरर क्लाउड रिपॉजिटरी भी बना सकते हैं (उन प्लेटफार्मों को एक्सेस देते हुए)।

  • GCP के अंदर कोड और डिबग करना संभव है

  • डिफ़ॉल्ट रूप से, Source Repositories कमिट में निजी कुंजियों को पुश करने से रोकता है, लेकिन इसे अक्षम किया जा सकता है।

Open In Cloud Shell

Cloud Shell में रिपॉजिटरी खोलना संभव है, ऐसा प्रॉम्प्ट दिखाई देगा:

यह आपको Cloud Shell में कोड और डिबग करने की अनुमति देगा (जो क्लाउडशेल को समझौता कर सकता है)।

Enumeration

# Repos enumeration
gcloud source repos list #Get names and URLs
gcloud source repos describe <repo_name>
gcloud source repos get-iam-policy <repo_name>

# gcloud repo clone
gcloud source repos clone <REPO NAME>
gcloud source repos get-iam-policy <REPO NAME>
... git add & git commit -m ...
git push --set-upstream origin master
git push -u origin master

# Access via git
## To add a SSH key go to https://source.cloud.google.com/user/ssh_keys (no gcloud command)
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...

विशेषाधिकार वृद्धि और पोस्ट शोषण

GCP - Sourcerepos Privesc

अनधिकृत Enum

GCP - Source Repositories Unauthenticated Enum

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

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

Last updated