AWS - CodeBuild Post Exploitation

HackTricksをサポートする

CodeBuild

詳細については、次を確認してください:

AWS - Codebuild Enum

CodeBuildリポジトリアクセスの悪用

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>

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

Support HackTricks

Last updated