AWS - CodeBuild Post Exploitation
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
詳細については、次を確認してください:
GitHub、GitLab、またはBitbucketに接続するためにCodeBuildに設定された資格情報が、個人トークン、パスワード、またはOAuthトークンアクセスの形式である場合、これらの資格情報はシークレットマネージャーにシークレットとして保存されます。 したがって、シークレットマネージャーを読み取るアクセス権がある場合、これらのシークレットを取得し、接続されたプラットフォームにピボットすることができます。
CodeBuildを構成するには、使用するコードリポジトリへのアクセスが必要です。このコードをホストしているプラットフォームはいくつかあります:
CodeBuildプロジェクトは、構成されたソースプロバイダーへのアクセスを持っている必要があります。これは、IAMロールまたはGitHub/BitbucketのトークンまたはOAuthアクセスを介して行われます。
CodeBuildで権限が昇格した攻撃者は、この構成されたアクセスを悪用して、設定された資格情報がアクセスできるリポジトリのコードを漏洩させることができます。 これを行うには、攻撃者は単に構成資格情報がアクセスできる各リポジトリのリポジトリURLを変更する必要があります(AWSのウェブサイトでは、すべてのリポジトリがリストされます):
そして、各リポジトリを外部流出させるためにBuildspecコマンドを変更します。
ただし、この作業は繰り返しで面倒です。もしGitHubトークンが書き込み権限で構成されている場合、攻撃者はその権限を(悪用)できません。なぜなら、トークンへのアクセスがないからです。 それとも、あるのでしょうか?次のセクションを確認してください。
CodeBuildでGitHubなどのプラットフォームに与えられたアクセスを漏洩させることができます。外部プラットフォームへのアクセスが与えられているかどうかを確認してください:
codebuild:DeleteProject
攻撃者は、CodeBuildプロジェクト全体を削除することができ、プロジェクトの設定が失われ、プロジェクトに依存するアプリケーションに影響を与える可能性があります。
潜在的な影響: 削除されたプロジェクトを使用しているアプリケーションのプロジェクト構成の喪失とサービスの中断。
codebuild:TagResource
, codebuild:UntagResource
攻撃者はCodeBuildリソースからタグを追加、変更、または削除することができ、タグに基づく組織のコスト配分、リソース追跡、およびアクセス制御ポリシーを混乱させる可能性があります。
潜在的な影響: コスト配分、リソース追跡、およびタグベースのアクセス制御ポリシーの混乱。
codebuild:DeleteSourceCredentials
攻撃者はGitリポジトリのソース認証情報を削除することができ、リポジトリに依存するアプリケーションの正常な機能に影響を与える可能性があります。
潜在的影響: ソース認証情報の削除により、影響を受けたリポジトリに依存するアプリケーションの正常な機能が妨げられる可能性があります。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)