AWS - Datapipeline Privesc
datapipeline
Pour plus d'informations sur datapipeline, consultez :
AWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
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é :
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 :
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 aura uniquement accès au rôle pouvant être assumé par l'instance EC2 (vous ne pourrez donc voler que celui-ci).
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
Last updated