GCP - Cloud Build Unauthenticated Enum

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

Cloud Build

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

GCP - Cloud Build Enum

cloudbuild.yml

यदि आप एक रिपॉजिटरी पर लिखने की पहुंच को समझौता करते हैं जिसमें cloudbuild.yml नामक एक फ़ाइल है, तो आप इस फ़ाइल को backdoor कर सकते हैं, जो कमांड को निर्दिष्ट करता है जो Cloud Build के अंदर निष्पादित होने वाले हैं और रहस्यों को निकाल सकते हैं, जो किया जा रहा है उसे समझौता कर सकते हैं और साथ ही Cloud Build सेवा खाता को भी समझौता कर सकते हैं।

note

ध्यान दें कि GCP के पास "Comment Control" के माध्यम से बाहरी PRs से निर्माण प्रणालियों के निष्पादन को नियंत्रित करने के लिए प्रशासकों को अनुमति देने का विकल्प है। Comment Control एक विशेषता है जहां सहयोगियों/प्रोजेक्ट मालिकों को निर्माण को ट्रिगर करने के लिए “/gcbrun” टिप्पणी करने की आवश्यकता होती है और इस विशेषता का उपयोग स्वाभाविक रूप से इंटरनेट पर किसी को भी आपके निर्माण प्रणालियों को ट्रिगर करने से रोकता है।

कुछ संबंधित जानकारी के लिए आप Github Actions पर हमले के बारे में पृष्ठ देख सकते हैं (इससे मिलता-जुलता):

Abusing Github Actions

PR Approvals

जब ट्रिगर PR होता है क्योंकि कोई भी सार्वजनिक रिपॉजिटरी पर PR कर सकता है, तो किसी भी PR के साथ ट्रिगर के निष्पादन की अनुमति देना बहुत खतरनाक होगा। इसलिए, डिफ़ॉल्ट रूप से, निष्पादन केवल मालिकों और सहयोगियों के लिए स्वचालित होगा, और अन्य उपयोगकर्ताओं के PRs के साथ ट्रिगर को निष्पादित करने के लिए एक मालिक या सहयोगी को /gcbrun टिप्पणी करनी होगी।

caution

इसलिए, यदि इसे Not required पर सेट किया गया है, तो एक हमलावर ब्रांच पर PR कर सकता है जो निष्पादन को ट्रिगर करेगा, जिसमें cloudbuild.yml फ़ाइल में दुर्भावनापूर्ण कोड निष्पादन जोड़ा जाएगा और cloudbuild निष्पादन को समझौता करेगा (ध्यान दें कि cloudbuild कोड को PR से डाउनलोड करेगा, इसलिए यह दुर्भावनापूर्ण cloudbuild.yml को निष्पादित करेगा)।

इसके अलावा, जब आप PR भेजते हैं तो यह देखना आसान है कि क्या कुछ cloudbuild निष्पादन किया जाना चाहिए क्योंकि यह Github में दिखाई देता है:

warning

फिर, भले ही cloudbuild निष्पादित न हो, हमलावर को उस कंपनी के GCP प्रोजेक्ट का प्रोजेक्ट नाम देखने में सक्षम होगा।

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