S'accorder le déchiffrement KMS via la politique de clé
Peut réécrire la politique d'une clé KMS pour s'accorder le déchiffrement, puis déchiffrer avec elle.
Accorde l'escalade à lui seul.
kms:PutKeyPolicyÀ lui seul, kms:PutKeyPolicy peut réécrire la politique d'une clé KMS pour s'accorder le déchiffrement, puis déchiffrer avec elle. Sur un périmètre de ressources large, cela atteint à lui seul l'accès pour un principal externe ou public.
Pourquoi c'est dangereux
Un principal peut appeler kms:PutKeyPolicy sur la clé pour attacher une déclaration de politique de clé s'octroyant kms:Decrypt, puis déchiffrer le texte chiffré que la clé protège. La clé est un gardien : l'accès en déchiffrement déverrouille chaque secret, volume, snapshot et objet que la clé protège, réécrire la propre politique de la clé s'amplifie donc en contrôle de toutes les données qu'elle protège.
En termes MITRE ATT&CK, cela correspond à T1098, Manipulation de compte, dans la tactique escalade de privilèges. AWS l'enregistre dans CloudTrail sous PutKeyPolicy, CreateGrant. L'appel apparaît dans CloudTrail mais se fond dans l'administration normale, il lui faut donc une règle pour ressortir.
Détection
PutKeyPolicyCreateGrantPrérequis
kms:PutKeyPolicy sur la clé gérée par le client (ou kms:CreateGrant). L'abus suppose qu'aucun garde-fou SCP/limite/PrincipalOrgID ne bloque l'octroi excessif ; la possession (ou l'accès) du texte chiffré est nécessaire pour utiliser le déchiffrement déverrouillé.
MITRE ATT&CK
T1098 · Manipulation de compteTactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre kms:PutKeyPolicy et kms:CreateGrant aux administrateurs de clés ; conserver la protection d'autogestion de la politique de clé par défaut ; refuser les écritures de politique de clé via une SCP.
La décision de l'appliquer dépend de la façon dont la permission est utilisée dans votre environnement, il s'agit donc d'une décision métier plutôt que d'un correctif automatique. La même permission peut être porteuse dans un compte et pur risque dans un autre.
Pathbreak confirme si ce chemin se résout dans votre compte, le classe par rapport aux autres selon l'ampleur de ce qu'il ouvre, et utilise votre modèle de menace et votre contexte métier pour montrer quels chemins valent la peine d'être coupés.
Questions
Que permet kms:PutKeyPolicy ?
Peut réécrire la politique d'une clé KMS pour s'accorder le déchiffrement, puis déchiffrer avec elle.
kms:PutKeyPolicy permet-il à lui seul une escalade de privilèges ?
Oui. Détenue sur une ressource suffisamment large, elle atteint un accès pour un principal externe ou public sans aucune autre permission.
Comment détecter l'auto-octroi du déchiffrement KMS via une politique de clé ?
Surveillez PutKeyPolicy, CreateGrant dans CloudTrail. Cet appel apparaît dans CloudTrail mais se fond dans l'administration normale, il faut donc une règle pour le faire ressortir.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez kms:PutKeyPolicy et kms:CreateGrant aux administrateurs de clés ; conservez la protection d'auto-gestion de la politique de clé par défaut ; refusez les écritures de politique de clé via SCP. L'appliquer ou non dépend de la manière dont l'autorisation est utilisée dans votre compte, il s'agit donc d'une décision métier plutôt que d'un correctif automatique.
De quelle technique MITRE ATT&CK s'agit-il ?
T1098, Manipulation de compte, dans la tactique escalade de privilèges.
Chemins associés
Références
Trouvez ceci dans votre propre compte
Nous réalisons un scan en lecture seule d'un compte AWS et vous montrons lesquels de ces chemins existent, classés par rayon d'impact, avec le changement qui brise chacun d'eux. Premiers chemins validés en moins d'une heure.