AWS - Codepipeline Privesc
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen über codepipeline siehe:
AWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, codepipeline:CreatePipeline
, codebuild:CreateProject, codepipeline:StartPipelineExecution
Beim Erstellen einer Code-Pipeline kannst du eine Codepipeline IAM-Rolle angeben, die ausgeführt werden soll, daher könntest du sie kompromittieren.
Neben den vorherigen Berechtigungen benötigst du Zugriff auf den Ort, an dem der Code gespeichert ist (S3, ECR, GitHub, Bitbucket...)
Ich habe dies getestet, indem ich den Prozess auf der Webseite durchgeführt habe. Die zuvor angegebenen Berechtigungen sind die nicht List/Get-Berechtigungen, die benötigt werden, um eine Codepipeline zu erstellen, aber um sie im Web zu erstellen, benötigst du auch: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<mehrere>
Während der Erstellung des Build-Projekts kannst du einen Befehl angeben, der ausgeführt werden soll (rev shell?) und die Build-Phase als privilegierter Benutzer ausführen, das ist die Konfiguration, die der Angreifer benötigt, um zu kompromittieren:
codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution
Es könnte möglich sein, die verwendete Rolle und den auf einer Codepipeline ausgeführten Befehl mit den vorherigen Berechtigungen zu ändern.
codepipeline:pollforjobs
Wenn diese API aufgerufen wird, gibt CodePipeline temporäre Anmeldeinformationen für den S3-Bucket zurück, der verwendet wird, um Artefakte für die Pipeline zu speichern, wenn die Aktion Zugriff auf diesen S3-Bucket für Eingabe- oder Ausgabeartefakte benötigt. Diese API gibt auch alle geheimen Werte zurück, die für die Aktion definiert sind.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)