AWS - Datapipeline Privesc
datapipeline
Für weitere Informationen zu Datapipeline siehe:
pageAWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
Benutzer mit diesen Berechtigungen können Privilegien eskalieren, indem sie eine Data Pipeline erstellen, um beliebige Befehle unter Verwendung der Berechtigungen der zugewiesenen Rolle auszuführen:
Nach der Erstellung des Daten-Pipelines aktualisiert der Angreifer dessen Definition, um spezifische Aktionen oder Ressourcenerstellungen anzugeben:
Beachten Sie, dass die Rolle in Zeile 14, 15 und 27 eine Rolle sein muss, die von datapipeline.amazonaws.com angenommen werden kann, und die Rolle in Zeile 28 eine Rolle sein muss, die von ec2.amazonaws.com mit einem EC2-Profilinstanz angenommen werden kann.
Darüber hinaus hat die EC2-Instanz nur Zugriff auf die Rolle, die von der EC2-Instanz angenommen werden kann (so dass Sie nur diese stehlen können).
```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` Die **Pipeline-Definition-Datei, die vom Angreifer erstellt wurde, enthält Anweisungen zum Ausführen von Befehlen** oder zum Erstellen von Ressourcen über die AWS API, wodurch die Berechtigungen der Data Pipeline-Rolle genutzt werden, um potenziell zusätzliche Privilegien zu erlangen.
Mögliche Auswirkungen: Direkter Privilege Escalation zum angegebenen ec2-Service-Rolle.
Referenzen
Last updated