AWS - Codepipeline Privesc
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do 💬 Discord group ou do telegram group ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
codepipeline
Para mais informações sobre codepipeline veja:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, codepipeline:CreatePipeline, codebuild:CreateProject, codepipeline:StartPipelineExecution
Ao criar um code pipeline você pode indicar uma codepipeline IAM Role para executar, portanto você poderia comprometer essa role.
Além das permissões anteriores, você precisaria de acesso ao local onde o código é armazenado (S3, ECR, github, bitbucket…)
Eu testei isso fazendo o processo pela interface web. As permissões indicadas anteriormente não são as List/Get necessárias para criar um codepipeline, mas para criá-lo na web você também precisará de: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>
Durante a criação do projeto de build você pode indicar um comando a ser executado (rev shell?) e executar a fase de build como usuário privilegiado, essa é a configuração que o atacante precisa comprometer:
.png)
.png)
?codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution
Pode ser possível modificar a role usada e o comando executado em um codepipeline com as permissões anteriores.
codepipeline:pollforjobs
Quando essa API é chamada, o CodePipeline retorna credenciais temporárias para o S3 bucket usado para armazenar artefatos para o pipeline, se a ação requerer acesso a esse S3 bucket para artefatos de entrada ou saída. Essa API também retorna quaisquer valores secretos definidos para a ação.
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do 💬 Discord group ou do telegram group ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
HackTricks Cloud

