AWS - EMR Privesc
EMR
Plus d'informations sur EMR dans :
AWS - EMR Enumiam:PassRole
, elasticmapreduce:RunJobFlow
iam:PassRole
, elasticmapreduce:RunJobFlow
Un attaquant avec ces autorisations peut exécuter un nouveau cluster EMR en attachant des rôles EC2 et essayer de voler ses identifiants.
Notez que pour ce faire, vous auriez besoin de connaître une clé privée ssh importée dans le compte ou d'en importer une, et de pouvoir ouvrir le port 22 dans le nœud maître (vous pourriez être en mesure de le faire avec les attributs EmrManagedMasterSecurityGroup
et/ou ServiceAccessSecurityGroup
à l'intérieur de --ec2-attributes
).
Notez comment un rôle EMR est spécifié dans --service-role
et un rôle ec2 est spécifié dans --ec2-attributes
à l'intérieur de InstanceProfile
. Cependant, cette technique ne permet que de voler les informations d'identification du rôle EC2 (car vous vous connecterez via ssh) mais pas du rôle IAM EMR.
Impact potentiel : Élévation de privilèges vers le rôle de service EC2 spécifié.
elasticmapreduce:CreateEditor
, iam:ListRoles
, elasticmapreduce:ListClusters
, iam:PassRole
, elasticmapreduce:DescribeEditor
, elasticmapreduce:OpenEditorInConsole
elasticmapreduce:CreateEditor
, iam:ListRoles
, elasticmapreduce:ListClusters
, iam:PassRole
, elasticmapreduce:DescribeEditor
, elasticmapreduce:OpenEditorInConsole
Avec ces autorisations, un attaquant peut accéder à la console AWS, créer un Notebook et y accéder pour voler le rôle IAM.
Même si vous attachez un rôle IAM à l'instance du notebook, dans mes tests, j'ai remarqué que j'ai pu voler des informations d'identification gérées par AWS et non des informations d'identification liées au rôle IAM.
Impact potentiel : Élévation de privilèges vers le rôle géré par AWS arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile
elasticmapreduce:OpenEditorInConsole
elasticmapreduce:OpenEditorInConsole
Avec cette autorisation seule, un attaquant pourra accéder au Jupyter Notebook et voler le rôle IAM qui lui est associé.
L'URL du notebook est https://<notebook-id>.emrnotebooks-prod.eu-west-1.amazonaws.com/<notebook-id>/lab/
Même si vous attachez un rôle IAM à l'instance du notebook, dans mes tests, j'ai remarqué que j'ai pu voler des informations d'identification gérées par AWS et non des informations d'identification liées au rôle IAM`.
Impact potentiel : Élévation de privilèges vers le rôle géré par AWS arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile
Last updated