AWS - KMS Privesc
KMS
Per ulteriori informazioni su KMS, controlla:
pageAWS - KMS Enumkms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)
kms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)Con queste autorizzazioni è possibile modificare le autorizzazioni di accesso alla chiave in modo che possa essere utilizzata da altri account o addirittura da chiunque:
policy.json:
kms:CreateGrant
kms:CreateGrant
Consente a un principale di utilizzare una chiave KMS:
Una concessione può consentire solo determinati tipi di operazioni: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Nota che potrebbero essere necessari un paio di minuti affinché KMS consenta all'utente di utilizzare la chiave dopo che la concessione è stata generata. Una volta trascorso quel tempo, il principale può utilizzare la chiave KMS senza dover specificare nulla. Tuttavia, se è necessario utilizzare immediatamente la concessione, utilizzare un token di concessione (controllare il codice seguente). Per ulteriori informazioni leggere questo.
Nota che è possibile elencare i permessi delle chiavi con:
kms:CreateKey
, kms:ReplicateKey
kms:CreateKey
, kms:ReplicateKey
Con queste autorizzazioni è possibile replicare una chiave KMS abilitata per più regioni in una regione diversa con una policy diversa.
Quindi, un attaccante potrebbe sfruttare ciò per ottenere l'escalation dei privilegi sul suo accesso alla chiave e utilizzarla
kms:Decrypt
kms:Decrypt
Questa autorizzazione consente di utilizzare una chiave per decifrare alcune informazioni. Per ulteriori informazioni controlla:
pageAWS - KMS Post ExploitationLast updated