AWS - IAM Privesc
IAM
IAM के बारे में अधिक जानकारी के लिए देखें:
AWS - IAM, Identity Center & SSO Enumiam:CreatePolicyVersion
iam:CreatePolicyVersion
नए IAM पॉलिसी वर्शन बनाने की अनुमति देता है, iam:SetDefaultPolicyVersion
अनुमति की आवश्यकता को --set-as-default
फ्लैग का उपयोग करके बायपास करता है। यह कस्टम अनुमतियों को परिभाषित करने में सक्षम बनाता है।
Exploit Command:
Impact: किसी भी संसाधन पर किसी भी क्रिया की अनुमति देकर सीधे विशेषाधिकार बढ़ाता है।
iam:SetDefaultPolicyVersion
iam:SetDefaultPolicyVersion
एक IAM नीति के डिफ़ॉल्ट संस्करण को किसी अन्य मौजूदा संस्करण में बदलने की अनुमति देता है, संभावित रूप से विशेषाधिकार बढ़ाता है यदि नए संस्करण में अधिक अनुमतियाँ हैं।
Bash Command:
प्रभाव: अधिक अनुमतियों को सक्षम करके अप्रत्यक्ष विशेषाधिकार वृद्धि।
iam:CreateAccessKey
iam:CreateAccessKey
किसी अन्य उपयोगकर्ता के लिए एक्सेस कुंजी आईडी और गुप्त एक्सेस कुंजी बनाने को सक्षम करता है, जिससे संभावित विशेषाधिकार वृद्धि हो सकती है।
शोषण:
प्रभाव: किसी अन्य उपयोगकर्ता की विस्तारित अनुमतियों को ग्रहण करके प्रत्यक्ष विशेषाधिकार वृद्धि।
iam:CreateLoginProfile
| iam:UpdateLoginProfile
iam:CreateLoginProfile
| iam:UpdateLoginProfile
AWS कंसोल लॉगिन के लिए पासवर्ड सेट करने सहित लॉगिन प्रोफ़ाइल बनाने या अपडेट करने की अनुमति देता है, जिससे प्रत्यक्ष विशेषाधिकार वृद्धि हो सकती है।
निर्माण के लिए शोषण:
Update के लिए Exploit:
प्रभाव: "किसी भी" उपयोगकर्ता के रूप में लॉगिन करके सीधे विशेषाधिकार वृद्धि।
iam:UpdateAccessKey
iam:UpdateAccessKey
एक निष्क्रिय एक्सेस कुंजी को सक्षम करने की अनुमति देता है, जिससे अनधिकृत पहुंच हो सकती है यदि हमलावर के पास निष्क्रिय कुंजी हो।
शोषण:
प्रभाव: एक्सेस कीज़ को पुनः सक्रिय करके सीधे विशेषाधिकार वृद्धि।
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
iam:CreateServiceSpecificCredential
| iam:ResetServiceSpecificCredential
विशिष्ट AWS सेवाओं (जैसे, CodeCommit, Amazon Keyspaces) के लिए क्रेडेंशियल्स उत्पन्न या रीसेट करने की अनुमति देता है, संबंधित उपयोगकर्ता की अनुमतियों को विरासत में लेता है।
निर्माण के लिए शोषण:
Reset के लिए Exploit:
प्रभाव: उपयोगकर्ता की सेवा अनुमतियों के भीतर सीधे विशेषाधिकार वृद्धि।
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
iam:AttachUserPolicy
|| iam:AttachGroupPolicy
उपयोगकर्ताओं या समूहों को नीतियाँ संलग्न करने की अनुमति देता है, संलग्न नीति की अनुमतियों को विरासत में लेकर सीधे विशेषाधिकार बढ़ाता है।
उपयोगकर्ता के लिए शोषण:
Group के लिए Exploit:
प्रभाव: नीति द्वारा दिए गए किसी भी अधिकार के लिए सीधा विशेषाधिकार वृद्धि।
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
iam:AttachRolePolicy
, ( sts:AssumeRole
|iam:createrole
) | iam:PutUserPolicy
| iam:PutGroupPolicy
| iam:PutRolePolicy
भूमिकाओं, उपयोगकर्ताओं, या समूहों को नीतियाँ संलग्न करने या डालने की अनुमति देता है, अतिरिक्त अनुमतियाँ देकर सीधे विशेषाधिकार वृद्धि को सक्षम करता है।
भूमिका के लिए शोषण:
Inline Policies के लिए Exploit:
आप इस तरह की नीति का उपयोग कर सकते हैं:
प्रभाव: नीतियों के माध्यम से अनुमतियाँ जोड़कर सीधे विशेषाधिकार वृद्धि।
iam:AddUserToGroup
iam:AddUserToGroup
IAM समूह में स्वयं को जोड़ने की अनुमति देता है, समूह की अनुमतियों को विरासत में लेकर विशेषाधिकार बढ़ाता है।
शोषण:
Impact: समूह की अनुमतियों के स्तर तक सीधी विशेषाधिकार वृद्धि।
iam:UpdateAssumeRolePolicy
iam:UpdateAssumeRolePolicy
एक भूमिका की अस्यूम रोल नीति दस्तावेज़ को बदलने की अनुमति देता है, जिससे भूमिका और उसकी संबंधित अनुमतियों को ग्रहण किया जा सकता है।
Exploit:
जहाँ नीति निम्नलिखित की तरह दिखती है, जो उपयोगकर्ता को भूमिका ग्रहण करने की अनुमति देती है:
प्रभाव: किसी भी भूमिका की अनुमतियों को ग्रहण करके प्रत्यक्ष विशेषाधिकार वृद्धि।
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
iam:UploadSSHPublicKey
|| iam:DeactivateMFADevice
CodeCommit के लिए प्रमाणीकरण हेतु SSH सार्वजनिक कुंजी अपलोड करने और MFA उपकरणों को निष्क्रिय करने की अनुमति देता है, जिससे संभावित अप्रत्यक्ष विशेषाधिकार वृद्धि हो सकती है।
SSH कुंजी अपलोड के लिए शोषण:
MFA निष्क्रियकरण के लिए Exploit:
Impact: अप्रत्यक्ष विशेषाधिकार वृद्धि CodeCommit एक्सेस को सक्षम करके या MFA सुरक्षा को अक्षम करके।
iam:ResyncMFADevice
iam:ResyncMFADevice
एक MFA डिवाइस का पुन: समन्वयन करने की अनुमति देता है, जो संभावित रूप से MFA सुरक्षा में हेरफेर करके अप्रत्यक्ष विशेषाधिकार वृद्धि की ओर ले जा सकता है।
Bash Command:
Impact: MFA डिवाइस जोड़ने या हेरफेर करने से अप्रत्यक्ष विशेषाधिकार वृद्धि।
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)
iam:UpdateSAMLProvider
, iam:ListSAMLProviders
, (iam:GetSAMLProvider
)इन अनुमतियों के साथ आप SAML कनेक्शन के XML मेटाडेटा को बदल सकते हैं। फिर, आप SAML फेडरेशन का दुरुपयोग करके किसी भी भूमिका के साथ लॉगिन कर सकते हैं जो इसे विश्वास कर रही है।
ध्यान दें कि ऐसा करने से वैध उपयोगकर्ता लॉगिन नहीं कर पाएंगे। हालांकि, आप XML प्राप्त कर सकते हैं, ताकि आप अपना डाल सकें, लॉगिन कर सकें और पहले वाले को पुनः कॉन्फ़िगर कर सकें।
TODO: एक टूल जो SAML मेटाडेटा उत्पन्न करने और निर्दिष्ट भूमिका के साथ लॉगिन करने में सक्षम हो
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)
iam:UpdateOpenIDConnectProviderThumbprint
, iam:ListOpenIDConnectProviders
, (iam:
GetOpenIDConnectProvider
)(इस बारे में निश्चित नहीं) यदि किसी हमलावर के पास ये permissions हैं तो वह एक नया Thumbprint जोड़ सकता है ताकि वह प्रदाता पर भरोसा करने वाली सभी भूमिकाओं में लॉगिन कर सके।
References
Last updated