AWS - Codepipeline Privesc

Reading time: 2 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

codepipeline

For more info about codepipeline check:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

При створенні code pipeline ви можете вказати codepipeline IAM Role to run, отже їх можна скомпрометувати.

Окрім попередніх дозволів вам потрібен також доступ до місця, де зберігається код (S3, ECR, github, bitbucket...)

Я перевіряв це, виконуючи процес у веб-інтерфейсі — дозволи, вказані раніше, це не ті List/Get дозволи, які потрібні для створення codepipeline, але для створення через веб вам також знадобляться: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Під час створення проєкту build можна вказати команду для виконання (rev shell?) і виконувати фазу збірки як привілейований користувач — це та конфігурація, яку атакуючий має скомпрометувати:

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

Може бути можливо змінити роль, що використовується, та команду, яка виконується в codepipeline з попередніми дозволами.

codepipeline:pollforjobs

AWS mentions:

Коли цей API викликається, CodePipeline повертає тимчасові облікові дані для S3 bucket, що використовується для зберігання артефактів для pipeline, якщо дія вимагає доступу до цього S3 bucket для вхідних або вихідних артефактів. Цей API також повертає будь-які секретні значення, визначені для дії.

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks