Files
hacktricks-cloud/src/pentesting-cloud/aws-security/aws-persistence/aws-kms-persistence

AWS - KMS 永続化

{{#include ../../../../banners/hacktricks-training.md}}

KMS

詳細は次を参照してください:

{{#ref}} ../../aws-services/aws-kms-enum.md {{#endref}}

KMSポリシーを介したアクセス付与

攻撃者は権限 kms:PutKeyPolicy を使って、自分が制御するユーザーや外部アカウントに対してキーへのアクセスを付与することができます。詳細は KMS Privesc page を確認してください。

永続的なGrant

Grantは、principal に対して特定のキーに関する権限を与える別の方法です。ユーザーがgrantを作成できるようにするgrantを付与することも可能です。さらに、あるユーザーは同じキーに対して複数のgrant同一のものも含めてを持つことができます。

そのため、あるユーザーが全ての権限を持つ10個のgrantを持つことが可能です。攻撃者はこれを常に監視するべきです。そしてもしある時点で1つのgrantが削除されたら、別の10個を生成すべきです。

ユーザーがまだいくつかのgrantを持っている間にgrantが削除されたことを検知できるよう、2ではなく10を使用しています

# To generate grants, generate 10 like this one
aws kms create-grant \
--key-id <key-id> \
--grantee-principal <user_arn> \
--operations "CreateGrant" "Decrypt"

# To monitor grants
aws kms list-grants --key-id <key-id>

Note

grant は以下の操作のみについて権限を付与できます: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

{{#include ../../../../banners/hacktricks-training.md}}