AWS - IAM Privesc
Last updated
Last updated
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Pour plus d'infos sur IAM, consultez :
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 drapeau --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
Permet de changer la version par défaut d'une politique IAM pour une autre version existante, ce qui peut potentiellement escalader les privilèges si la nouvelle version a plus de permissions.
Bash Command :
Impact : Escalade de privilèges indirecte en permettant plus de permissions.
iam:CreateAccessKey
Permet de créer un identifiant 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.
Exploit :
Impact : Escalade de privilèges directe en assumant les permissions étendues d'un autre utilisateur.
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, entraînant une escalade de privilèges directe.
Exploitation pour la création :
Exploitation pour la mise à jour :
Impact : Escalade de privilèges directe en se connectant en tant que "n'importe quel" utilisateur.
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 directe des privilèges en réactivant les clés d'accès.
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), en héritant des autorisations de l'utilisateur associé.
Exploitation pour la création :
Exploitation pour Réinitialiser :
Impact : Escalade directe des privilèges au sein des permissions de service de l'utilisateur.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Permet d'attacher des politiques à des utilisateurs ou des groupes, escaladant directement les privilèges en héritant des permissions de la politique attachée.
Exploitation pour l'utilisateur :
Exploitation pour le groupe :
Impact : Escalade de privilèges directe vers tout ce que la politique accorde.
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
Permet d'attacher ou de mettre des politiques à des rôles, utilisateurs ou groupes, permettant une escalade de privilèges directe en accordant des permissions supplémentaires.
Exploitation pour le rôle :
Exploitation des politiques en ligne :
Vous pouvez utiliser une politique comme :
Impact : Escalade directe des privilèges en ajoutant des autorisations via des politiques.
iam:AddUserToGroup
Permet de s'ajouter à un groupe IAM, augmentant les privilèges en héritant des autorisations du groupe.
Exploitation :
Impact : Escalade directe des privilèges au niveau des permissions du groupe.
iam:UpdateAssumeRolePolicy
Permet de modifier le document de politique d'assumption de rôle d'un rôle, permettant l'assumption 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 directe des privilèges en assumant les permissions de n'importe quel rôle.
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 indirecte des privilèges.
Exploitation pour le téléchargement de la clé SSH :
Exploitation pour la désactivation de MFA :
Impact : Escalade de privilèges indirecte en permettant l'accès à CodeCommit ou en désactivant la protection MFA.
iam:ResyncMFADevice
Permet la resynchronisation d'un appareil MFA, ce qui peut entraîner une escalade de privilèges indirecte en manipulant la protection MFA.
Bash Command :
Impact : Escalade de privilèges indirecte en ajoutant ou en manipulant des dispositifs MFA.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)Avec ces autorisations, vous pouvez modifier 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, donc vous pouvez mettre le vôtre, vous connecter et reconfigurer le précédent.
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
)(Incertain à ce sujet) Si un attaquant a ces permissions, il pourrait ajouter une nouvelle empreinte pour réussir à se connecter à tous les rôles faisant confiance au fournisseur.
Apprenez et pratiquez le Hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE) Apprenez et pratiquez le Hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)