AWS - Datapipeline Privesc
datapipeline
Per ulteriori informazioni su datapipeline, controlla:
pageAWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
Gli utenti con queste autorizzazioni possono ottenere privilegi di escalation creando un Data Pipeline per eseguire comandi arbitrari utilizzando i privilegi del ruolo assegnato:
Dopo la creazione del pipeline, l'attaccante aggiorna la sua definizione per impostare azioni specifiche o creazioni di risorse:
Nota che il ruolo nella riga 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'istanza di profilo EC2.
Inoltre, l'istanza EC2 avrà accesso solo al ruolo assumibile dall'istanza EC2 (quindi puoi solo rubare quello).
```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` Il **file di definizione del pipeline, creato dall'attaccante, include direttive per eseguire comandi** o creare risorse tramite l'API di AWS, sfruttando i permessi del ruolo di Data Pipeline per ottenere potenzialmente privilegi aggiuntivi.
Impatto potenziale: Escalation diretta dei privilegi al ruolo del servizio ec2 specificato.
Riferimenti
Last updated