AWS - CodeBuild Post Exploitation

Support HackTricks

CodeBuild

For more information, check:

Abuse CodeBuild Repo Access

CodeBuild को कॉन्फ़िगर करने के लिए, इसे कोड रेपो तक पहुँच की आवश्यकता होगी जिसका यह उपयोग करने जा रहा है। कई प्लेटफ़ॉर्म इस कोड को होस्ट कर सकते हैं:

CodeBuild प्रोजेक्ट को कॉन्फ़िगर किए गए स्रोत प्रदाता तक पहुँच होनी चाहिए, या तो IAM भूमिका के माध्यम से या github/bitbucket टोकन या OAuth पहुँच के साथ।

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

और प्रत्येक रेपो को एक्सफिल्ट्रेट करने के लिए Buildspec कमांड बदलें

हालांकि, यह कार्य दोहरावदार और थकाऊ है और यदि एक github टोकन को लिखने की अनुमतियों के साथ कॉन्फ़िगर किया गया था, तो एक हमलावर उन अनुमतियों का (दुरुपयोग) नहीं कर पाएगा क्योंकि उसके पास टोकन तक पहुँच नहीं है। या क्या है? अगली अनुभाग देखें

Leaking Access Tokens from AWS CodeBuild

आप CodeBuild में दिए गए एक्सेस को Github जैसी प्लेटफार्मों पर लीक कर सकते हैं। जांचें कि क्या किसी बाहरी प्लेटफार्मों तक पहुँच दी गई थी:

aws codebuild list-source-credentials

codebuild:DeleteProject

एक हमलावर पूरे CodeBuild प्रोजेक्ट को हटा सकता है, जिससे प्रोजेक्ट कॉन्फ़िगरेशन का नुकसान होगा और प्रोजेक्ट पर निर्भर एप्लिकेशन पर प्रभाव पड़ेगा।

aws codebuild delete-project --name <value>

संभावित प्रभाव: हटाए गए प्रोजेक्ट के लिए प्रोजेक्ट कॉन्फ़िगरेशन का नुकसान और अनुप्रयोगों के लिए सेवा में बाधा।

codebuild:TagResource , codebuild:UntagResource

एक हमलावर CodeBuild संसाधनों से टैग जोड़ सकता है, संशोधित कर सकता है, या हटा सकता है, जिससे आपकी संगठन की लागत आवंटन, संसाधन ट्रैकिंग, और टैग के आधार पर पहुंच नियंत्रण नीतियों में बाधा उत्पन्न हो सकती है।

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

संभावित प्रभाव: लागत आवंटन, संसाधन ट्रैकिंग, और टैग-आधारित पहुंच नियंत्रण नीतियों में विघटन।

codebuild:DeleteSourceCredentials

एक हमलावर Git रिपॉजिटरी के लिए स्रोत क्रेडेंशियल्स को हटा सकता है, जो रिपॉजिटरी पर निर्भर करने वाले अनुप्रयोगों के सामान्य कार्य को प्रभावित करता है।

aws codebuild delete-source-credentials --arn <value>

संभावित प्रभाव: प्रभावित रिपॉजिटरी पर निर्भर एप्लिकेशनों के सामान्य कार्य में बाधा, स्रोत क्रेडेंशियल्स को हटाने के कारण।

Support HackTricks

Last updated