AWS - Codepipeline Privesc
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
codepipeline
codepipeline の詳細は次を参照:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, codepipeline:CreatePipeline, codebuild:CreateProject, codepipeline:StartPipelineExecution
code pipeline を作成すると、実行に使用する codepipeline IAM Role を指定できるため、それを奪取できる可能性がある。
前述の権限に加えて、コードが保存されている場所へのアクセス (S3, ECR, github, bitbucket…) が必要。
私はウェブページでこのプロセスを試したが、前述の権限は codepipeline を作成するために必要な List/Get 以外のもので、ウェブで作成するにはさらに次の権限が必要だった: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>
build project の作成中に、実行するコマンド(rev shell?)を指定でき、ビルドフェーズを特権ユーザーで実行する設定にできる。これが攻撃者が奪取するために必要な構成である:
.png)
.png)
?codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution
これらの権限を使って、codepipeline で使用されるロールや実行されるコマンドを変更できる可能性がある。
codepipeline:pollforjobs
この API が呼び出されると、CodePipeline は、アクションが入出力アーティファクトのためにその S3 バケットへのアクセスを必要とする場合、パイプラインのアーティファクトを格納するために使用される S3 バケットに対する 一時的な資格情報を返します。この API はまた、アクションに定義された 任意のシークレット値も返します。
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks Cloud

