Hacking Fortinet – WAF TEST
Dentro de la amplia gama de soluciones de protección de seguridad informática, existen equipos muy especializados de acuerdo al propósito; Uno de ellos esos equipos es el denominado Web Application Firewall
Según OWASP es un firewall de aplicaciones Web o «WAF» el cual es es un aparato, plugin de servidor, o el filtro que se aplica un conjunto de reglas a una conversación HTTP. En general, estas reglas cubren ataques comunes tales como cross-site scripting (XSS) y SQL injection. Mediante la personalización de las reglas para su aplicación, muchos ataques pueden ser identificados y bloqueados.
Evidentemente un WAF no es un UTM , ya que el WAF como se cita en el párrafo anterior, es un equipo que se enfoque específicamente en la protección de aplicaciones o sistemas Web, es necesario precisar ello por que en el articulo anterior donde realizarnos pruebas contra un UTM la mayoría de los ataques hacia aplicaciones web, no fueron bloqueados por el equipo.
Es así , que gracias a Yishay Perry ( www.fil.org.il ) que es especialista en soluciones Fortinet y un colega en el área de seguridad perimetral, me dio la posibilidad de poder tener acceso al WAF de Fortinet denominado FORTIWEB, en donde implementamos un escenario de adecuado para realizar algunas pruebas de seguridad ofensiva y validar si el equipo podía bloquear algunos de los ataques hacia aplicaciones web mas representativos.
Escenario
Test 1 – Cross-site scripting XSS
La detección de ataques de XSS son bastante complicados de ser detectados por los UTM tradicionales en este caso vamos a ver como reacciona el WAF ante esta vulnerabilidad.
A.- Sin el WAF protegiendo la aplicación web
Probamos la siguiente cadena xss :
alert(document.cookie)
Vemos que el xss reflejado se completo
B.- Con el WAF protegiendo la aplicación web
Volvemos a probar la misma cadena pero ahora con el WAF protegiendo la aplicación web
Vemos que el WAF reacciona y bloquea la ejecución del XSS reflejado
Así mismo el WAF genera el registro del evento.
Test 2 – File Inclusion
Esta es otra vulnerabilidad bastante complicada de detectar, vamos a ver como reacciona.
A.- Sin el WAF protegiendo la aplicación web
Probamos la siguiente inclusion : /etc/passwd
Vemos que se completa el comando y devuelve el contenido del archivo /etc/passwd en la aplicación web
B.- Con el WAF protegiendo la aplicación web
Volvemos a probar la misma cadena pero ahora con el WAF protegiendo.
También vemos que el WAF reacciona y bloquea la ejecución del XSS
De la misma forma vemos que el WAF genera el registro del evento.
Test 3 – Website Defacement
El defacement o defaseo de paginas es un ataque bastante comun en estos tiempos, veamos como el WAF reacciona.
Escenario: En este caso hemos conseguido subir un webshell, mediante un formulario de upload, luego se ha detectado el archivo index.php que es la pagina principal del sitio web y estamos en el proceso de grabar nuestro defacement , como se muestra a continuación :
A.- Sin el WAF protegiendo la aplicación web
Sin el WAF protegiendo es posible grabar el archivo y completar el defacement de la siguiente forma :
B.- Con el WAF protegiendo la aplicación web
Volvemos a probar tratando de grabar el archivo index.php con el WAF protegiendo y este reacciona de esta forma :
Así mismo el evento queda registrado como se muestra a continuación:
Es decir el WAF evita el defacement.
Conclusiones
- Contar con un equipo mucho mas especializado en ataques web permite reducir mucho las probabilidades de que se puedan explotar vulnerabilidades en las aplicaciones, como el caso de el FortiWEB
- Si bien es cierto todas las pruebas realizadas fueron positivas con respecto al WAF , ello es porque, se ha realizado configuración especifica de protección para la aplicación que se está defendiendo, es decir cualquiera que sea la solución WAF que se usen, es necesario realizar configuración personalizada en el equipo.
- Esta guía intenta mostrar, que para cualquier equipo o solución que proteja la seguridad, es altamente recomendable que se realicen pruebas de seguridad ofensiva para validar cada una de las reglas de protección que el equipo brinda.
- En el caso del FortiWeb puedo manifestar que es un equipo que protege bastante bien las vulnerabilidades evaluadas.
En otro articulo veremos como implementar un WAF basado en algunas soluciones de software libre existentes.
Espero les sirva.
Saludos
Juan Oliva
@jroliva
Hola Juan, estoy realizando un trabajo de fin de máster en seguridad informática, precisamente para analizar la eficacia frente a ataques de diversas soluciones WAF y RASP. Estoy intentando conseguir licencias de prueba (unos 15 días) de diversas soluciones WAF comerciales. Me gustaría saber si podrías ayudarme a conseguir una licencia de este tipo de Fortinet o alguna solución WAF similar. Muchas gracias..!