# AWS - CodeBuild 未認証アクセス

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

## CodeBuild

詳細は次のページを参照してください：

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

### buildspec.yml

リポジトリ内に **`buildspec.yml`** というファイルがあり、そのリポジトリへの書き込み権を奪取できる場合、当該ファイルを**backdoor**することで、CodeBuild プロジェクト内で実行される **実行されるコマンド** を変更し、シークレットを exfiltrate したり、処理自体を侵害したり、**CodeBuild IAM role credentials** を奪取したりできます。

たとえ **`buildspec.yml`** が存在しなくても、Codebuild が使われている（または別の CI/CD）が分かっている場合、実行されるコードを**正規コードの改変**することで、例えば reverse shell を取得できることがあります。

関連情報として、Github Actions を攻撃する方法（本件と類似）についてのページも参照してください：

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

## AWS CodeBuild における self-hosted GitHub Actions ランナー <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 }}
```
Github ActionsとAWSのこの新しい関係により、Github上のコードはIAM roleがアタッチされたCodeBuildプロジェクトで実行されるため、GithubからAWSを侵害する別の経路が生まれます。

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