AWS - STS Privesc

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

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

STS

sts:AssumeRole

प्रत्येक भूमिका के साथ एक भूमिका विश्वास नीति बनाई जाती है, यह नीति दर्शाती है कौन निर्मित भूमिका को मान सकता है। यदि एक ही खाते से एक भूमिका कहती है कि एक खाता इसे मान सकता है, तो इसका अर्थ है कि खाता भूमिका तक पहुंच सकेगा (और संभावित रूप से विशेषाधिकार कर सकता है)।

उदाहरण के लिए, निम्नलिखित भूमिका विश्वास नीति दर्शाती है कि कोई भी इसे मान सकता है, इसलिए कोई भी उपयोगकर्ता वहाँ पहुंच सकेगा, इस भूमिका के साथ संबंधित अनुमतियों तक।

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "sts:AssumeRole"
}
]
}

आप एक भूमिका का अनुकरण कर सकते हैं चलाते हुए:

aws sts assume-role --role-arn $ROLE_ARN --role-session-name sessionname

संभावित प्रभाव: भूमिका को उच्चाधिकार मिलना।

ध्यान दें कि इस मामले में अनुमति sts:AssumeRole को उपयोग करने के लिए भूमिका में निर्दिष्ट किया जाना चाहिए और न ही हमले करने वाले के धारा में। एक अपवाद के साथ, एक विभिन्न खाते से एक भूमिका का अनुमान लगाने के लिए हमले करने वाले खाते को भी भी भूमिका पर sts:AssumeRole होना चाहिए।

sts:AssumeRoleWithSAML

इस भूमिका के साथ विश्वास नीति उन उपयोगकर्ताओं को अधिकार प्रदान करती है जो SAML के माध्यम से प्रमाणित हैं और भूमिका का अनुकरण करने के लिए।

इस अनुमति के साथ एक भरोसा नीति का उदाहरण है:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "OneLogin",
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::290594632123:saml-provider/OneLogin"
},
"Action": "sts:AssumeRoleWithSAML",
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
}
]
}

भूमिका का अनुकरण करने के लिए क्रेडेंशियल उत्पन्न करने के लिए आप कुछ इस प्रकार का उपयोग कर सकते हैं:

aws sts  assume-role-with-saml --role-arn <value> --principal-arn <value>

लेकिन प्रदाताओं के पास इसे आसान बनाने के लिए उनके खुद के उपकरण हो सकते हैं, जैसे onelogin-aws-assume-role:

onelogin-aws-assume-role --onelogin-subdomain mettle --onelogin-app-id 283740 --aws-region eu-west-1 -z 3600

संभावित प्रभाव: भूमिका को उन्नत करना।

sts:AssumeRoleWithWebIdentity

यह अनुमति उन उपयोगकर्ताओं को सेट प्राप्त करने की अनुमति देती है जिन्होंने एक मोबाइल, वेब एप्लिकेशन, EKS... में प्रमाणित किया गया है, जो एक वेब पहचान प्रदाता के साथ। यहां अधिक जानें।

उदाहरण के लिए, यदि एक EKS सेवा खाता को एक IAM भूमिका का अनुकरण करने की अनुमति होनी चाहिए, तो उसमें एक टोकन होगा /var/run/secrets/eks.amazonaws.com/serviceaccount/token और रोल का अनुमान लगाने और क्रेडेंशियल प्राप्त करने के लिए कुछ इस प्रकार कर सकता है:

aws sts assume-role-with-web-identity --role-arn arn:aws:iam::123456789098:role/<role_name> --role-session-name something --web-identity-token file:///var/run/secrets/eks.amazonaws.com/serviceaccount/token
# The role name can be found in the metadata of the configuration of the pod

संघीय दुरुपयोग

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

दूसरे तरीके HackTricks का समर्थन करने के लिए:

Last updated