# AWS - CodeBuild Post Exploitation

{{#include ../../../../banners/hacktricks-training.md}}

## CodeBuild

Vir meer inligting, kyk:

{{#ref}}
../../aws-services/aws-codebuild-enum.md
{{#endref}}

### Check Secrets

As credentials in Codebuild ingestel is om met Github, Gitlab of Bitbucket te verbind in die vorm van personal tokens, wagwoorde of OAuth token access, gaan hierdie **credentials stored as secrets in the secret manager**.\
Dus, as jy toegang het om die secret manager te lees sal jy hierdie secrets kan kry en pivot na die verbonden platform.

{{#ref}}
../../aws-privilege-escalation/aws-secrets-manager-privesc/README.md
{{#endref}}

### Abuse CodeBuild Repo Access

Om **CodeBuild** te konfigureer het dit **access to the code repo** nodig wat dit gaan gebruik. Verskeie platforms kan hierdie code host:

<figure><img src="../../../../images/image (96).png" alt=""><figcaption></figcaption></figure>

Die **CodeBuild project must have access** tot die geconfigureerde source provider, óf via **IAM role** óf met 'n github/bitbucket **token or OAuth access**.

'n Aanvaller met **elevated permissions in over a CodeBuild** kan hierdie geconfigureerde access misbruik om die code van die geconfigureerde repo en ander waar die set creds toegang het te leak.\
Om dit te doen hoef 'n aanvaller net die **repository URL na elke repo wat die config credentials toegang het** te verander (let wel dat die aws web al hierdie vir jou sal lys):

<figure><img src="../../../../images/image (107).png" alt=""><figcaption></figcaption></figure>

En **change the Buildspec commands to exfiltrate each repo**.

> [!WARNING]
> Hierdie **taak is egter herhalend en vervelig** en as 'n github token geconfigureer is met **write permissions**, gaan 'n aanvaller **nie in staat wees om daardie permissions (ab)use nie** aangesien hy nie toegang tot die token het.\
> Of het hy? Kyk die volgende afdeling

### Leaking Access Tokens from AWS CodeBuild

You can leak access given in CodeBuild to platforms like Github. Check if any access to external platforms was given with:
```bash
aws codebuild list-source-credentials
```
{{#ref}}
aws-codebuild-token-leakage.md
{{#endref}}

### Onbetroubare PR-uitvoering deur webhook-filter miskonfigurasie

Indien webhook-filters swak is, kan eksterne aanvallers hul PRs in bevoorregte CodeBuild-projekte laat bou en dan execute arbitrary code in CI.

{{#ref}}
aws-codebuild-untrusted-pr-webhook-bypass.md
{{#endref}}

### `codebuild:DeleteProject`

Een aanvaller kan 'n hele CodeBuild-projek verwyder, wat tot verlies van projekkonfigurasie kan lei en toepassings wat op die projek staatmaak kan aantast.
```bash
aws codebuild delete-project --name <value>
```
**Potensiële impak**: Verlies van projekkonfigurasie en diensonderbreking vir toepassings wat die verwyderde projek gebruik.

### `codebuild:TagResource` , `codebuild:UntagResource`

'n aanvaller kan etikette byvoeg, wysig of verwyder op CodeBuild-hulpbronne, wat jou organisasie se koste-toewysing, hulpbronopsporing en op etikette gebaseerde toegangsbeheerbeleide kan ontwrig.
```bash
aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>
```
**Potensiële Impak**: Versteuring van kostetoewysing, hulpbronopsporing en etiketgebaseerde toegangsbeheerbeleide.

### `codebuild:DeleteSourceCredentials`

’n aanvaller kan bron-toegangsbewyse vir ’n Git repository verwyder, wat die normale werking van toepassings wat van die repository afhanklik is, kan beïnvloed.
```sql
aws codebuild delete-source-credentials --arn <value>
```
**Potensiële impak**: Versteuring van normale werking vir toepassings wat op die geraakte repository staatmaak weens die verwydering van bron-inlogbesonderhede.

{{#include ../../../../banners/hacktricks-training.md}}
