Documentos de Académico
Documentos de Profesional
Documentos de Cultura
pentestingZAP2 PDF
pentestingZAP2 PDF
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
2. Descripcin de la prueba
Para realizar las pruebas con ZAP, usaremos la distribucin Web Security Dojo de Maven
Security. Aparte del propio ZAP, esta distribucin ofrece una serie de aplicaciones objetivo,
que nos servirn para hacer un pentesting muy sencillito que muestre las utilidades de ZAP.
Dicha distribucin se puede conseguir en la siguiente direccin:
http://www.mavensecurity.com/web_security_dojo/
Se distribuye como una mquina virtual preconfigurada, tanto como para VirtualBox como
para VMWare, por lo que su instalacin no tiene ninguna complejidad. La versin utilizada en
estas pruebas es la 1.2.
OJO: Esta distribucin tiene un montn de vulnerabilidades en sus aplicaciones objetivo, por lo
que lo ms recomendable es no conectarla a Internet, para evitar posibles ataques externos.
Como objetivo se usar Damn Vulnerable Web Application, en su versin 1.2. Esta incluye la
mayora de las vulnerabilidades ms frecuentemente encontradas en sitios web reales, con lo
que es un buen campo de pruebas para aquellos que aprender a descubrir el funcionamiento
de este tipo de vulnerabilidades para poder evitarlas a la hora de crear nuestros propios sitios.
3. Realizacin de la pruebas
Lo siguiente que deberemos hacer ser abrir el ZAP. Para ello, vamos al men Applications, y
en la seccin Tools encontraremos su acceso directo:
Una vez abierto ZAP, lo siguiente ser abrir y configurar el navegador que vayamos a utilizar.
En el caso de la distribucin Dojo, usaremos Firefox. Ahora lo que tenemos que hacer es que el
navegador utilice ZAP como proxy (de ah el nombre de Zed Attack Proxy). En esta distribucin
es muy sencillo. Al lado del botn que nos redirige a la pgina de inicio, se encuentra un men
desplegable para escoger la proxy a travs de la cul queremos que nuestro navegador
navegue, por lo que slo tenemos que seleccionar la opcin Zed Attack Proxy, y el navegador
se configurar automticamente para utilizar ZAP como proxy.
En caso de que estemos utilizando ZAP en una mquina distinta de Dojo, simplemente bastar
con seguir los pasos indicados en al gua de usuario de ZAP, accesible desde la misma
aplicacin, pulsando F1, o en el men Help->OWASP ZAP User Guide.
OJO: Al configurar ZAP como proxy, ser necesario que el ZAP est abierto para poder usar el
navegador. En caso de que no est abierto, el navegador no podr acceder a ningn sitio web,
por lo que si una vez terminadas las pruebas queremos volver a usar el navegador sin proxy,
hay que acordarse de restablecer la configuracin del navegador previa.
Una vez que tenemos abierto ZAP y configurado el navegador, lo siguiente ser crear una
nueva sesin en ZAP. Para ello, hacemos clic en el men File->New Session, o mediante el
atajo de teclado Control+N. El programa nos recordar que ya tenemos una sesin abierta
que no hemos salvado, pero dado que no hemos hecho nada, y que durante la configuracin
se nos podran haber colado datos de sitios que no nos interesan para la realizacin de estas
pruebas, podemos descartar dicha sesin sin ningn problema.
Una vez iniciada la nueva sesin, abrimos la Damn Vulnerable Web Application. Para ello,
simplemente hacemos clic en el link que aparece en la pgina de inicio del navegador
(http://localhost/). Una vez abierta, apareceremos en la pantalla de login de la aplicacin.
DVWA tiene determinados unos niveles de seguridad, que vienen a representar distintos
grados de robustez de un sitio web. Por defecto, el nivel activado cuando entramos en la
aplicacin es High. Para poder realizar la demostracin, vamos a poner el nivel de seguridad
en Low, para que no exista ningn tipo de comprobacin de seguridad y podamos probar
ataques a nuestras anchas. Para ello, en el men lateral hacemos clic en DVWA Security, lo
que nos llevar a pgina dnde podremos cambiar el nivel.
Para poner el nivel en Low, vamos a la seleccin desplegable, seleccionamos la opcin
Low, y hacemos clic en Submit. Ahora el nivel de seguridad de la aplicacin de seguridad
est puesto al mnimo y todas las vulnerabilidades de la aplicacin, expuestas.
Lo primero que podramos hacer en un sitio real sera lanzar el Spider de ZAP para explorarlo
entero. Los desarrolladores sin embargo, recomiendan primero realizar una exploracin
manual del sitio, y despus, lanzar el Spider, que nos reportar cualquier sitio que nos
hayamos podido dejar en el camino. En nuestras pruebas, en cambio, no es necesario, ya que
conocemos la estructura completa de DVWA, y podemos acceder sin problema a cualquier
parte del sitio.
DVWA tiene un gran nmero de vulnerabilidades, pero para estas pruebas slo vamos a probar
el funcionamiento de ZAP sobre una de las ms comunes, Cross Site Scripting (XSS) en su
versin reflejada.
A nivel muy bsico, podemos definir XSS como un ataque que consiste en inyectar cdigo
JavaScript en pginas web, con lo que conseguimos atacar a todo aquel que acceda a dichas
pginas modificadas. Sus dos versiones son XSS Reflected y XSS Stored, en funcin de si el
cdigo inyectado se encuentra almacenado en un sitio externo o en el propio sitio,
respectivamente.
Como podemos ver, ZAP nos da informacin sobre las peticiones que hemos enviado al sitio,
as como las respuestas que hemos recibido a dichas peticiones. Para buscar las
vulnerabilidades, hacemos clic derecho en el sitio que queremos buscarlas, y seleccionamos
Attack->Active Scan Node
Parece que ZAP ha encontrado algo! Una banderita roja aparece al lado del sitio! Para ver de
qu se trata, vamos a la seccin situada en la parte inferior derecha y seleccionamos la
pestaa Alerts, que es dnde ZAP va almacenando la informacin sobre las vulnerabilidades
que va encontrando. Como podemos ver, tambin podemos aadir nuestras propias alertas o
editar las que ya han aparecido.
Veamos la informacin de Cross Site Scripting, ya que son las que nos interesan. Para ello,
abrimos el desplegable de XSS y seleccionamos la nica que ha aparecido.
Al lado del seleccionador de alertas podemos ver la informacin de aquella que hemos
seleccionado, como su descripcin, posibles soluciones y links de referencia. En este caso,
parece ser que cuando el parmetro name de la peticin incluye cdigo JavaScript este se
ejecuta. Este parmetro es el nombre que introducimos en el formulario, as que vamos a
hacer una prueba por nosotros mismos, para probar si lo que nos dice ZAP es cierto.
Pues parece ser que ZAP tena razn, se puede inyectar cdigo en esta pgina. En DVWA no
tiene demasiada importancia, porque para eso es la aplicacin, aprender en qu consiste el
ataque XSS para poder evitarlo. Sin embargo, en un sitio web real, una vulnerabilidad de este
tipo es muy peligrosa, porque puede comprometer seriamente a todos los visitantes del
mismo. Por eso, es muy importante asegurarnos de que nuestros sitios son seguros y no
presentan estas vulnerabilidades, y como hemos visto, ZAP puede ayudarnos a detectarlas.
Lo primero que deberamos hacer es guardar la sesin actual. Esto servir para mantener
informacin sobre el estado de las vulnerabilidades de nuestro sitio, y as, poder compararlas
en un futuro, para comparar resultados entre sesiones.
Para guardar la sesin, hacemos clic en el men File->Save as. Buscamos la carpeta dnde
queramos guardar la sesin, le ponemos un nombre, y clic en Save.
Tambin podemos crear automticamente un informe en formato HTML sobre las
vulnerabilidades que han aparecido en esta sesin. Para ello, hacemos clic en Report-
>Generate HTML Report. Buscamos la carpeta en la que queremos guardar el informa,
introducimos el nombre, y hacemos clic en Save.
Si abrimos el informe, veremos algo as:
Con este informe podremos compartir la informacin sobre las vulnerabilidades del sitio con
todos aquellos que sea necesario, de una manera fcil y cmoda.
4. Conclusin
Como hemos podido ver, ZAP detecta perfectamente las vulnerabilidades de un sitio web,
ayudndonos a identificarlas y eliminarlas o aprender ms sobre ellas. Aparte de su
funcionalidad bsica de deteccin de vulnerabilidades, ofrece la posibilidad de generar
informes, e interconexin con otras aplicaciones para poder realizar anlisis ms potentes.
Esto, unido a que es un proyecto respaldado por una de las organizaciones ms importantes a
nivel de seguridad web, que se trate de una aplicacin libre, gratuita, y con un uso muy
sencillo, aparte de la existencia de una comunidad activa de desarrollo, convierten a ZAP en
una herramienta muy potente, que todo aquel que desee adentrarse o dedicarse al mundo del
pentesting, debera tener siempre muy a mano.