Compartir tecnología

[Seguridad de red] Funciones de Microsoft Azure de SSRF

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

No se permite volver a publicar sin consentimiento.

Directorio de artículos

texto

Azure Functions es un servicio informático sin servidor que proporciona toda la infraestructura y los recursos necesarios bajo demanda para ejecutar aplicaciones. Se puede utilizar para crear API web, responder a cambios en la base de datos, procesar flujos de datos de IoT, administrar colas de mensajes y muchos otros propósitos.

Primero cree una aplicación de función:

imagen

Crear código de función:

imagen

Después de hacer clic en Funciones, ingrese a la siguiente página para la configuración:

imagen

Ingrese un nombre de muestra y seleccione una plantilla:

imagen

Una vez creada la aplicación de funciones, seleccione Código + Prueba. Hay varias solicitudes enviadas por el cliente, incluidas dos solicitudes especiales:

1、https://functions.azure.com/api/passthrough 
2、https://functions.azure.com/api/debug
  • 1
  • 2

imagen

Al buscar en la biblioteca de GitHub, el código clave es el siguiente:

imagen

Como puede ver en el paquete de solicitud correspondiente a este código, el navegador envía nuestra función personalizada (BlobTrigger1.dat) envió una solicitud GET:

imagen

Al leer la documentación, los dos parámetros siguientes se usan para autenticarse en funciones.azure.com y son necesarios para realizar la solicitud:

imagen

Esto significa que después de eliminar estos dos encabezados, podemos enviar cualquier solicitud.

Luego modificamos la URL y obtuvimos la dirección del servidor de Azure Functions:

imagen

Al enviar una solicitud a https://www.nba.com, la respuesta es la siguiente:

imagen

Resulta que la función aplicación se utiliza para ejecutar nuestra solicitud.

Al mismo tiempo, la información sobre la dirección IP se obtiene enviando una solicitud a https://www.infobyip.com/, y el User-Agent repetido es axios/0.21.4, por lo que la función es un módulo de Node JS:

imagen

Después de aclarar las funciones y características del programa de funciones, podrá utilizarlo en el futuro.

explotar

Intenté acceder al servicio IMDS pero no pude acceder.pero puede enumerar un puerto interno potencialmente abierto41692

imagen

Mediante una enumeración adicional, se confirmó que se podía acceder al punto final interno, como se muestra a continuación:

imagen
]

Mediante una enumeración adicional, se confirmó que se podía acceder al punto final interno, como se muestra a continuación:

imagen

Fuente original: https://orca.security/resources/blog/ssrf-vulnerabilities-azure-functions-app/