AWS - Codepipeline Privesc

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

codepipeline

Aby uzyskać więcej informacji o codepipeline sprawdź:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Podczas tworzenia code pipeline możesz wskazać codepipeline IAM Role to run, więc możesz je przejąć.

Oprócz wymienionych uprawnień będziesz potrzebować dostępu do miejsca, w którym przechowywany jest kod (S3, ECR, github, bitbucket…)

Przetestowałem to wykonując proces w interfejsie webowym. Uprawnienia wskazane wcześniej to nie uprawnienia typu List/Get potrzebne do utworzenia codepipeline, ale aby stworzyć go przez interfejs webowy będziesz także potrzebować: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Podczas tworzenia projektu build możesz wskazać polecenie do uruchomienia (rev shell?) oraz uruchomić fazę build jako uprzywilejowany użytkownik — to konfiguracja, której potrzebuje atakujący, aby przeprowadzić przejęcie:

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

Możliwe, że da się zmodyfikować używaną rolę i polecenie wykonywane w codepipeline przy użyciu powyższych uprawnień.

codepipeline:pollforjobs

AWS mentions:

Gdy to API jest wywoływane, CodePipeline zwraca tymczasowe poświadczenia dla S3 bucket używanego do przechowywania artefaktów dla pipeline, jeśli akcja wymaga dostępu do tego S3 bucket dla artefaktów wejścia lub wyjścia. To API także zwraca wszelkie wartości sekretów zdefiniowane dla akcji.

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks