AWS - Codepipeline Privesc

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

codepipeline

Pour plus d’infos sur codepipeline, consultez :

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Lors de la crĂ©ation d’un code pipeline, vous pouvez indiquer un codepipeline IAM Role to run, vous pourriez donc les compromettre.

En plus des permissions prĂ©cĂ©dentes, vous auriez besoin d’accĂšs Ă  l’endroit oĂč le code est stockĂ© (S3, ECR, github, bitbucket
)

J’ai testĂ© ceci en effectuant le processus via la page web ; les permissions indiquĂ©es prĂ©cĂ©demment sont celles nĂ©cessaires pour crĂ©er un codepipeline (et pas uniquement les permissions List/Get), mais pour le crĂ©er via l’interface web vous aurez aussi besoin de : codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Lors de la crĂ©ation du build project vous pouvez indiquer une commande Ă  exĂ©cuter (rev shell?) et exĂ©cuter la phase de build en tant qu’utilisateur privilĂ©giĂ©, c’est la configuration dont l’attaquant a besoin pour compromettre :

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

Il pourrait ĂȘtre possible de modifier le rĂŽle utilisĂ© et la commande exĂ©cutĂ©e sur un codepipeline avec les permissions prĂ©cĂ©dentes.

codepipeline:pollforjobs

AWS mentions:

Lorsque cette API est appelĂ©e, CodePipeline returns temporary credentials for the S3 bucket utilisĂ© pour stocker les artifacts pour le pipeline, si l’action nĂ©cessite l’accĂšs Ă  ce S3 bucket pour des artifacts d’entrĂ©e ou de sortie. Cette API returns any secret values defined for the action.

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks