# AWS - Accès non authentifié à CodeBuild

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

## CodeBuild

Pour plus d'infos, consultez cette page :

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

### buildspec.yml

Si vous compromettez l'accès en écriture sur un dépôt contenant un fichier nommé **`buildspec.yml`**, vous pourriez **installer une porte dérobée** dans ce fichier, qui spécifie les **commandes qui vont être exécutées** à l'intérieur d'un projet CodeBuild et exfiltrer les secrets, compromettre ce qui est fait et également compromettre les **identifiants de rôle IAM CodeBuild**.

Notez que même s'il n'y a pas de fichier **`buildspec.yml`**, mais que vous savez que Codebuild est utilisé (ou un autre CI/CD), **modifier un code légitime** qui va être exécuté peut également vous obtenir un shell inversé par exemple.

Pour des informations connexes, vous pourriez consulter la page sur comment attaquer les Github Actions (similaire à cela) :

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

## Runners GitHub Actions auto-hébergés dans AWS CodeBuild <a href="#action-runner" id="action-runner"></a>

Comme [**indiqué dans la documentation**](https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html), il est possible de configurer **CodeBuild** pour exécuter des **actions Github auto-hébergées** lorsqu'un workflow est déclenché à l'intérieur d'un dépôt Github configuré. Cela peut être détecté en vérifiant la configuration du projet CodeBuild car le **`Type d'événement`** doit contenir : **`WORKFLOW_JOB_QUEUED`** et dans un Workflow Github car il sélectionnera un runner **auto-hébergé** comme ceci :
```bash
runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}
```
Cette nouvelle relation entre Github Actions et AWS crée une autre façon de compromettre AWS depuis Github, car le code dans Github s'exécutera dans un projet CodeBuild avec un rôle IAM attaché.

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