¿Su seguridad de Azure está en riesgo? ¿Cómo explotan los hackers las etiquetas de servicio de Azure (y cómo detenerlas)?

Tenable Research descubrió una importante vulnerabilidad de seguridad que afecta a los clientes de Azure que dependen de etiquetas de servicio para sus reglas de firewall. Esta vulnerabilidad permite a los atacantes eludir las reglas del firewall de Azure, lo que representa un riesgo sustancial para las organizaciones que utilizan estas configuraciones. A continuación se ofrece una mirada en profundidad a la vulnerabilidad, cómo se puede explotar y medidas defensivas cruciales para mitigar el riesgo.

DESCUBRIMIENTO INICIAL EN AZURE APPLICATION INSIGHTS

Tenable Research descubrió inicialmente la vulnerabilidad dentro de Azure Application Insights, un servicio diseñado para monitorear y analizar el rendimiento y la disponibilidad de las aplicaciones web. Se descubrió que la función Pruebas de disponibilidad de Azure Application Insights, destinada a comprobar la accesibilidad y el rendimiento de las aplicaciones, era susceptible de abuso. Los usuarios pueden controlar las solicitudes del lado del servidor en estas pruebas, incluida la adición de encabezados personalizados y el cambio de métodos HTTP. Los atacantes pueden aprovechar este control para falsificar solicitudes de servicios confiables, imitando un ataque de falsificación de solicitudes del lado del servidor (SSRF).

EXPANSIÓN A MÁS DE 10 OTROS SERVICIOS DE AZURE

Tras una investigación más profunda, Tenable Research descubrió que la vulnerabilidad se extiende más allá de Azure Application Insights a más de otros 10 servicios de Azure. Éstas incluyen:

  • Azure DevOps
  • Aprendizaje automático de Azure
  • Aplicaciones lógicas de Azure
  • Registro de contenedores de Azure
  • Pruebas de carga de Azure
  • Gestión de API de Azure
  • Fábrica de datos de Azure
  • Grupo de acción de Azure
  • Indexador de vídeo de IA de Azure
  • Estudio Caos Azul

Cada uno de estos servicios permite a los usuarios controlar las solicitudes del lado del servidor y tiene una etiqueta de servicio asociada, lo que crea riesgos potenciales de seguridad si no se mitiga adecuadamente.

CÓMO LOS ATACANTES PUEDEN APROVECHAR LA VULNERABILIDAD

Los atacantes pueden aprovechar la vulnerabilidad en las etiquetas de servicio de Azure abusando de la función Pruebas de disponibilidad en Azure Application Insights. A continuación se detallan pasos y ejemplos para ilustrar cómo un atacante puede aprovechar esta vulnerabilidad:

1. Configuración de la prueba de disponibilidad:

  • Escenario de ejemplo: un atacante identifica un servicio web interno dentro del entorno de Azure de una víctima que está protegido por una regla de firewall que permite el tráfico solo desde Azure Application Insights.
  • Acción: El atacante configura una prueba de disponibilidad en Azure Application Insights y la configura para apuntar al servicio web interno.

2. Personalización de la Solicitud:

  • Manipulación de encabezados: el atacante personaliza los encabezados de solicitud HTTP para incluir tokens de autorización u otros encabezados que el servicio de destino pueda esperar.
  • Cambiar los métodos HTTP: el atacante puede cambiar el método HTTP (por ejemplo, de GET a POST) para realizar acciones como enviar datos o invocar acciones en el servicio de destino.
  • Ejemplo de personalización: el atacante configura la prueba para enviar una solicitud POST con un encabezado personalizado “Autorización: Portador <token-malicioso>”.

3. Envío de la solicitud maliciosa:

  • Omisión del firewall: la solicitud diseñada se envía a través de la prueba de disponibilidad. Dado que se origina en un servicio confiable de Azure (Application Insights), omite las reglas de firewall basadas en etiquetas de servicio.
  • Ataque de ejemplo: la prueba de disponibilidad envía la solicitud POST con el encabezado personalizado al servicio web interno, que procesa la solicitud como si fuera de una fuente legítima.

4. Acceso a recursos internos:

  • Acceso no autorizado: el atacante ahora tiene acceso a API internas, bases de datos u otros servicios que estaban protegidos por el firewall.
  • Exfiltración y manipulación: el atacante puede exfiltrar datos confidenciales, manipular recursos internos o utilizar el acceso para lanzar más ataques.
  • Ejemplo de impacto: el atacante recupera datos confidenciales de una API interna o modifica los ajustes de configuración en un servicio interno.

EJEMPLO DETALLADO DE EXPLOTACIÓN

