AWS - Glue Privesc
glue
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
iam:PassRole
, glue:CreateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)Les utilisateurs ayant ces autorisations peuvent configurer un nouveau point de terminaison de développement AWS Glue, en assignant un rôle de service existant pouvant être assumé par Glue avec des autorisations spécifiques à ce point de terminaison.
Après la configuration, l'attaquant peut SSH dans l'instance du point de terminaison, et voler les identifiants IAM du rôle assigné :
Pour des raisons de discrétion, il est recommandé d'utiliser les identifiants IAM depuis l'intérieur de la machine virtuelle Glue.
Impact potentiel : Privesc au rôle de service Glue spécifié.
glue:UpdateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)
glue:UpdateDevEndpoint
, (glue:GetDevEndpoint
| glue:GetDevEndpoints
)Les utilisateurs ayant cette autorisation peuvent modifier la clé SSH d'un point de terminaison de développement Glue existant, permettant l'accès SSH à celui-ci. Cela permet à l'attaquant d'exécuter des commandes avec les privilèges du rôle attaché au point de terminaison :
Impact potentiel : Privesc au rôle de service glue utilisé.
iam:PassRole
, (glue:CreateJob
| glue:UpdateJob
), (glue:StartJobRun
| glue:CreateTrigger
)
iam:PassRole
, (glue:CreateJob
| glue:UpdateJob
), (glue:StartJobRun
| glue:CreateTrigger
)Les utilisateurs avec iam:PassRole
combiné avec soit glue:CreateJob
ou glue:UpdateJob
, et soit glue:StartJobRun
ou glue:CreateTrigger
peuvent créer ou mettre à jour un job AWS Glue, en attachant n'importe quel compte de service Glue, et initier l'exécution du job. Les capacités du job incluent l'exécution de code Python arbitraire, qui peut être exploité pour établir un shell inversé. Ce shell inversé peut ensuite être utilisé pour exfiltrer les identifiants IAM du rôle attaché au job Glue, conduisant à un accès ou des actions non autorisées potentielles basées sur les permissions de ce rôle :
Impact potentiel : Privesc au rôle de service glue spécifié.
glue:UpdateJob
glue:UpdateJob
Juste avec la permission de mise à jour, un attaquant pourrait voler les identifiants IAM du rôle déjà attaché.
Impact potentiel : Privesc au rôle de service glue attaché.
Références
Last updated