OWASP ZAP, audita la seguridad de webs y evita vulnerabilidades

OWASP ZAP (Zed Attack Proxy) es el escáner web de vulnerabilidades más utilizado en todo el mundo, es completamente gratuito y de código abierto, por tanto, podrás adaptarlo a tus necesidades. Este programa es mantenido activamente por una comunidad internacional de voluntarios, los cuales trabajan para ir mejorando la herramienta poco a poco y también incorporando nuevas características. Hoy en RedesZone os vamos a enseñar todo lo necesario para comprobar la seguridad de tu web para evitar vulnerabilidades que pongan en riesgo tu servidor y tus datos.

Principales características de OWASP ZAP

Lo primero que debemos indicar es que OWASP ZAP no es una herramienta comercial, es completamente gratuita y de código abierto, además, es una herramienta multiplataforma, siendo compatible con sistemas operativos Windows (de 32 y 64 bits), Linux, MacOS, e incluso podemos descargarnos un contenedor Docker que incorporará todo lo necesario para ejecutarlo correctamente. Este programa es muy sencillo de instalar, tan solo necesitaremos tener Java instalado en nuestro equipo para poder ejecutarlo, otras características son que esta herramienta está traducida en más de 12 idiomas entre los que se incluye el español, además, gracias a la comunidad disponemos de una gran cantidad de documentación, tutoriales de ayuda y también tenemos foros donde podremos poner nuestro problema y nos ayudarán a solucionarlo.

Los usuarios de esta herramienta forense de seguridad podrán auditar diferentes aplicaciones web con una serie de funciones y análisis específicos. Podremos comprobar todas las peticiones y respuestas entre cliente y servidor, levantando un proxy que se encargará de capturar todas las peticiones para su posterior estudio. También podremos localizar recursos en un servidor, realizar análisis automáticos, análisis pasivos, posibilidad de lanzar varios ataques a la vez, e incluso usar certificados SSL dinámicos. Otras características interesantes son que permite usar tarjetas inteligentes como el DNIe, e incluso certificados personales, también es capaz de trabajar con sistemas de autenticación y disponemos de una tienda de extensiones (plugins) para aumentar aún más las funcionalidades de esta gran herramienta.

Actualmente ZAP se encuentra en su versión 2.10, y han ido incorporando una gran cantidad de nuevas funcionalidades, como nuevos modos de ataque para buscar vulnerabilidades, mejoras en el sistema de inyección para atacar varios servidores simultáneamente, sistemas de políticas para elegir diferentes reglas que formarán parte del análisis, diálogos de escaneo con opciones avanzadas, nuevos plugins de control de acceso y secuencia de escaneo para configurar perfectamente cómo queremos que se realice el ataque y la verificación de vulnerabilidades y mucho más.

En la web oficial de OWASP ZAP podrás encontrar los enlaces para su descarga, tanto para Windows, Linux y macOS como también los contenedores de Docker que ya incorporan todo lo necesario para su correcto funcionamiento.

Instalación y puesta en marcha

La instalación de este programa es realmente sencilla, simplemente tendremos que seguir el asistente de instalación, elegir si queremos la instalación estándar o la personalizada, a continuación, podremos elegir el directorio donde instalar todo el programa para posteriormente ejecutarlo.

También podremos elegir crear una carpeta en el menú inicio, crear los iconos en el escritorio e incluso el acceso rápido. Por último, OWASP ZAP nos permitirá comprobar si hay actualizaciones, tanto del propio ZAP como también de los add-ons que podremos instalar. Además, también podremos instalar las nuevas reglas que se creen para los escáneres web etc.

Una vez instalado, podemos ejecutarlo para empezar a escanear servidores web y comprobar si existe algún tipo de fallo de seguridad conocido.

Comprueba las vulnerabilidades de tu servidor web

Lo primero que tenemos que hacer es ejecutar este programa, tardará unos segundos en cargar correctamente.

Una vez iniciado, podremos configurar la sesión de ZAP para guardar posteriormente todo el proyecto y los datos que hayamos sacado con la auditoría de seguridad al servidor web. Tendremos un total de tres opciones, aunque la traducción al español no está demasiado bien hecha, se entiende bastante bien.

En el menú principal tendremos la posibilidad de realizar un escaneo automatizado, o una exploración manual si ya tenemos definido anteriormente lo que nosotros queramos. También podremos acceder directamente a la ayuda de la herramienta.

Si pinchamos en «Automated Scan» podremos realizar un escaneo automatizado a la URL que nosotros queramos, podremos poner cualquier URL a atacar, ya sea con una dirección IP o dominio, un detalle muy importante, es que tendremos que tener permiso para realizar este tipo de auditoría, y hacerlo con cuidado porque podrían saltar alertas de ataque web en el IDS/IPS que tengamos configurado, y también en el mod_security de nuestro servidor Apache etc.

Tendremos la posibilidad de utilizar un spider tradicional o de Ajax, además, podremos hacer uso de los perfiles de Chrome, Firefox entre otros. Una vez que lo hayamos configurado todo, pinchamos en «Atacar» y comenzará a escanear todo el servidor web haciendo peticiones GET y POST para detectar posibles vulnerabilidades en la aplicación.

En cualquier momento podremos detener este ataque y comprobar todo lo que ha analizado. En la parte inferior es donde podremos ver toda la información. Tendremos la posibilidad de ver el histórico de ataques realizados para comprobar la seguridad, e incluso podremos atacarlo nuevamente y otras muchas opciones avanzadas.

En nuestro caso, hemos atacado el servidor web de un servidor NAS QNAP actualizado a la última versión. Podremos ver muchas peticiones GET y POST del propio servicio HTTP/HTTPS. En la parte inferior izquierda veremos todas las alertas que tenemos, pinchando en cada una de ellas podremos ver en la parte de la derecha qué tipo de vulnerabilidad o error hemos localizado, y en la parte superior veremos todo en bruto.

Dependiendo de lo que abramos en las alertas, veremos una información u otra, sería recomendable revisar todas estas alertas que nos brinda OWASP ZAP para comprobar que todo está correcto y no hay fallos de seguridad.

El spider también ha hecho su trabajo con este servidor web, realizando peticiones contra el servidor web para intentar mostrarnos todos los archivos que existen en él, también podremos ver los archivos que no existen o están fuera de alcance.

En la siguiente pantalla podéis ver el código CSS del servidor web, como se puede apreciar, encontraremos toda la información necesaria para evaluar la seguridad de nuestra aplicación web, y si tenemos denegado el acceso a diferentes partes.

Si pinchamos en «Sent Messages» podremos ver todos los POST que hemos realizado, con el código recibido, RTT y otra mucha información relacionada.

En la zona superior del programa podremos ver los diferentes menús de «Archivo», «Editar», «Ver», «Analizar», «Reporte», «Herramientas», «Import», «En línea» y «Ayuda». Este programa es realmente avanzado y nos permitirá una grandísima configurabilidad.

En el caso de QNAP, cuando detecta que alguien intenta hacer un inicio de sesión fallido en varias ocasiones, automáticamente nos meterá en la blacklist, por tanto, debemos tener muy en cuenta las protecciones de un servidor web, ya sea por el firewall L7 que tengamos configurado, el IDS/IPS que detectarán tráfico anómalo etc.

Tal y como habéis visto, OWASP ZAP es una herramienta muy avanzada para comprobar la seguridad de nuestro servidor y aplicación web, es fundamental que, cuando desarrollamos una aplicación web realicemos una auditoría de seguridad para comprobar que todo está correcto y no hay ningún fallo de seguridad que se podría explotar.