AWS - IAM Privesc
IAM
Pour plus d'informations sur IAM, consultez :
AWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
iam:CreatePolicyVersion
Accorde la capacité de créer une nouvelle version de politique IAM, contournant le besoin de la permission iam:SetDefaultPolicyVersion
en utilisant le flag --set-as-default
. Cela permet de définir des permissions personnalisées.
Commande d'exploitation :
Impact : Escalade directement les privilèges en permettant toute action sur n'importe quelle ressource.
iam:SetDefaultPolicyVersion
iam:SetDefaultPolicyVersion
Permet de changer la version par défaut d'une politique IAM à une autre version existante, ce qui peut potentiellement escalader les privilèges si la nouvelle version a plus de permissions.
Commande Bash :
Impact: Escalade de privilèges indirecte en activant plus de permissions.
iam:CreateAccessKey
iam:CreateAccessKey
Permet de créer un ID de clé d'accès et une clé d'accès secrète pour un autre utilisateur, ce qui peut entraîner une escalade de privilèges potentielle.
Exploit :
Impact: Escalade de privilèges directe en assumant les permissions étendues d'un autre utilisateur.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Permet de créer ou de mettre à jour un profil de connexion, y compris la définition de mots de passe pour la connexion à la console AWS, conduisant à une escalade de privilèges directe.
Exploitation pour la création :
Exploit for Update:
Impact : Escalade de privilèges directe en se connectant en tant que "n'importe quel" utilisateur.
iam:UpdateAccessKey
iam:UpdateAccessKey
Permet d'activer une clé d'accès désactivée, ce qui peut entraîner un accès non autorisé si l'attaquant possède la clé désactivée.
Exploitation :
Impact : Escalade de privilèges directe en réactivant des clés d'accès.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Permet de générer ou de réinitialiser des identifiants pour des services AWS spécifiques (par exemple, CodeCommit, Amazon Keyspaces), héritant des permissions de l'utilisateur associé.
Exploitation pour la création :
Exploitation pour Réinitialisation :
Impact : Escalade de privilèges directe au sein des permissions du service de l'utilisateur.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Permet d'attacher des politiques aux utilisateurs ou aux groupes, escaladant directement les privilèges en héritant des permissions de la politique attachée.
Exploit pour l'utilisateur :
Exploit for Group:
Exploit pour le groupe :
Impact : Escalade de privilèges directe à tout ce que la politique accorde.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Permet d'attacher ou de mettre des politiques aux rôles, utilisateurs ou groupes, permettant une escalade de privilèges directe en accordant des permissions supplémentaires.
Exploit pour Role :
Exploitation des Politiques Inline :
Vous pouvez utiliser une politique comme :
Impact : Escalade de privilèges directe en ajoutant des permissions via des politiques.
iam:AddUserToGroup
iam:AddUserToGroup
Permet de s'ajouter à un groupe IAM, escaladant les privilèges en héritant des permissions du groupe.
Exploitation :
Impact : Escalade de privilèges directe au niveau des permissions du groupe.
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
Permet de modifier le document de politique d'approbation d'un rôle, permettant l'assomption du rôle et de ses permissions associées.
Exploit :
Où la politique ressemble à ce qui suit, ce qui donne à l'utilisateur la permission d'assumer le rôle :
Impact : Escalade de privilèges directe en assumant les permissions de n'importe quel rôle.
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
Permet de télécharger une clé publique SSH pour s'authentifier à CodeCommit et de désactiver les dispositifs MFA, ce qui peut entraîner une escalade de privilèges indirecte.
Exploitation pour le téléchargement de clé SSH :
Exploitation pour la désactivation de MFA :
Impact: Escalade de privilèges indirecte en activant l'accès à CodeCommit ou en désactivant la protection MFA.
iam:ResyncMFADevice
iam:ResyncMFADevice
Permet la resynchronisation d'un appareil MFA, pouvant potentiellement mener à une escalade de privilèges indirecte en manipulant la protection MFA.
Commande Bash :
Impact : Escalade de privilèges indirecte en ajoutant ou manipulant des dispositifs MFA.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)Avec ces permissions, vous pouvez changer les métadonnées XML de la connexion SAML. Ensuite, vous pourriez abuser de la fédération SAML pour vous connecter avec n'importe quel rôle qui lui fait confiance.
Notez qu'en faisant cela, les utilisateurs légitimes ne pourront pas se connecter. Cependant, vous pourriez obtenir le XML, mettre le vôtre, vous connecter et reconfigurer l'ancien.
TODO: Un outil capable de générer les métadonnées SAML et de se connecter avec un rôle spécifié
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(Pas sûr de cela) Si un attaquant dispose de ces permissions, il pourrait ajouter une nouvelle empreinte digitale pour réussir à se connecter à tous les rôles faisant confiance au fournisseur.
Références
Last updated