# AWS - Codebuild Enum

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

## CodeBuild

AWS **CodeBuild** は **完全に管理された継続的インテグレーションサービス** として認識されています。このサービスの主な目的は、ソースコードのコンパイル、テストの実行、およびデプロイメント用のソフトウェアパッケージの作成のシーケンスを自動化することです。CodeBuild が提供する主な利点は、ユーザーがビルドサーバーをプロビジョニング、管理、スケーリングする必要を軽減できる点にあります。この便利さは、サービス自体がこれらのタスクを管理するためです。AWS CodeBuild の重要な機能には以下が含まれます：

1. **管理されたサービス**: CodeBuild はビルドサーバーを管理およびスケーリングし、ユーザーをサーバーのメンテナンスから解放します。
2. **継続的インテグレーション**: 開発およびデプロイメントのワークフローと統合し、ソフトウェアリリースプロセスのビルドおよびテストフェーズを自動化します。
3. **パッケージ生成**: ビルドおよびテストフェーズの後、ソフトウェアパッケージを準備し、デプロイメントの準備を整えます。

AWS CodeBuild は他の AWS サービスとシームレスに統合され、CI/CD (継続的インテグレーション/継続的デプロイメント) パイプラインの効率と信頼性を向上させます。

### **Github/Gitlab/Bitbucket 認証情報**

#### **デフォルトのソース認証情報**

これは、いくつかの **アクセス** (Github トークンやアプリなど) を構成できるレガシーオプションであり、これによりすべてのコードビルドプロジェクトがこの構成された認証情報セットを使用できるようになります。

保存された認証情報 (トークン、パスワード...) は **codebuild によって管理され**、AWS API からそれらを取得する公的な方法はありません。

#### カスタムソース認証情報

リポジトリプラットフォーム (Github、Gitlab、Bitbucket) に応じて、異なるオプションが提供されます。しかし一般的に、**トークンやパスワードを保存する必要があるオプションは、シークレットマネージャーにシークレットとして保存されます**。

これにより、**異なるコードビルドプロジェクトが異なる構成されたアクセスをプロバイダーに使用できる**ようになり、単に構成されたデフォルトのものを使用するだけではなくなります。

### 列挙
```bash
# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials

# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars

# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>

# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>
```
### プライベート昇格

次のページでは、**codebuildの権限を悪用して特権を昇格させる方法**を確認できます：

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

### ポストエクスプロイト

{{#ref}}
../aws-post-exploitation/aws-codebuild-post-exploitation/
{{#endref}}

### 認証されていないアクセス

{{#ref}}
../aws-unauthenticated-enum-access/aws-codebuild-unauthenticated-access/README.md
{{#endref}}

## 参考文献

- [https://docs.aws.amazon.com/managedservices/latest/userguide/code-build.html](https://docs.aws.amazon.com/managedservices/latest/userguide/code-build.html)

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