AWS - KMS Privesc
KMS
Kwa maelezo zaidi kuhusu KMS angalia:
AWS - KMS Enumkms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)
kms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)Kwa ruhusa hizi inawezekana kubadilisha ruhusa za ufikiaji wa ufunguo ili uweze kutumiwa na akaunti nyingine au hata mtu yeyote:
policy.json:
KMS Privilege Escalation
Scenario 1: Decrypting Administrator Passwords
Katika hali hii, mshambuliaji anaweza kutumia ruhusa za kms:Decrypt
kufichua nywila za msimamizi zilizohifadhiwa kwenye KMS. Hii inaweza kuruhusu mshambuliaji kupata ufikiaji wa rasilimali za AWS kwa kutumia nywila hizo.
Scenario 2: Creating a New Key with Administrative Privileges
Katika hali hii, mshambuliaji anaweza kutumia ruhusa za kms:CreateKey
kuunda ufunguo mpya na kisha kupeana ruhusa za kiutawala kwa ufunguo huo. Hii inaweza kuruhusu mshambuliaji kufanya vitendo vya kiutawala kwenye rasilimali za AWS.
Mitigation
Ili kupunguza hatari hizi, ni muhimu kuweka sera za IAM ambazo zinadhibiti upatikanaji wa ruhusa za KMS. Hii inaweza kujumuisha:
Kuweka sera za IAM ambazo zinadhibiti ni nani anaweza kuunda na kusimamia funguo za KMS.
Kuweka sera za IAM ambazo zinadhibiti ni nani anaweza kufichua data iliyosimbwa kwa kutumia funguo za KMS.
Kufanya ukaguzi wa mara kwa mara wa sera za IAM na ruhusa za KMS ili kuhakikisha kuwa zinakidhi mahitaji ya usalama.
Kwa kufuata hatua hizi, unaweza kupunguza hatari ya kupandishwa kwa ruhusa kupitia KMS.
kms:CreateGrant
kms:CreateGrant
Inamruhusu mhusika kutumia KMS key:
Grant inaweza kuruhusu aina fulani tu za operesheni: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Kumbuka kuwa inaweza kuchukua dakika chache kwa KMS kuruhusu mtumiaji kutumia ufunguo baada ya grant kuzalishwa. Mara muda huo ukipita, principal anaweza kutumia KMS key bila ya kuhitaji kutaja chochote. Hata hivyo, ikiwa inahitajika kutumia grant mara moja tumia grant token (angalia msimbo ufuatao). Kwa maelezo zaidi soma hii.
Note kwamba inawezekana kuorodhesha ruhusa za funguo na:
kms:CreateKey
, kms:ReplicateKey
kms:CreateKey
, kms:ReplicateKey
Kwa ruhusa hizi inawezekana kurudia ufunguo wa KMS ulio na uwezo wa kanda nyingi katika kanda tofauti na sera tofauti.
Kwa hivyo, mshambuliaji anaweza kutumia vibaya hili kupata privesc ya ufikiaji wake kwa ufunguo na kuutumia
kms:Decrypt
kms:Decrypt
Hii ruhusa inaruhusu kutumia ufunguo kufungua baadhi ya taarifa. Kwa maelezo zaidi angalia:
AWS - KMS Post ExploitationLast updated