Como siempre mencionamos, en materia de seguridad informática, es fundamental la proactividad. Ya hemos visto cómo crear algunas herramientas básicas para auditorías, como y otras orientadas a redes como Nmap. En esta entrada veremos otra: se trata de un escáner de vulnerabilidades web basado en las incluidas en el top 10 de OWASP, la cual puede ser utilizada para auditar sitios web.
OWASP es una comunidad abierta dedicada a habilitar a las organizaciones para desarrollar, comprar y mantener aplicaciones confiables. Todas sus herramientas, documentos, foros y capítulos son gratuitos y abiertos a cualquiera interesado en mejorar la seguridad de aplicaciones.
Hoy veremos más específicamente la herramienta OWASP-ZAP (Zed Attack Proxy), que es fácil de usar para realizar pruebas de penetración, permitiendo encontrar vulnerabilidades en aplicaciones web, tanto en forma manual como con análisis automatizados.
A continuación, vemos una captura de su pantalla principal:
Podemos ver a simple vista que se encuentra dividida en tres áreas. El sector superior izquierdo irá marcando los directorios encontrados en el sitio explorado. El sector superior derecho es donde en principio se configura el target o sitio a analizar. Y el panel inferior se irá mostrando el progreso, tal como spidering (buscando directorios) y alertas entre otros.
Buscando vulnerabilidades con OWASP-ZAP, paso a paso
En primer lugar, para comenzar a ejecutar un análisis, solo hay que indicar en la ventana superior derecha la dirección URL a analizar. En este caso utilizamos una máquina virtual de metasploitable2, para llevar a cabo la prueba de concepto en un entorno controlado y, por supuesto, sin infringir la ley.
Una vez iniciado el análisis, podremos ver la pantalla como se muestra a continuación:
Como bien dijimos anteriormente, colocamos el target o sitio a analizar, tal como se muestra en el recuadro número 1. Una vez que se hace clic en el botón atacar, el análisis comienza.
En el recuadro numero 2 (sector superior izquierdo), comienza a verse el reconocimiento de secciones en el sitio web (directorios, scripts entre otros). Mientras que en el recuadro número 3, observamos el progreso del análisis.
Cabe destacar que en el recuadro 2, al lado de cada ítem encontrado, se coloca una bandera de color. Este se encuentra asociado a la criticidad de la vulnerabilidad encontrada, correspondiendo las vulnerabilidades de carácter crítico a banderas de color rojo, como es de esperar.
Otra función interesante que posee la herramienta es que en el sector inferior, en la solapa “Escaneo Activo” mientras se realiza la tarea, pueden observarse las vulnerabilidades comprobadas a través de su botón de consola. Veámoslo en la siguiente captura:
Haciendo clic en el botón “Show scan progress details”, abre una ventana como la que se muestra en la captura mostrada. Allí puede verse a la herramienta corroborando vulnerabilidades como por ejemplo Heartbleed, una inyección SQL, inyección LDAP, XSS (Cross Site Scripting) o Remote File Inclusion, entre otros.
Una vez terminado el análisis, podemos revisar las vulnerabilidades encontradas. Para esto podemos ingresar desde el sector inferior, en la solapa "Alertas". Veamos una captura de pantalla para comprenderlo gráficamente:
Como se observa en el sector “Alertas (16)”, una de las vulnerabilidades críticas encontradas es “Advanced SQL Injection – Microsoft SQL Server/Sybase time-based blind”. Haciendo doble clic sobre ella, se abre una ventana donde muestra más información sobre la misma, desde los parámetros utilizados para el ataque hasta la forma de solucionarla.
Algo fundamental que posee este escáner es la posibilidad de exportar los resultados. Esto es fundamental a la hora de importar las vulnerabilidades a otras herramientas, como también el simple hecho de guardar los resultados una vez analizado el sitio. Esto se utiliza para emitir informes ejecutivos y técnicos, y así tomar un plan de acción. Veamos el ejemplo gráfico del informe importado en formato .HTML:
La proactividad y trabajo diarios son claves a la hora de prevenir brechas de seguridad. Buscar y encontrar vulnerabilidades antes de que un atacante lo haga, permitirá tomar las medidas necesarias para la remediación de las mismas a tiempo, evitando la exposición y que se vea perjudicada la imagen de una entidad -como así también la confianza por parte de los clientes.