AWS - CodeBuild Post Exploitation

HackTricksをサポートする

CodeBuild

詳細については、以下を参照してください:

AWS - Codebuild Enum

CodeBuild Repo Accessの悪用

CodeBuildを設定するためには、使用するコードリポジトリへのアクセスが必要です。いくつかのプラットフォームがこのコードをホスティングしている可能性があります:

CodeBuildプロジェクトは、IAMロールまたはgithub/bitbucketのトークンまたはOAuthアクセス**を介して、設定されたソースプロバイダーへのアクセスを持っている必要があります。

CodeBuild上で昇格された権限を持つ攻撃者は、この設定されたアクセスを悪用して、設定されたリポジトリや設定されたクレデンシャルがアクセスできる他のリポジトリのコードを漏洩させることができます。 これを行うために、攻撃者は設定クレデンシャルがアクセスできる各リポジトリのURLを変更するだけでよいです(awsウェブはすべてをリストアップしてくれます):

そして、Buildspecコマンドを変更して各リポジトリを流出させる

しかし、このタスクは反復的で面倒であり、githubトークンが書き込み権限で設定されている場合、攻撃者はその権限を(悪)用することができません。なぜなら、トークンにアクセスできないからです。 それともできるのでしょうか?次のセクションを確認してください

AWS CodeBuildからのアクセストークンの漏洩

CodeBuildでGithubなどのプラットフォームに与えられたアクセスを漏洩させることができます。外部プラットフォームへのアクセスが与えられているかどうかを確認してください:

aws codebuild list-source-credentials
AWS Codebuild - Token Leakage

codebuild:DeleteProject

攻撃者は、CodeBuildプロジェクト全体を削除することができ、プロジェクトの設定が失われ、そのプロジェクトに依存するアプリケーションに影響を与える可能性があります。

aws codebuild delete-project --name <value>

潜在的影響: プロジェクト構成の喪失および削除されたプロジェクトを使用するアプリケーションのサービス中断。

codebuild:TagResource , codebuild:UntagResource

攻撃者は、CodeBuildリソースからタグを追加、変更、または削除することで、組織のコスト配分、リソース追跡、およびタグに基づくアクセス制御ポリシーを混乱させる可能性があります。

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

潜在的影響: コスト配分、リソース追跡、およびタグベースのアクセス制御ポリシーの混乱。

codebuild:DeleteSourceCredentials

攻撃者はGitリポジトリのソース資格情報を削除し、リポジトリに依存するアプリケーションの正常な機能に影響を与える可能性があります。

aws codebuild delete-source-credentials --arn <value>

潜在的な影響: ソース認証情報の削除により、影響を受けるリポジトリに依存するアプリケーションの正常な機能が中断される可能性があります。

HackTricksをサポートする

Last updated