Escenario: una organización usa Azure Application Insights para supervisar un servicio financiero interno. El servicio está protegido por una regla de firewall que permite el acceso únicamente desde la etiqueta de servicio ApplicationInsightsAvailability.

  1. Implementación de un servicio interno de aplicaciones de Azure:
    • La organización tiene una aplicación financiera hospedada en un servicio de aplicaciones de Azure con reglas de firewall configuradas para aceptar tráfico solo desde la etiqueta de servicio ApplicationInsightsAvailability.
  2. Intento de acceso por parte del atacante:
    • El atacante descubre el punto final de la aplicación financiera interna e intenta acceder a ella directamente. El firewall bloquea este intento y devuelve una respuesta prohibida.
  3. Explotando la vulnerabilidad:
    • Configuración de la prueba: el atacante configura una prueba de disponibilidad en Azure Application Insights dirigida a la aplicación financiera interna.
    • Personalización de la solicitud: el atacante personaliza la prueba para enviar una solicitud POST con una carga útil que desencadena una transacción financiera, agregando un encabezado personalizado “Autorización: Portador <token-malicioso>”.
    • Envío de la solicitud: la prueba de disponibilidad envía la solicitud POST a la aplicación financiera interna, sin pasar por el firewall.
  4. Obtener acceso no autorizado:
    • La aplicación financiera procesa la solicitud POST, creyendo que proviene de una fuente legítima. El atacante desencadena con éxito la transacción financiera.
    • Exfiltración: el atacante configura otra prueba de disponibilidad para enviar solicitudes GET con encabezados personalizados para extraer registros financieros de la aplicación.

TÉCNICAS AVANZADAS DE EXPLOTACIÓN

1. Ataques en cadena:

  • Los atacantes pueden encadenar múltiples vulnerabilidades o servicios para aumentar sus privilegios e impacto. Por ejemplo, utilizar el acceso inicial obtenido en la prueba de disponibilidad para buscar otros servicios internos o escalar privilegios dentro del entorno de Azure.

2. Movimiento lateral:

  • Una vez dentro de la red, los atacantes pueden moverse lateralmente para comprometer otros servicios o extraer más datos. Es posible que utilicen otros servicios de Azure, como Azure DevOps o Azure Logic Apps, para encontrar puntos de entrada adicionales o datos confidenciales.

3. Acceso persistente:

  • Los atacantes pueden configurar pruebas de disponibilidad a largo plazo que se ejecutan periódicamente, garantizando el acceso continuo a los servicios internos. Podrían utilizar estas pruebas persistentes para mantener un punto de apoyo dentro del entorno, extrayendo datos continuamente o ejecutando actividades maliciosas.

MEDIDAS DEFENSIVAS

Para mitigar los riesgos asociados con esta vulnerabilidad, los clientes de Azure deben implementar varias medidas defensivas:

1. Analizar y actualizar las reglas de la red:

  • Realizar una revisión exhaustiva de las reglas de seguridad de la red.
  • Identifique y analice cualquier uso de etiquetas de servicio en las reglas de firewall.
  • Suponga que los servicios protegidos únicamente por etiquetas de servicio pueden ser vulnerables.

2. Implementar autenticación y autorización sólidas:

  • Agregue mecanismos sólidos de autenticación y autorización.
  • Utilice Azure Active Directory (Azure AD) para administrar el acceso.
  • Aplique la autenticación multifactor y los principios de privilegios mínimos.

3. Mejorar el aislamiento de la red:

  • Utilice grupos de seguridad de red (NSG) y grupos de seguridad de aplicaciones (ASG) para un aislamiento granular.
  • Implemente Azure Private Link para mantener el tráfico dentro de la red de Azure.

4. Monitorear y auditar el tráfico de la red:

  • Habilite el registro y monitoreo del tráfico de red.
  • Utilice Azure Monitor y Azure Security Center para configurar alertas para actividades inusuales.
  • Revise periódicamente los registros y las pistas de auditoría.

5. Servicios de actualización y parcheo periódicos:

  • Mantenga todos los servicios y aplicaciones de Azure actualizados con parches de seguridad.
  • Supervise los avisos de seguridad de Microsoft y otras fuentes.
  • Aplique actualizaciones rápidamente para minimizar el riesgo.

6. Utilice Azure Policy para aplicar configuraciones de seguridad:

  • Implemente Azure Policy para aplicar las mejores prácticas de seguridad.
  • Cree políticas que requieran una autenticación sólida y configuraciones de red adecuadas.
  • Utilice iniciativas de Azure Policy para una aplicación coherente en todos los recursos.

7. Realizar evaluaciones de seguridad y pruebas de penetración:

  • Realice evaluaciones de seguridad periódicas y pruebas de penetración.
  • Contacte con expertos en seguridad o servicios de terceros para realizar revisiones exhaustivas.
  • Utilice herramientas como Azure Security Benchmark y Azure Defender.

8. Educar y capacitar al personal:

  • Brindar capacitación sobre riesgos y mejores prácticas relacionadas con las etiquetas de servicio de Azure y la seguridad de la red.
  • Asegúrese de que el personal comprenda la importancia de la seguridad multicapa.
  • Equipar a los equipos para implementar y gestionar medidas de seguridad de manera efectiva.

La vulnerabilidad descubierta por Tenable Research destaca riesgos importantes asociados con la dependencia únicamente de las etiquetas de servicio de Azure para las reglas de firewall. Al comprender la naturaleza de la vulnerabilidad e implementar las medidas defensivas recomendadas, los clientes de Azure pueden proteger mejor sus entornos y mitigar las amenazas potenciales. Las revisiones periódicas, las actualizaciones y un enfoque de seguridad de múltiples capas son esenciales para mantener un entorno de Azure seguro.