AWS - Codepipeline Privesc

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

codepipeline

Codepipeline hakkında daha fazla bilgi için:

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

iam:PassRole, codepipeline:CreatePipeline, codebuild:CreateProject, codepipeline:StartPipelineExecution

Bir code pipeline oluştururken çalıştırılacak bir codepipeline IAM Rolü belirtebilirsiniz, bu nedenle onları tehlikeye atabilirsiniz.

Önceki izinlere ek olarak, kodun depolandığı yere erişiminiz olması gerekecektir (S3, ECR, github, bitbucket...).

Bunu web sayfasında yaparak test ettim, önceki belirtilen izinler bir codepipeline oluşturmak için gereken List/Get izinleri değildir, ancak web üzerinde oluşturmak için ayrıca şunlara ihtiyacınız olacaktır: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Build projesi oluşturulurken çalıştırılacak bir komut belirtebilirsiniz (ters kabuk?) ve build aşamasını yetkili kullanıcı olarak çalıştırmak için yapılandırma saldırganın tehlikeye atması gereken konfigürasyondur:

?codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution

Önceki izinlerle bir codepipeline'da kullanılan rolü ve yürütülen komutu değiştirmek mümkün olabilir.

codepipeline:pollforjobs

AWS belirtir:

Bu API çağrıldığında, CodePipeline, eylemin giriş veya çıkış sanatçıları için o S3 kovasına erişim gerektiriyorsa, bu API, bu S3 kovası için geçici kimlik bilgilerini döndürür. Bu API ayrıca, eylem için tanımlanan herhangi bir gizli değeri de döndürür.

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

Last updated