AWS - Codepipeline Privesc

Support HackTricks

codepipeline

Kwa maelezo zaidi kuhusu codepipeline angalia:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Wakati wa kuunda code pipeline unaweza kuonyesha codepipeline IAM Role ya kuendesha, kwa hivyo unaweza kuathiri.

Mbali na ruhusa zilizotajwa hapo awali utahitaji upatikanaji wa mahali ambapo msimbo umehifadhiwa (S3, ECR, github, bitbucket...)

Nilijaribu hii kwa kufanya mchakato kwenye ukurasa wa wavuti, ruhusa zilizotajwa hapo awali sio zile za List/Get zinazohitajika kuunda codepipeline, lakini kwa kuunda kwenye wavuti pia utahitaji: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Wakati wa kuunda mradi wa kujenga unaweza kuonyesha amri ya kuendesha (rev shell?) na kuendesha awamu ya kujenga kama mtumiaji mwenye ruhusa, hiyo ndiyo usanidi ambao mshambuliaji anahitaji kuathiri:

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

Inawezekana kubadilisha jukumu linalotumiwa na amri inayotekelezwa kwenye codepipeline kwa ruhusa zilizotajwa hapo awali.

codepipeline:pollforjobs

AWS inataja:

Wakati API hii inaitwa, CodePipeline inarudisha hati za muda kwa S3 bucket inayotumika kuhifadhi mabaki ya pipeline, ikiwa hatua inahitaji upatikanaji wa S3 bucket kwa mabaki ya pembejeo au pato. API hii pia inarudisha maadili yoyote ya siri yaliyofafanuliwa kwa hatua hiyo.

Support HackTricks

Last updated