
AWS IAM कॉन्फ़िगरेशन में शैडो एडमिन की खोज करता है, गलत कॉन्फ़िगर किए गए डिनी नीतियों का पता लगाकर जो समूहों पर उपयोगकर्ता कार्यों को प्रतिबंधित करने में विफल रहती हैं, जिससे विशेषाधिकार वृद्धि का पता लगाना और सुधार सक्षम होता है।
AWS IAM कॉन्फ़िगरेशन को स्कैन करें shadow admins के लिए, जो Lightspin की सुरक्षा अनुसंधान टीम द्वारा खोजी गई गलत कॉन्फ़िगर की गई डिनी नीतियों पर आधारित हैं जो समूहों में उपयोगकर्ताओं को प्रभावित नहीं करती हैं।
यह उपकरण निम्नलिखित IAM ऑब्जेक्ट्स में गलत कॉन्फ़िगरेशन का पता लगाता है:
प्रबंधित नीतियाँ
उपयोगकर्ताओं की इनलाइन नीतियाँ
समूहों की इनलाइन नीतियाँ
भूमिकाओं की इनलाइन नीतियाँ
समूहों पर लागू डिनी नीतियों के लिए AWS IAM मूल्यांकन तर्क उसी तरह काम नहीं करता जैसे अधिकांश सुरक्षा इंजीनियर अन्य प्राधिकरण तंत्रों के साथ उपयोग कर सकते हैं।
मान लीजिए कि एक समूह संसाधन वाली नीति में एक स्पष्ट डिनी है। उस स्थिति में, यह केवल समूह कार्रवाइयों को प्रभावित करेगा, उपयोगकर्ता कार्रवाइयों को नहीं, और यदि वे प्रक्रिया को उदाहरण के लिए Active Directory के समान मानते हैं, तो संगठनों को गलत कॉन्फ़िगरेशन और कमजोरियों के लिए खोल देता है।
भेद्य json नीति का उदाहरण:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ProtectManagersByDeny",
"Effect": "Deny",
"Action": "*",
"Resource": "arn:aws:iam::123456789999:group/managers"
}
]
}
इस उदाहरण में, नीति को उस नीति से जुड़े उपयोगकर्ताओं, समूहों या भूमिकाओं द्वारा managers नामक समूह की ओर की गई किसी भी iam कार्रवाई को अस्वीकार करना चाहिए।
सच तो यह है कि iam:ChangePassword जैसी सरल IAM कार्रवाई काम करेगी क्योंकि डिनी नीति अप्रभावी है।
पूर्ण सुरक्षा अनुसंधान ब्लॉग का लिंक
AWS IAM में उपयोगकर्ता ऑब्जेक्ट कार्रवाइयों और समूह ऑब्जेक्ट कार्रवाइयों के बीच स्पष्ट अलगाव है।
निम्नलिखित सूची में उपयोगकर्ता ऑब्जेक्ट कार्रवाइयाँ शामिल हैं जिन्हें उपकरण डिनी नीतियों (वाइल्डकार्ड के अलावा) पर स्कैन कर रहा है जो समूहों को प्रभावित करती हैं:
AWS_USER_ACTIONS = ["iam:CreateUser",
"iam:GetUser",
"iam:UpdateUser",
"iam:DeleteUser",
"iam:GetUserPolicy",
"iam:PutUserPolicy",
"iam:DeleteUserPolicy",
"iam:ListUserPolicies",
"iam:AttachUserPolicy",
"iam:DetachUserPolicy",
"iam:ListAttachedUserPolicies",
"iam:SimulatePrincipalPolicy",
"iam:GetContextKeysForPrincipalPolicy",
"iam:TagUser",
"iam:UpdateSSHPublicKey",
"iam:UntagUser",
"iam:GetSSHPublicKey",
"iam:ListUserTags",
"iam:DeleteSSHPublicKey",
"iam:GetLoginProfile",
"iam:GetAccessKeyLastUsed",
"iam:UpdateLoginProfile",
"iam:UploadSigningCertificate",
"iam:DeleteLoginProfile",
"iam:ListSigningCertificates",
"iam:CreateLoginProfile",
"iam:UpdateSigningCertificate",
"iam:EnableMFADevice",
"iam:DeleteSigningCertificate",
"iam:ResyncMFADevice",
"iam:ListServiceSpecificCredentials",
"iam:ListMFADevices",
"iam:ResetServiceSpecificCredential",
"iam:DeactivateMFADevice",
"iam:CreateServiceSpecificCredential",
"iam:ChangePassword",
"iam:UpdateServiceSpecificCredential",
"iam:CreateAccessKey",
"iam:DeleteServiceSpecificCredential",
"iam:ListAccessKeys",
"iam:PutUserPermissionsBoundary",
"iam:UpdateAccessKey",
"iam:DeleteUserPermissionsBoundary",
"iam:DeleteAccessKey",
"iam:ListGroupsForUser",
"iam:ListSSHPublicKeys",
"iam:UploadSSHPublicKey"]
ऊपर उल्लिखित कई उपयोगकर्ता ऑब्जेक्ट कार्रवाइयाँ आसानी से विशेषाधिकार वृद्धि या खाते से समझौता कर सकती हैं, जैसे व्यवस्थापक का पासवर्ड रीसेट करना, रूट खाते के MFA को निष्क्रिय करना, और अधिक।
Red-Shadow Python 3 और Boto3 के साथ बनाया गया है।
उपकरण को आवश्यकता है:
sudo git clone https://github.com/lightspin-tech/red-shadow.git
cd red-shadow
pip3 install -r requirements.txt
python3 red-shadow.py
परिणाम किसी भी IAM ऑब्जेक्ट का पता लगाते हैं जो AWS में ऐसे प्राधिकरण बाईपास के लिए भेद्य है।
परिणाम आउटपुट का उदाहरण:
++ Starting Red-Shadow ++
++ AWS IAM Vulnerability Scanner
++ Red Shadow scans for shadow admins in AWS IAM based on misconfigured deny policies not affecting users in groups
Step 1: Searching for IAM Group misconfigurations in managed policies
Found potential misconfiguration at arn:aws:iam::123456789999:policy/ProtectManagers
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Step 2: Searching for IAM Group misconfigurations in Users inline policies
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Step 3: Searching for IAM Group misconfigurations in Groups inline policies
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Step 4: Searching for IAM Group misconfigurations in Roles inline policies
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Done
इस कंसोल आउटपुट में, हम देख सकते हैं कि हमारी ProtectManagers डिनी नीति अप्रभावी है और ऊपर उल्लिखित विशेषाधिकार वृद्धि जैसे हमलों के लिए भेद्य है।
IAM भेद्यता को मान्य करने और शोषण चलाने के लिए आप निम्नलिखित प्रवाह चला सकते हैं: