# AWS - CodeBuild Accesso non autenticato

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

## CodeBuild

Per maggiori informazioni consulta questa pagina:

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

### buildspec.yml

Se ottieni accesso in scrittura a un repository che contiene un file chiamato **`buildspec.yml`**, potresti inserire una **backdoor** in questo file, che specifica i **comandi che verranno eseguiti** all'interno di un progetto CodeBuild e exfiltrate i segreti, compromettere ciò che viene eseguito e anche compromettere le **CodeBuild IAM role credentials**.

Nota che anche se non esiste alcun file **`buildspec.yml`**, ma sai che CodeBuild viene utilizzato (o un diverso CI/CD), **modificare del codice legittimo** che verrà eseguito può anche darti, per esempio, una reverse shell.

Per informazioni correlate puoi consultare la pagina su come attaccare Github Actions (simile a questo):

{{#ref}}
../../../../pentesting-ci-cd/github-security/abusing-github-actions/
{{#endref}}

## Self-hosted GitHub Actions runners in AWS CodeBuild <a href="#action-runner" id="action-runner"></a>

As [**indicated in the docs**](https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html), It's possible to configure **CodeBuild** to run **self-hosted Github actions** when a workflow is triggered inside a Github repo configured. This can be detected checking the CodeBuild project configuration because the **`Event type`** needs to contain: **`WORKFLOW_JOB_QUEUED`** and in a Github Workflow because it will select a **self-hosted** runner like this:
```bash
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
```
Questa nuova relazione tra Github Actions e AWS crea un altro modo per compromettere AWS da Github, poiché il codice su Github verrà eseguito in un progetto CodeBuild con un ruolo IAM associato.

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