AWS - Codepipeline Privesc

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

codepipeline

Vir meer inligting oor codepipeline kyk:

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Wanneer jy 'n kodepyplyn skep, kan jy 'n codepipeline IAM Rol om uit te voer aandui, dus kan jy hulle kompromitteer.

Afgesien van die vorige toestemmings, sal jy toegang tot die plek waar die kode gestoor word nodig hê (S3, ECR, github, bitbucket...)

Ek het dit getoets deur die proses op die webwerf te doen, die toestemmings wat voorheen aangedui is, is nie die Lys/Kry eenhede wat nodig is om 'n kodepyplyn te skep nie, maar om dit op 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 bouprojek kan jy 'n bevel om uit te voer (rev shell?) aandui en die boufase as bevoorregte gebruiker uitvoer, dit is die konfigurasie wat die aanvaller nodig het om te kompromitteer:

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

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

codepipeline:pollforjobs

AWS noem:

Wanneer hierdie API geroep word, gee CodePipeline tydelike geloofsbriewe vir die S3-emmer wat gebruik word om artefakte vir die pyplyn te stoor, as die aksie toegang tot daardie S3-emmer vir inset- of uitvoerartefakte benodig. Hierdie API gee ook enige geheime waardes wat vir die aksie gedefinieer is terug.

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated