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