El Zed Attack Proxy (ZAP) es una herramienta libre escrita en Java proveniente del Proyecto OWASP para realizar, en primera instancia, tests de penetración en aplicaciones web aunque también puede ser usado por desarrolladores en su trabajo diario. Al día de hoy se encuentra en su versión 2.1.0 y necesita Java 7 para ejecutarse, aunque yo lo uso en Debian GNU/Linux bajo OpenJDK 7. Para los que estamos iniciando en el mundo de las seguridad en aplicaciones web, es una excelente herramienta para pulir nuestras habilidades.
Entre las muchas características de ZAP, les voy comentar las siguientes:
- Proxy de interceptación: Ideal para los que somos newbies en este campo de la seguridad, configurado de la manera correcta, permite ver todo el tráfico entre el navegador y el servidor web de turno, dejando ver de forma sencilla las cabeceras y cuerpo de los mensajes HTTP sin importar el método usado (HEAD, GET, POST, etc). Además podremos modificar el tráfico HTTP a nuestro antojo en ambas direcciones de la comunicación (entre el servidor web y el navegador).
- Spider: Es una característica que ayuda a descubrir nuevas URL’s en el sitio auditado. Una de las maneras que realiza esto es analizando el código HTML de la página para descubrir etiquetas <a> y seguir sus atributos href.
- Forced Browsing: Intenta descubrir directorios y archivos no indexados en el sitio como pueden ser páginas de inicio de sesión. Para lograrlo cuenta por defecto con una serie de diccionarios que utilizará para realizar peticiones al servidor esperando status code de respuesta 200.
- Active Scan: Genera de manera automatizada diferentes ataques web contro el sitio como CSRF, XSS, Inyección SQL entre otros.
- Y muchas otras: En realidad son muchas otras características como: Soporte para web sockets desde las versión 2.0.0, AJAX Spider, Fuzzer, y otras cuantas.
Configuración con Firefox
Podemos configurar el socket por el cual quedará escuchando ZAP si vamos a Tools -> Options -> Local Proxy. En mi caso lo tengo escuchando por el puerto 8018:
Configuración «Local proxy»
Luego abrimos las preferencias de Firefox y vamos a Avanzadas -> Red -> Configuración -> Configuración manual de proxy. Indicamos el socket que previamente configuramos en ZAP:
Configurar proxy en Firefox
Si todo ha salido bien, estaremos enviando todo nuestro tráfico HTTP hacia ZAP y este se encargará de redirigirlo como lo haría cualquier proxy. A manera de ejemplo ingreso desde el navegador a este blog y observemos qué pasa en ZAP:
Podemos ver que se han generado más de 100 mensajes HTTP (la mayoría usando el método GET) para cargar completamente la página. Como vemos en la pestaña Sites no solamente se ha generado tráfico hacía este blog, sino también hacía otra páginas. Una de ellas es Facebook y se genera por el plugin social al pie de la página «Síguenos en Facebook». También hacía Google Analytics lo que indica la presencia de dicha herramienta para el análisis y visualización de estadísticas de este blog por parte de los administradores del sitio.
Podemos también observar detalladamente cada uno de los mensajes HTTP intercambiados, veamos la respuesta que se generó por parte del servidor web de este blog cuando ingresé a la dirección http://desdelinux.net escogiendo su respectiva petición HTTP GET:
Detalle de mensaje HTTP
Observamos que se recibió un status code 301, el cual indica una redirección que va dirigida hacia https://blog.desdelinux.net/.
ZAP se convierte en una excelente alternativa completamente libre a BurpSuite para los que nos estamos iniciando en este apasionante mundo de la seguridad web, seguramente pasaremos horas y horas al frente de esta herramienta aprendiendo diferentes técnicas de hacking web, yo llevo unas cuantas. 😛
5 comentarios, deja el tuyo
Eso es algo que e tengo que poner a hacer, mas que todo para probar lo que hago.
Es bastante interesante
Esta herramienta se ve mucho más completa que el Microsoft Network Monitor. Se agradece el aporte.
Excelente, muchas gracias por la información y explicación.
Saludos.
IMHO, creo que se tendrían que dejar estas herramientas para ámbitos de seguridad, y no publicarlo en un blog de linux. Hay gente que la puede usar de manera irresponsable o inconsciente.
Las herramientas siempre van a ser herramientas de doble filo, ya que son usadas por los buenos y por los malos, lamentablemente eso no se puede evitar. OWASP ZAP es una herramienta reconocida por la comunidad EH en el ámbito de la seguridad web y se usa para auditorías web. Recuerden: «Con un gran poder viene una gran responsabilidad».
Publiqué dicha entrada porque me encuentro estudiando de manera autodidacta para ofrecer servicios de EH en un futuro y lo creí de interés para los demás lectores. El fin no es que lo usen de manera ilícita ni mucho menos, de ahí la advertencia al inicio del post.
¡Saludos!
PD1 -> :that’ssuspicious: ¿Troll detected? me queda la duda….
PD2 -> Jjajaja Por favor que esto no se vuelva un flame war de acá para abajo como en otros post.