GCP - Artifact Registry Persistence

Reading time: 3 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 का समर्थन करें

Artifact Registry

Artifact Registry के बारे में अधिक जानकारी के लिए देखें:

GCP - Artifact Registry Enum

Dependency Confusion

  • क्या होता है अगर एक remote और एक standard repositories एक virtual में मिलाए जाते हैं और एक package दोनों में मौजूद है?
  • वर्चुअल रिपॉजिटरी में सेट की गई उच्चतम प्राथमिकता वाला उपयोग किया जाता है
  • अगर प्राथमिकता समान है:
  • अगर संस्करण समान है, तो नीति का नाम वर्णानुक्रम में पहले वर्चुअल रिपॉजिटरी में उपयोग किया जाता है
  • अगर नहीं, तो उच्चतम संस्करण का उपयोग किया जाता है

caution

इसलिए, यदि remote repository की प्राथमिकता उच्च या समान है, तो एक सार्वजनिक package registry में उच्चतम संस्करण (dependency confusion) का दुरुपयोग करना संभव है

यह तकनीक persistence और unauthenticated access के लिए उपयोगी हो सकती है क्योंकि इसे दुरुपयोग करने के लिए केवल Artifact Registry में संग्रहीत एक लाइब्रेरी का नाम जानना और सार्वजनिक रिपॉजिटरी (उदाहरण के लिए Python के लिए PyPi) में उसी लाइब्रेरी को उच्च संस्करण के साथ बनाना आवश्यक है।

persistence के लिए आपको निम्नलिखित चरणों का पालन करना होगा:

  • आवश्यकताएँ: एक virtual repository का अस्तित्व होना चाहिए और इसका उपयोग किया जाना चाहिए, एक internal package जिसका नाम सार्वजनिक रिपॉजिटरी में मौजूद नहीं है, का उपयोग किया जाना चाहिए।
  • यदि यह मौजूद नहीं है तो एक remote repository बनाएं
  • वर्चुअल रिपॉजिटरी में remote repository जोड़ें
  • वर्चुअल रजिस्ट्री की नीतियों को संपादित करें ताकि remote repository को उच्च प्राथमिकता (या समान) दी जा सके।
    कुछ ऐसा चलाएँ:
  • gcloud artifacts repositories update --upstream-policy-file ...
  • वैध पैकेज डाउनलोड करें, अपने दुर्भावनापूर्ण कोड को जोड़ें और इसे सार्वजनिक रिपॉजिटरी में उसी संस्करण के साथ पंजीकृत करें। हर बार जब एक डेवलपर इसे स्थापित करता है, तो वह आपका स्थापित करेगा!

Dependency confusion के बारे में अधिक जानकारी के लिए देखें:

Dependency Confusion - HackTricks

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 का समर्थन करें