AWS - Codepipeline Privesc

Reading time: 2 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

codepipeline

Za više informacija o codepipeline pogledajte:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Kada kreirate code pipeline, možete naznačiti codepipeline IAM ulogu za izvršavanje, stoga ih možete kompromitovati.

Pored prethodnih dozvola, potrebna vam je pristup mestu gde je kod smešten (S3, ECR, github, bitbucket...)

Testirao sam ovo radeći proces na veb stranici, prethodno navedene dozvole nisu List/Get one potrebne za kreiranje codepipeline, ali za kreiranje na vebu će vam takođe biti potrebne: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Tokom kreiranja build projekta možete naznačiti komandu za izvršavanje (rev shell?) i da se faza izgradnje izvršava kao privilegovani korisnik, to je konfiguracija koju napadač treba da kompromituje:

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

Možda bi bilo moguće izmeniti ulogu koja se koristi i komandu koja se izvršava na codepipeline sa prethodnim dozvolama.

codepipeline:pollforjobs

AWS pominje:

Kada se ovaj API pozove, CodePipeline vraća privremene akreditive za S3 bucket koji se koristi za skladištenje artefakata za pipeline, ako akcija zahteva pristup tom S3 bucketu za ulazne ili izlazne artefakte. Ovaj API takođe vraća sve tajne vrednosti definisane za akciju.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks