AWS - KMS Privesc
KMS
KMS에 대한 자세한 정보는 다음을 확인하세요:
AWS - KMS Enumkms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)
kms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)이 권한을 사용하면 키에 대한 접근 권한을 수정하여 다른 계정이나 심지어 누구나 사용할 수 있도록 할 수 있습니다:
policy.json:
kms:CreateGrant
kms:CreateGrant
이는 주체가 KMS 키를 사용할 수 있도록 허용합니다:
A grant can only allow certain types of operations: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
KMS가 grant가 생성된 후 사용자가 키를 사용할 수 있도록 허용하는 데 몇 분이 걸릴 수 있습니다. 그 시간이 지나면 principal은 아무것도 지정할 필요 없이 KMS 키를 사용할 수 있습니다. 그러나 grant를 즉시 사용해야 하는 경우 grant token을 사용하십시오 (다음 코드를 확인하십시오). 자세한 내용은 여기를 읽으십시오.
kms:CreateKey
, kms:ReplicateKey
kms:CreateKey
, kms:ReplicateKey
이 권한을 사용하면 다른 정책을 가진 다른 지역에서 다중 지역 활성화 KMS 키를 복제할 수 있습니다.
따라서 공격자는 이를 악용하여 키에 대한 권한을 얻고 사용할 수 있습니다
kms:Decrypt
kms:Decrypt
이 권한은 키를 사용하여 일부 정보를 복호화할 수 있게 합니다. 자세한 내용은 다음을 참조하십시오:
AWS - KMS Post ExploitationLast updated