AWS - Codepipeline Privesc

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

codepipeline

Aby uzyskać więcej informacji na temat codepipeline, sprawdź:

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Podczas tworzenia potoku kodu można wskazać rolę IAM codepipeline do uruchomienia, co może prowadzić do ich skompromitowania.

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

Przetestowałem to wykonując proces na stronie internetowej, uprawnienia wskazane wcześniej nie są wymagane do utworzenia codepipeline, ale do utworzenia go w sieci będziesz również potrzebować: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>

Podczas tworzenia projektu budowy można wskazać polecenie do wykonania (rev shell?) i uruchomić fazę budowy jako uprzywilejowany użytkownik, taka konfiguracja jest potrzebna dla atakującego:

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

Możliwe jest modyfikowanie roli używanej i polecenia wykonywanego na codepipeline przy użyciu wcześniejszych uprawnień.

codepipeline:pollforjobs

AWS wspomina:

Gdy ta usługa API jest wywoływana, CodePipeline zwraca tymczasowe poświadczenia dla kubełka S3, używanego do przechowywania artefaktów dla potoku, jeśli działanie wymaga dostępu do tego kubełka S3 dla artefaktów wejściowych lub wyjściowych. To API również zwraca wartości tajne zdefiniowane dla działania.

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated