GCP - Artifact Registry Enum

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

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

मूल जानकारी

Google Cloud Artifact Registry एक पूरी तरह से प्रबंधित सेवा है जो आपको अपने सॉफ्टवेयर आर्टिफैक्ट्स को प्रबंधित, संग्रहीत और सुरक्षित करने की अनुमति देती है। यह मूल रूप से बिल्ड निर्भरताओं को संग्रहीत करने के लिए एक रिपॉजिटरी है, जैसे कि Docker इमेजेस, Maven, npm पैकेजेस, और अन्य प्रकार के आर्टिफैक्ट्स। यह CI/CD पाइपलाइनों में सॉफ्टवेयर विकास प्रक्रिया के दौरान उत्पादित आर्टिफैक्ट्स को संग्रहीत और संस्करणबद्ध करने के लिए आमतौर पर उपयोग किया जाता है

Artifact Registry की प्रमुख विशेषताएं में शामिल हैं:

  1. एकीकृत रिपॉजिटरी: यह कई प्रकार के आर्टिफैक्ट्स का समर्थन करता है, जिससे आप Docker इमेजेस, भाषा पैकेजेस (जैसे Java का Maven, Node.js का npm), और अन्य प्रकार के आर्टिफैक्ट्स के लिए एक ही रिपॉजिटरी रख सकते हैं, जिससे सुसंगत पहुंच नियंत्रण और आपके सभी आर्टिफैक्ट्स के लिए एक एकीकृत दृश्य सक्षम होता है।

  2. पूरी तरह से प्रबंधित: एक प्रबंधित सेवा के रूप में, यह अधोसंरचना, स्केलिंग, और सुरक्षा का ध्यान रखती है, उपयोगकर्ताओं के लिए रखरखाव के बोझ को कम करती है।

  3. सूक्ष्म-विभाजित पहुंच नियंत्रण: यह Google Cloud की Identity and Access Management (IAM) के साथ एकीकृत होती है, जिससे आप यह परिभाषित कर सकते हैं कि कौन आपके रिपॉजिटरीज में आर्टिफैक्ट्स को पहुंच, अपलोड, या डाउनलोड कर सकता है।

  4. जियो-रेप्लिकेशन: यह कई क्षेत्रों में आर्टिफैक्ट्स के प्रतिकृति का समर्थन करता है, डाउनलोड की गति में सुधार करता है और उपलब्धता सुनिश्चित करता है।

  5. Google Cloud Services के साथ एकीकरण: यह अन्य GCP सेवाओं जैसे कि Cloud Build, Kubernetes Engine, और Compute Engine के साथ सहजता से काम करता है, जिससे यह Google Cloud पारिस्थितिकी तंत्र के भीतर पहले से काम कर रही टीमों के लिए एक सुविधाजनक विकल्प बन जाता है।

  6. सुरक्षा: जैसे कि भेद्यता स्कैनिंग और कंटेनर विश्लेषण जैसी सुविधाएं प्रदान करता है ताकि सुनिश्चित किया जा सके कि संग्रहीत आर्टिफैक्ट्स सुरक्षित हैं और ज्ञात सुरक्षा मुद्दों से मुक्त हैं।

प्रारूप और मोड

एक नई रिपॉजिटरी बनाते समय यह संभव है कि रिपॉजिटरी के प्रारूप/प्रकार का चयन किया जा सके जैसे कि Docker, Maven, npm, Python... और मोड जो आमतौर पर इन तीन में से एक हो सकता है:

  • स्टैंडर्ड रिपॉजिटरी: GCP में सीधे आपके अपने आर्टिफैक्ट्स (जैसे Docker इमेजेस, Maven पैकेजेस) को संग्रहीत करने के लिए डिफ़ॉल्ट मोड। यह सुरक्षित, स्केलेबल है और Google Cloud पारिस्थितिकी तंत्र के भीतर अच्छी तरह से एकीकृत होता है।

  • रिमोट रिपॉजिटरी (यदि उपलब्ध हो): बाहरी, सार्वजनिक रिपॉजिटरीज से कैशिंग आर्टिफैक्ट्स के लिए प्रॉक्सी के रूप में कार्य करता है। यह ऊपरी स्तर पर निर्भरताओं में बदलाव से उत्पन्न समस्याओं को रोकने और बार-बार पहुंचे जाने वाले आर्टिफैक्ट्स को कैशिंग करके विलंबता को कम करने में मदद करता है।

  • वर्चुअल रिपॉजिटरी (यदि उपलब्ध हो): एक एकीकृत इंटरफेस प्रदान करता है जो एकल एंडपॉइंट के माध्यम से विभिन्न (स्टैंडर्ड या रिमोट) रिपॉजिटरीज तक पहुंच को सक्षम करता है, जिससे विभिन्न रिपॉजिटरीज में फैले आर्टिफैक्ट्स के लिए क्लाइंट-साइड कॉन्फ़िगरेशन और पहुंच प्रबंधन को सरल बनाया जा सकता है।

  • एक वर्चुअल रिपॉजिटरी के लिए आपको रिपॉजिटरीज का चयन करना होगा और उन्हें प्राथमिकता देनी होगी (सबसे बड़ी प्राथमिकता वाली रिपो का उपयोग किया जाएगा)।

  • आप एक वर्चुअल में रिमोट और स्टैंडर्ड रिपॉजिटरीज को मिला सकते हैं, यदि रिमोट की प्राथमिकता स्टैंडर्ड से बड़ी है, तो रिमोट से पैकेजेस (उदाहरण के लिए PyPi) का उपयोग किया जाएगा। इससे Dependency Confusion हो सकता है।

ध्यान दें कि Docker के रिमोट संस्करण में Docker Hub तक पहुंचने के लिए एक उपयोगकर्ता नाम और टोकन दिया जा सकता है। फिर टोकन को Secret Manager में संग्रहीत किया जाता है

एन्क्रिप्शन

जैसा कि अपेक्षित है, डिफ़ॉल्ट रूप से Google-प्रबंधित कुंजी का उपयोग किया जाता है लेकिन एक Customer-प्रबंधित कुंजी को संकेत किया जा सकता है (CMEK)।

सफाई नीतियां

  • आर्टिफैक्ट्स को हटाएं: आर्टिफैक्ट्स को सफाई नीति मानदंडों के अनुसार हटाया जाएगा

  • ड्राई रन: (डिफ़ॉल्ट वाला) आर्टिफैक्ट्स नहीं हटाए जाएंगे। सफाई नीतियों का मूल्यांकन किया जाएगा, और परीक्षण हटाने की घटनाएं Cloud Audit Logging को भेजी जाएंगी।

भेद्यता स्कैनिंग

भेद्यता स्कैनर को सक्षम करना संभव है जो कंटेनर इमेजेस के भीतर भेद्यताओं की जां

# Get repositories
gcloud artifacts repositories list
gcloud artifacts repositories describe --location <location> <repo-name>
gcloud artifacts versions list --repository=<repo-name> -location <location> --package <package-name>

# Get settings of a repository (example using python but could be other)
gcloud artifacts print-settings python --repository <repo-name> --location <location>

# Get docker images
gcloud artifacts docker images list us-central1-docker.pkg.dev/<proj-name>/<repo-name>

# Get packages (like python and others...)
gcloud artifacts packages list --repository <repo-name> --location <location>

# Get SBOMB artifacts
gcloud artifacts sbom list

# Get vulnerabilities (docker images)
gcloud artifacts vulnerabilities list us-east1-docker.pkg.dev/project123/repository123/someimage@sha256:49765698074d6d7baa82f
gcloud artifacts docker images list-vulnerabilities projects/<proj-name>/locations/<location>/scans/<scan-uuid>

विशेषाधिकार वृद्धि

pageGCP - Artifact Registry Privesc

अप्रमाणित पहुँच

pageGCP - Artifact Registry Unauthenticated Enum

पोस्ट-एक्सप्लॉइटेशन

pageGCP - Artifact Registry Post Exploitation

पर्सिस्टेंस

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

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

Last updated