AWS - CodeBuild Post Exploitation
CodeBuild
詳細については、以下を参照してください:
AWS - Codebuild EnumCodeBuild Repo Accessの悪用
CodeBuildを設定するためには、使用するコードリポジトリへのアクセスが必要です。いくつかのプラットフォームがこのコードをホスティングしている可能性があります:
CodeBuildプロジェクトは、IAMロールまたはgithub/bitbucketのトークンまたはOAuthアクセス**を介して、設定されたソースプロバイダーへのアクセスを持っている必要があります。
CodeBuild上で昇格された権限を持つ攻撃者は、この設定されたアクセスを悪用して、設定されたリポジトリや設定されたクレデンシャルがアクセスできる他のリポジトリのコードを漏洩させることができます。 これを行うために、攻撃者は設定クレデンシャルがアクセスできる各リポジトリのURLを変更するだけでよいです(awsウェブはすべてをリストアップしてくれます):
そして、Buildspecコマンドを変更して各リポジトリを流出させる。
しかし、このタスクは反復的で面倒であり、githubトークンが書き込み権限で設定されている場合、攻撃者はその権限を(悪)用することができません。なぜなら、トークンにアクセスできないからです。 それともできるのでしょうか?次のセクションを確認してください
AWS CodeBuildからのアクセストークンの漏洩
CodeBuildでGithubなどのプラットフォームに与えられたアクセスを漏洩させることができます。外部プラットフォームへのアクセスが与えられているかどうかを確認してください:
codebuild:DeleteProject
codebuild:DeleteProject
攻撃者は、CodeBuildプロジェクト全体を削除することができ、プロジェクトの設定が失われ、そのプロジェクトに依存するアプリケーションに影響を与える可能性があります。
潜在的影響: プロジェクト構成の喪失および削除されたプロジェクトを使用するアプリケーションのサービス中断。
codebuild:TagResource
, codebuild:UntagResource
codebuild:TagResource
, codebuild:UntagResource
攻撃者は、CodeBuildリソースからタグを追加、変更、または削除することで、組織のコスト配分、リソース追跡、およびタグに基づくアクセス制御ポリシーを混乱させる可能性があります。
潜在的影響: コスト配分、リソース追跡、およびタグベースのアクセス制御ポリシーの混乱。
codebuild:DeleteSourceCredentials
codebuild:DeleteSourceCredentials
攻撃者はGitリポジトリのソース資格情報を削除し、リポジトリに依存するアプリケーションの正常な機能に影響を与える可能性があります。
潜在的な影響: ソース認証情報の削除により、影響を受けるリポジトリに依存するアプリケーションの正常な機能が中断される可能性があります。
Last updated