AWS - API Gateway Unauthenticated Enum
Last updated
Last updated
Aprende y practica Hacking en AWS: Aprende y practica Hacking en GCP:
Según la charla , los Lambda Authorizers pueden ser configurados usando la sintaxis de IAM para dar permisos para invocar endpoints de API. Esto se toma :
El problema con esta forma de dar permisos para invocar endpoints es que el "*" implica "cualquier cosa" y no se admite más sintaxis regex.
Algunos ejemplos:
Una regla como arn:aws:execute-apis:sa-east-1:accid:api-id/prod/*/dashboard/*
para dar acceso a cada usuario a /dashboard/user/{username}
les dará acceso a otras rutas como /admin/dashboard/createAdmin
, por ejemplo.
Ten en cuenta que "*" no deja de expandirse con barras; por lo tanto, si usas "*" en api-id, por ejemplo, también podría indicar "cualquier etapa" o "cualquier método" siempre que la regex final siga siendo válida.
Así que arn:aws:execute-apis:sa-east-1:accid:*/prod/GET/dashboard/*
Puede validar una solicitud POST a la etapa de prueba en la ruta /prod/GET/dashboard/admin
, por ejemplo.
Siempre debes tener claro qué quieres permitir que acceda y luego verificar si otros escenarios son posibles con los permisos otorgados.
Al igual que con los buckets de S3, Data Exchange y las URL de Lambda, es posible encontrar el ID de cuenta de una cuenta abusando de la aws:ResourceAccount
Policy Condition Key desde una URL pública de API Gateway. Esto se hace encontrando el ID de cuenta un carácter a la vez abusando de comodines en la sección aws:ResourceAccount
de la política.
Esta técnica también permite obtener valores de etiquetas si conoces la clave de la etiqueta (hay algunas predeterminadas interesantes).
Para más información, aparte de la , puedes encontrar código para implementar autorizadores en .
En la misma se expone el hecho de que si el código está utilizando entrada del usuario para generar las políticas IAM, se pueden incluir comodines (y otros como "." o cadenas específicas) con el objetivo de eludir restricciones.
Puedes encontrar más información en la y la herramienta para automatizar esta explotación.
Aprende y practica Hacking en AWS: Aprende y practica Hacking en GCP:
Revisa los !
Únete al 💬 o al o síguenos en Twitter 🐦 .
Comparte trucos de hacking enviando PRs a los repositorios de y .