AWS - Codepipeline Privesc

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

codepipeline

codepipeline hakkında daha fazla bilgi için bakınız:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Bir code pipeline oluştururken codepipeline IAM Role to run belirtebilirsiniz, bu nedenle bu rolleri ele geçirebilirsiniz.

Önceki izinlerin yanı sıra kodun depolandığı yere erişim (S3, ECR, github, bitbucket…) gerekir.

Bunu web arayüzünde test ettim; önceki belirtilen izinler codepipeline oluşturmak için gereken List/Get olmayan izinlerdir, fakat web üzerinde oluşturmak için ayrıca şunlar gerekir: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

creation of the build project sırasında bir command to run (rev shell?) belirtebilir ve build aşamasını privileged user olarak çalıştırabilirsiniz; saldırganın ele geçirmek için ihtiyaç duyduğu konfigürasyon budur:

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

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

codepipeline:pollforjobs

AWS şöyle belirtir:

Bu API çağrıldığında, CodePipeline pipeline için artifact’leri depolamakta kullanılan S3 bucket için geçici kimlik bilgilerini döndürür, eğer eylem söz konusu S3 bucket’a giriş veya çıkış artifact’leri için erişim gerektiriyorsa. Bu API ayrıca eylem için tanımlanmış herhangi bir gizli değeri de döndürür.

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin