# AWS - Codepipeline Privesc

{{#include ../../../../banners/hacktricks-training.md}}

## codepipeline

Vir meer inligting oor codepipeline sien:

{{#ref}}
../../aws-services/aws-datapipeline-codepipeline-codebuild-and-codecommit.md
{{#endref}}

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

Wanneer jy 'n code pipeline skep, kan jy 'n **codepipeline IAM Role to run** aandui; gevolglik kan jy daardie rolle kompromitteer.

Benewens die voorafgaande toestemmings benodig jy **toegang tot die plek waar die kode gestoor word** (S3, ECR, github, bitbucket...)

Ek het dit getoets deur die proses op die webblad uit te voer; die permissies wat vroeër aangedui is is nie die List/Get een wat benodig word om 'n codepipeline te skep nie, maar om dit in die web te skep sal jy ook nodig hê: `codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>`

Tydens die **skepping van die build project** kan jy 'n **opdrag om uit te voer** aandui (rev shell?) en om die build-fase as 'n **privileged user** te laat loop — dit is die konfigurasie wat 'n aanvaller nodig het om te kompromitteer:

![](<../../../images/image (276).png>)

![](<../../../images/image (181).png>)

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

Dit mag moontlik wees om die rol wat gebruik word en die opdrag wat op 'n codepipeline uitgevoer word te wysig met die vorige toestemmings.

### `codepipeline:pollforjobs`

[AWS vermeld](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PollForJobs.html):

> When this API is called, CodePipeline **returns temporary credentials for the S3 bucket** used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also **returns any secret values defined for the action**.

{{#include ../../../../banners/hacktricks-training.md}}
