AWS - KMS Privesc
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
KMSに関する詳細情報は以下を確認してください:
AWS - KMS Enumkms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)これらの権限を持つことで、キーへのアクセス権限を変更することが可能になり、他のアカウントや誰でも使用できるようになります:
policy.json:
kms:CreateGrant
これはプリンシパルがKMSキーを使用することを許可します:
グラントは特定のタイプの操作のみを許可できます: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
グラントが生成された後、KMSがユーザーにキーの使用を許可するまでに数分かかる場合があることに注意してください。その時間が経過すると、プリンシパルは何も指定することなくKMSキーを使用できます。 ただし、すぐにグラントを使用する必要がある場合はグラントトークンを使用してください(以下のコードを確認してください)。 詳細についてはこれをお読みください.
注意:キーのグラントをリストすることが可能です:
kms:CreateKey
, kms:ReplicateKey
これらの権限を持つことで、異なるポリシーを持つ異なるリージョンにマルチリージョン対応のKMSキーを複製することが可能です。
したがって、攻撃者はこれを悪用して、キーへのアクセスを取得し、使用することができます。
kms:Decrypt
この権限は、キーを使用して情報を復号化することを許可します。 詳細については、次を確認してください:
AWS - KMS Post ExploitationAWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)