AWS - Codepipeline Privesc
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Unterstütze HackTricks
- Sieh dir die Abonnementpläne an!
- Tritt der 💬 Discord group oder der telegram group bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs an die HackTricks und HackTricks Cloud GitHub-Repos einreichst.
codepipeline
Für mehr Infos zu codepipeline siehe:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, codepipeline:CreatePipeline, codebuild:CreateProject, codepipeline:StartPipelineExecution
Beim Erstellen einer Code-Pipeline kann man eine codepipeline IAM Role to run angeben, daher könnte man diese kompromittieren.
Abgesehen von den zuvor genannten Berechtigungen benötigt man Zugriff auf den Ort, an dem der Code gespeichert ist (S3, ECR, github, bitbucket…)
Ich habe das getestet, indem ich den Prozess über die Webseite durchgeführt habe. Die zuvor genannten Berechtigungen sind die nicht-List/Get-Berechtigungen, die zum Erstellen einer codepipeline benötigt werden, aber um sie über das Web zu erstellen, benötigt man außerdem: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>
Während der Erstellung des Build-Projekts kann man einen auszuführenden Befehl angeben (rev shell?) und die Build-Phase als privilegierter Benutzer ausführen lassen; genau diese Konfiguration benötigt ein Angreifer, um zu kompromittieren:
.png)
.png)
?codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution
Mit den vorherigen Berechtigungen könnte es möglich sein, die verwendete Rolle und den in einer codepipeline ausgeführten Befehl zu ändern.
codepipeline:pollforjobs
Wenn diese API aufgerufen wird, gibt CodePipeline temporäre Zugangsdaten für den S3-Bucket zurück, der zum Speichern der Artefakte für die Pipeline verwendet wird, falls die Aktion Zugriff auf diesen S3-Bucket für Eingabe- oder Ausgabe-Artefakte benötigt. Diese API gibt außerdem alle für die Aktion definierten geheimen Werte zurück.
Tip
Lerne & übe AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Unterstütze HackTricks
- Sieh dir die Abonnementpläne an!
- Tritt der 💬 Discord group oder der telegram group bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs an die HackTricks und HackTricks Cloud GitHub-Repos einreichst.
HackTricks Cloud

