AWS - KMS Privesc
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para mais informações sobre KMS, confira:
AWS - KMS Enumkms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)Com essas permissões, é possível modificar as permissões de acesso à chave para que ela possa ser usada por outras contas ou até mesmo por qualquer pessoa:
policy.json:
kms:CreateGrant
Ele permite que um principal use uma chave KMS:
Uma concessão pode permitir apenas certos tipos de operações: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Observe que pode levar alguns minutos para que o KMS permita que o usuário use a chave após a concessão ter sido gerada. Uma vez que esse tempo tenha passado, o principal pode usar a chave KMS sem precisar especificar nada. No entanto, se for necessário usar a concessão imediatamente use um token de concessão (verifique o código a seguir). Para mais informações, leia isso.
Note que é possível listar as concessões de chaves com:
kms:CreateKey
, kms:ReplicateKey
Com essas permissões, é possível replicar uma chave KMS habilitada para múltiplas regiões em uma região diferente com uma política diferente.
Assim, um atacante poderia abusar disso para obter privesc seu acesso à chave e usá-la.
kms:Decrypt
Esta permissão permite usar uma chave para descriptografar algumas informações. Para mais informações, consulte:
AWS - KMS Post ExploitationAprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)