Esquivar los firewalls de las aplicaciones abusando de certificados de seguridad

Share this…

La seguridad en la red se ha convertido en un tema muy importante en el campo de la informática. Las ventajas de internet resultaron en servicios muy críticos que se desarrollan como aplicaciones web. Los requisitos comerciales para la seguridad de sus aplicaciones web también han cambiado mucho y, además de sus buenos estándares de desarrollo, agregan otra capa de seguridad. Los cortafuegos de aplicaciones web son cortafuegos L7 que inspeccionan el tráfico web e “intentan” protegerse de los ataques. A continuación se mostrará un vector para esquivar seguridad web encontrado recientemente.

La causa de la vulnerabilidad

Este es un hallazgo derivado de un reciente análisis en una prueba de despliegue de un cortafuego de aplicación web (WAF).

Después de que se proporcionara la información requerida a los expertos en pruebas de penetración, comenzaron a buscar diferentes formas de eludir el cortafuego. Se les concedió acceso a la WAF para aplicar diferentes pruebas y, además de otros métodos para esquivarlo encontrados en la investigación, uno interesante fue el abuso del cifrado SSL.

La primera vez que los especialistas en pruebas de penetración accesaron al WAF, la alerta de Cifras SSL no admitidas llamó su atención. Toda vez que vieron la descripción de la alerta, comenzaron a profundizar en la documentación del producto y lograron encontrar todos los cifrados SSL compatibles. Antes de continuar, aquí una breve explicación de cómo funciona una conexión SSL.

El enlace SSL se compone de 3 etapas:

  • Saludo Cliente/Servidor

El enlace comienza por el cliente que envía un mensaje (ClientHello). Este mensaje contiene toda la información que el servidor necesita, como las diversas suites de cifrado y las versiones compatibles de SSL/TLS. Después de recibir la conexión, el servidor responde con un mensaje (ServerHello) que contiene información similar requerida por el cliente. El servidor también devuelve qué conjunto de cifrado y versión SSL se utilizará.

  • Intercambio de certificados

Después de que la conexión se inicializa, el servidor debe demostrar su identidad al cliente. El servidor envía el certificado SSL al cliente y el cliente verifica si confía en el certificado y continúa la conexión.

  • Intercambio de claves

Ahora que se establece un túnel seguro, el servidor y el cliente intercambian una clave que se utilizará tanto para el cifrado como para el descifrado de los datos.

Concepto del ataque

El concepto planteado en general fue: qué sucede si se utiliza un Cifrado SSL “no compatible” para inicializar la conexión al servidor web que admite ese cifrado; el cortafuego (WAF) no podría identificar el ataque porque no puede ver esos datos.

Así que se buscó y encontró la documentación para el proveedor de WAF, de donde se extrajeron todos los cifrados SSL compatibles. Como se puede ver a continuación:

SSLv3

bypass2

TLS/1.0-1.2

bypass3.jpg

El siguiente paso es identificar los Cifrados SSL que sí son compatibles con el servidor web.

Hay muchas formas de identificar las cifras admitidas, pero se utilizó sslscanporque es fácil de instalar y proporciona mucha información detallada.

bypass4.png

El comando anterior mostrará una lista de todas las versiones y cifrados SSL/TLS compatibles del servidor web.

Accepted TLSv1 256 bits ECDHE-RSA-AES256-SHA

El cifrado compatible en el servidor web pero no en WAF

Comparando el resultado de sslscan y la documentación del producto, se pudieron identificar cifrados que no eran compatibles con el servidor de seguridad de aplicaciones web, pero sí con el servidor web.

Una forma rápida de explotar esta vulnerabilidad es especificando las cifras del cliente, dejando solo la que eludirá el firewall.

Conclusiones

El plan principal de los investigadores era crear un escáner para identificar todos los cifrados admitidos, encontrar uno que en teoría omitiera el cortafuego y luego iniciar un listener proxy para reenviar todas las solicitudes con ese cifrado.

Dado que eso requerirá mucho tiempo del que posiblemente no disponen los especialistas en pruebas de penetración, han decidido publicar sus conclusiones y permanecer a la espera de alguien para crear algo basado en esta investigación.