GCP - Cloud Build Unauthenticated Enum
Cloud Build
Cloud Build के बारे में अधिक जानकारी के लिए देखें:
GCP - Cloud Build Enumcloudbuild.yml
यदि आप cloudbuild.yml
नामक फ़ाइल वाले एक रिपॉजिटरी पर लिखने की पहुंच को समझौता करते हैं, तो आप इस फ़ाइल को backdoor कर सकते हैं, जो कमांड को निर्दिष्ट करता है जो Cloud Build के अंदर निष्पादित होने वाले हैं और रहस्यों को निकाल सकते हैं, जो किया गया है उसे समझौता कर सकते हैं और साथ ही Cloud Build सेवा खाता को भी समझौता कर सकते हैं।
ध्यान दें कि GCP के पास "Comment Control" के माध्यम से बाहरी PRs से निर्माण प्रणालियों के निष्पादन को नियंत्रित करने के लिए प्रशासकों को अनुमति देने का विकल्प है। Comment Control एक विशेषता है जहां सहयोगियों/प्रोजेक्ट मालिकों को निर्माण को ट्रिगर करने के लिए “/gcbrun” टिप्पणी करने की आवश्यकता होती है और इस विशेषता का उपयोग स्वाभाविक रूप से इंटरनेट पर किसी को भी आपके निर्माण प्रणालियों को ट्रिगर करने से रोकता है।
कुछ संबंधित जानकारी के लिए आप Github Actions पर हमले के तरीके के बारे में पृष्ठ देख सकते हैं (इससे मिलता-जुलता):
Abusing Github ActionsPR Approvals
जब ट्रिगर PR होता है क्योंकि कोई भी सार्वजनिक रिपॉजिटरी पर PR कर सकता है, तो किसी भी PR के साथ ट्रिगर के निष्पादन की अनुमति देना बहुत खतरनाक होगा। इसलिए, डिफ़ॉल्ट रूप से, निष्पादन केवल मालिकों और सहयोगियों के लिए स्वचालित होगा, और अन्य उपयोगकर्ताओं के PRs के साथ ट्रिगर को निष्पादित करने के लिए एक मालिक या सहयोगी को /gcbrun
टिप्पणी करनी होगी।
इसलिए, यदि इसे Not required
पर सेट किया गया है, तो एक हमलावर ब्रांच पर PR कर सकता है जो निष्पादन को ट्रिगर करेगा, जिसमें cloudbuild.yml
फ़ाइल में दुर्भावनापूर्ण कोड निष्पादन जोड़ा जाएगा और cloudbuild निष्पादन को समझौता करेगा (ध्यान दें कि cloudbuild कोड को PR से डाउनलोड करेगा, इसलिए यह दुर्भावनापूर्ण cloudbuild.yml
को निष्पादित करेगा)।
इसके अलावा, जब आप PR भेजते हैं तो यह देखना आसान है कि कुछ cloudbuild निष्पादन किया जाना चाहिए क्योंकि यह Github में दिखाई देता है:
फिर, भले ही cloudbuild निष्पादित न हो, हमलावर को उस कंपनी के GCP प्रोजेक्ट का प्रोजेक्ट नाम देखने में सक्षम होगा।
Last updated