# AWS - CodeBuild Post Exploitation
{{#include ../../../../banners/hacktricks-training.md}}
## CodeBuild
अधिक जानकारी के लिए, देखें:
{{#ref}}
../../aws-services/aws-codebuild-enum.md
{{#endref}}
### Check Secrets
यदि Codebuild में Github, Gitlab या Bitbucket से कनेक्ट करने के लिए व्यक्तिगत टोकन, पासवर्ड या OAuth टोकन एक्सेस के रूप में क्रेडेंशियल सेट किए गए हैं, तो ये **क्रेडेंशियल्स सीक्रेट मैनेजर में सीक्रेट्स के रूप में स्टोर किए जाएंगे**।\
इसलिए, यदि आपके पास सीक्रेट मैनेजर को पढ़ने का एक्सेस है, तो आप इन सीक्रेट्स को प्राप्त कर सकते हैं और जुड़े प्लेटफॉर्म पर पिवट कर सकते हैं।
{{#ref}}
../../aws-privilege-escalation/aws-secrets-manager-privesc/README.md
{{#endref}}
### Abuse CodeBuild Repo Access
**CodeBuild** को कॉन्फ़िगर करने के लिए, इसे **कोड रेपो** तक **एक्सेस** की आवश्यकता होगी जिसका यह उपयोग करने जा रहा है। कई प्लेटफार्म इस कोड को होस्ट कर सकते हैं:
**CodeBuild प्रोजेक्ट को कॉन्फ़िगर किए गए स्रोत प्रदाता तक एक्सेस होना चाहिए**, या तो **IAM भूमिका** के माध्यम से या github/bitbucket **टोकन या OAuth एक्सेस** के साथ।
एक हमलावर के पास **CodeBuild में ऊंचे अनुमतियाँ** होने पर, वह इस कॉन्फ़िगर किए गए एक्सेस का दुरुपयोग करके कॉन्फ़िगर किए गए रेपो और अन्य में कोड लीक कर सकता है जहाँ सेट क्रेड्स को एक्सेस है।\
इसके लिए, एक हमलावर को बस **रेपो URL को प्रत्येक रेपो में बदलने की आवश्यकता होगी जहाँ कॉन्फ़िग क्रेडेंशियल्स को एक्सेस है** (ध्यान दें कि aws वेब आपके लिए सभी को सूचीबद्ध करेगा):
और **प्रत्येक रेपो को एक्सफिल्ट्रेट करने के लिए Buildspec कमांड को बदलें**।
> [!WARNING]
> हालाँकि, यह **कार्य दोहरावदार और थकाऊ है** और यदि एक github टोकन को **लिखने की अनुमतियों** के साथ कॉन्फ़िगर किया गया था, तो एक हमलावर **उन अनुमतियों का (दुरुपयोग) नहीं कर पाएगा** क्योंकि उसके पास टोकन तक पहुँच नहीं है।\
> या क्या है? अगले अनुभाग की जाँच करें
### Leaking Access Tokens from AWS CodeBuild
आप CodeBuild में दिए गए एक्सेस को Github जैसे प्लेटफार्मों पर लीक कर सकते हैं। जाँच करें कि क्या किसी बाहरी प्लेटफार्मों तक कोई एक्सेस दिया गया था:
```bash
aws codebuild list-source-credentials
```
{{#ref}}
aws-codebuild-token-leakage.md
{{#endref}}
### `codebuild:DeleteProject`
एक हमलावर पूरे CodeBuild प्रोजेक्ट को हटा सकता है, जिससे प्रोजेक्ट कॉन्फ़िगरेशन का नुकसान होगा और प्रोजेक्ट पर निर्भर एप्लिकेशन पर प्रभाव पड़ेगा।
```bash
aws codebuild delete-project --name
```
**संभावित प्रभाव**: हटाए गए प्रोजेक्ट का उपयोग करने वाले अनुप्रयोगों के लिए प्रोजेक्ट कॉन्फ़िगरेशन का नुकसान और सेवा में बाधा।
### `codebuild:TagResource` , `codebuild:UntagResource`
एक हमलावर CodeBuild संसाधनों से टैग जोड़ सकता है, संशोधित कर सकता है, या हटा सकता है, जिससे आपकी संगठन की लागत आवंटन, संसाधन ट्रैकिंग, और टैग के आधार पर पहुंच नियंत्रण नीतियों में बाधा उत्पन्न हो सकती है।
```bash
aws codebuild tag-resource --resource-arn --tags
aws codebuild untag-resource --resource-arn --tag-keys
```
**संभावित प्रभाव**: लागत आवंटन, संसाधन ट्रैकिंग, और टैग-आधारित पहुंच नियंत्रण नीतियों में विघटन।
### `codebuild:DeleteSourceCredentials`
एक हमलावर Git रिपॉजिटरी के लिए स्रोत क्रेडेंशियल्स को हटा सकता है, जो रिपॉजिटरी पर निर्भर करने वाले अनुप्रयोगों के सामान्य कार्य को प्रभावित करता है।
```sql
aws codebuild delete-source-credentials --arn
```
**संभावित प्रभाव**: प्रभावित रिपॉजिटरी पर निर्भर करने वाले अनुप्रयोगों के सामान्य कार्य में बाधा, स्रोत क्रेडेंशियल्स को हटाने के कारण।
{{#include ../../../../banners/hacktricks-training.md}}