GCP - Source Repositories Enum

शून्य से नायक तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

मूल जानकारी

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 and Access Management (IAM) भूमिकाओं का उपयोग करके पहुंच को नियंत्रित कर सकते हैं।

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

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

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

OffSec जानकारी

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

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

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

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

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

क्लाउड शेल में खोलें

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

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

एनमरेशन

# 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...

Last updated