AWS - KMS Persistence

Support HackTricks

KMS

자세한 정보는 다음을 확인하세요:

AWS - KMS Enum

KMS 정책을 통한 접근 권한 부여

공격자는 kms:PutKeyPolicy 권한을 사용하여 자신의 통제 하에 있는 사용자에게 키에 대한 접근 권한을 부여하거나 외부 계정에 부여할 수 있습니다. 더 많은 정보는 KMS Privesc 페이지를 확인하세요.

영구 권한 부여

Grant는 특정 키에 대해 주체에게 일부 권한을 부여하는 또 다른 방법입니다. 사용자가 grant를 생성할 수 있도록 허용하는 grant를 부여할 수 있습니다. 또한, 사용자는 동일한 키에 대해 여러 개의 grant(심지어 동일한 grant)를 가질 수 있습니다.

따라서 사용자가 모든 권한을 가진 10개의 grant를 가질 수 있습니다. 공격자는 이를 지속적으로 모니터링해야 합니다. 그리고 만약 어느 시점에 1개의 grant가 제거되면 다른 10개의 grant가 생성되어야 합니다.

(우리는 사용자가 여전히 일부 grant를 가지고 있는 동안 grant가 제거되었음을 감지할 수 있도록 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>

그랜트는 다음에서만 권한을 부여할 수 있습니다: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

HackTricks 지원하기

Last updated