AWS - IAM Privesc
IAM
Pour plus d'informations sur IAM, consultez :
pageAWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
iam:CreatePolicyVersion
Accorde la capacité de créer une nouvelle version de politique IAM, contournant le besoin d'autorisation iam:SetDefaultPolicyVersion
en utilisant le drapeau --set-as-default
. Cela permet de définir des autorisations personnalisées.
Commande d'exploitation :
Impact: Permet d'escalader directement les privilèges en autorisant toute action sur n'importe quelle ressource.
iam:SetDefaultPolicyVersion
iam:SetDefaultPolicyVersion
Permet de changer la version par défaut d'une politique IAM vers une autre version existante, escaladant potentiellement les privilèges si la nouvelle version a plus de permissions.
Commande Bash :
Impact : Élévation de privilèges indirecte en activant plus d'autorisations.
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, entraînant une élévation potentielle des privilèges.
Exploitation :
Impact: Élévation de privilèges directe en assumant les permissions étendues d'un autre utilisateur.
iam:CreateLoginProfile
| iam:UpdateLoginProfile
iam:CreateLoginProfile
| iam:UpdateLoginProfile
Autorise la création ou la mise à jour d'un profil de connexion, y compris la définition de mots de passe pour la connexion à la console AWS, entraînant une élévation de privilèges directe.
Exploitation pour la création :
Exploitation de la mise à jour :
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 potentiellement entraîner un accès non autorisé si l'attaquant possède la clé désactivée.
Exploitation:
Impact: Élévation de privilèges directe en réactivant les clés d'accès.
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
Permet de générer ou réinitialiser des identifiants pour des services AWS spécifiques (par exemple, CodeCommit, Amazon Keyspaces), héritant des autorisations de l'utilisateur associé.
Exploitation pour la création:
Exploitation pour Réinitialiser :
Impact: Élévation de privilèges directe au sein des autorisations de service de l'utilisateur.
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
Permet de joindre des politiques aux utilisateurs ou aux groupes, en élevant directement les privilèges en héritant des autorisations de la politique attachée.
Exploitation pour l'utilisateur:
Exploitation de groupe :
Impact: Élévation de privilèges directe vers 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 de joindre ou de mettre en place des politiques pour des rôles, des utilisateurs ou des groupes, permettant une élévation de privilèges directe en accordant des autorisations supplémentaires.
Exploitation pour le rôle :
Exploitation des stratégies intégrées :
Vous pouvez utiliser une politique comme suit :
Impact: Élévation de privilèges directe en ajoutant des autorisations via des politiques.
iam:AddUserToGroup
iam:AddUserToGroup
Permet d'ajouter un utilisateur à un groupe IAM, en élevant les privilèges en héritant des autorisations du groupe.
Exploit:
Impact: Escalade de privilèges directe au niveau des autorisations du groupe.
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
Permet de modifier le document de la stratégie d'assumption de rôle d'un rôle, permettant l'assumption du rôle et de ses autorisations associées.
Exploitation :
Lorsque la politique ressemble à ce qui suit, ce qui donne à l'utilisateur la permission d'assumer le rôle :
Impact: Élévation de privilèges directe en assumant les autorisations 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 auprès de CodeCommit et de désactiver les appareils MFA, entraînant une élévation de privilèges indirecte potentielle.
Exploitation pour le téléchargement de clé SSH :
Exploitation de la désactivation de la MFA :
Impact: Élévation 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 entraîner une élévation de privilèges indirecte en manipulant la protection MFA.
Commande Bash :
Impact: Élévation de privilèges indirecte en ajoutant ou en manipulant des appareils MFA.
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
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 que 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 le précédent.
À FAIRE : 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 autorisations, il pourrait ajouter une nouvelle empreinte pour réussir à se connecter à tous les rôles faisant confiance au fournisseur.
Références
Dernière mise à jour