Saltar al contenido
Portada » Blog – Laprovittera Carlos » Introdución a OWASP ZAP

Introdución a OWASP ZAP

En este capítulo, Introdución a OWASP ZAP, aprenderás a dominar OWASP ZAP (Zed Attack Proxy), una de las herramientas más completas y potentes del ecosistema de ciberseguridad. Conocerás cómo instalarla, configurarla, integrarla con tu navegador y utilizarla para interceptar, analizar y evaluar aplicaciones web. También descubrirás su interfaz, sus modos de operación, los diferentes tipos de escaneo y cómo interpretar los resultados que genera.

Este conocimiento es esencial en la carrera de un hacker ético, ya que ZAP es una herramienta central en las auditorías de seguridad, pruebas de penetración y entornos DevSecOps. Te permitirá identificar vulnerabilidades en entornos controlados, comprender cómo fluyen los datos entre cliente y servidor, y aprender a proteger aplicaciones desde dentro. En otras palabras, dominar ZAP te da una ventaja táctica en cualquier laboratorio o pentest real.

Table of Contents

Introducción a OWASP ZAP

ZAP fue fundada en 2010 por Simon Bennetts bajo el paraguas de OWASP, una organización sin ánimo de lucro creada en 2001 para mejorar la seguridad del software. Hoy Zed Attack Proxy (ZAP) es de Checkmarx, sigue siendo una herramienta gratuita y de código abierto para pruebas de penetración. ZAP está diseñado específicamente para probar aplicaciones web y es flexible y extensible. En esencia, ZAP es lo que se conoce como un «proxy manipulador en el medio». Se interpone entre el navegador del evaluador y la aplicación web para interceptar e inspeccionar los mensajes enviados entre ambos, modificar el contenido si es necesario y luego reenviar esos paquetes a su destino. Puede utilizarse como aplicación independiente y como proceso demonio.  ZAP se puede instalar en Windows , Linux y macOS. También hay imágenes de Docker disponibles.

<ZAP es una herramienta extremadamente potente para realizar pruebas exhaustivas. Suele ser utilizada por quienes desean examinar en profundidad una aplicación web. En esta guía completa de 0 a 100 veremos la configuración, pasando por una descripción general de su interfaz principal y algunas de sus funciones. Analizaremos ZAP en comparación con Burp Suite y cómo realizar pruebas con ZAP. Aprenderás a usar sus funciones de  rastreo, escaneo pasivo y activo, y a medida que gane confianza, avanzaremos al resto de sus herramientas.    

Instalar ZAP

Lo primero que debe hacer es instalar ZAP en el sistema donde desea realizar pruebas de penetración. Descargue el instalador adecuado desde la página de descargas. Tenga en cuenta que ZAP requiere Java 17 o superior para funcionar. El instalador de macOS incluye una versión adecuada de Java, pero debe instalar Java 17 o superior por separado para las versiones de Windows, Linux y multiplataforma. Las versiones de Docker no requieren la instalación de Java. Una vez completada la instalación, inicie ZAP y lea los términos de la licencia y haga clic en «Aceptar». ZAP finalizará la instalación y se iniciará automáticamente.

Instalación de ZAP en Kali Linux

Suele venir instalado en Kali Linux, de no ser así o de estar usando otro sistema basado en Debian podes seguir estos pasos

En Linux se puede instalar fácilmente.  Antes de la instalación, siempre actualice los repositorios para asegurarse de que se instale la versión más actualizada ingresando sudo apt update—y.

Una vez terminado, puedes instalar ZAP con el comando:

sudo apt install zaproxy

En mi caso ya lo tengo instalado….

Instalación de ZAP en Windows

Descargar ZAP desde https://www.zaproxy.org/download/

 

y Java desde la web oficial de Oracle o, si quieren, desde Ninite (desde donde pueden descargar algunas utilidades más):

 

Obviamente se debe instalar primero Java que es la dependencia y luego ZAP. La instalación es como todas en Windows…. Instalar… Siguiente… Siguiente… Acepto un TOS que no leí y ahora se quedaron con mis órganos… Siguiente… Siguiente… Siguiente… Finalizar

Configurando su Proxy

No es necesario configurar un proxy como FoxyProxy para el navegador, ya que ZAP se encarga de todo esto, es mejor dejar que ZAP los ejecute. La función “Inicio del navegador” se configura automáticamente para funcionar a través de ZAP e ignorar las advertencias de certificados, lo que hace que sea mucho más fácil comenzar a usarla sin cambiar la configuración. Esto le permite comenzar rápidamente a probar aplicaciones web en busca de vulnerabilidades sin necesidad de realizar configuraciones adicionales. Simplemente inicie ZAP y estará listo para comenzar.

Sin embargo, si desea utilizar cualquiera de sus navegadores con un perfil existente, como otros complementos de navegador instalados, debe configurar manualmente su navegador para que actúe como proxy a través de ZAP e importar y confiar en el Certificado CA raíz de ZAP. 

De forma predeterminada, ZAP utiliza una dirección ‘localhost’ y un puerto ‘8080’, pero estos se pueden cambiar a través de la pantalla Opciones > Red > Servidores/Proxies locales. Instrucciones para las últimas versiones de los navegadores más utilizados:

Chrome (en Windows)

Presione elBotón «Personalizar y controlar Google Chrome» (arriba a la derecha)
Seleccione elElemento de menú ‘Opciones…’
Presione elBotón ‘Cambiar la configuración del proxy’
Presione elBotón ‘Configuración de LAN’
Sigue elSección ‘Configuración de LAN de Windows’ a continuación

Nota: Para utilizar el proxy localhost(y las direcciones relacionadas) con versiones más nuevas de Chrome (>= 72), –proxy-bypass-list=<-loopback>se debe proporcionar el argumento de la línea de comando. Hoy en Herramientas / Sistemas te redirige a la configuración de Windows.

Firefox (en Windows)

Seleccione elMenú ‘Herramientas’
Seleccione elElemento de menú ‘Opciones…’
Seleccione elPanel ‘General’
Desplácese hastaSección ‘Configuración de red’
Presione elBotón ‘Configuración…’
Seleccione elBotón de opción ‘Configuración manual del proxy’
Entrar en elCampo ‘Proxy HTTP:’ la ‘Dirección’ que configuró en la pantalla de opciones
Entrar en elEl campo «Puerto», a la derecha del campo «Proxy HTTP», corresponde al puerto que configuró en la pantalla de opciones. Asegúrese de que «Proxy SSL» también esté configurado, ya sea seleccionando «Usar este servidor proxy para todos los protocolos» o configurando los valores correspondientes.
Presione elBotón ‘Aceptar’ de configuración de conexión
Presione elOpciones del botón ‘Aceptar’

Nota: Para usar el proxy localhost(y las direcciones relacionadas) con versiones más nuevas de Firefox (>= 67), la preferencia network.proxy.allow_hijacking_localhost(accesible a través de la about:configpágina) debe estar establecida en true.

Firefox (en Linux)

Seleccione elMenú ‘Editar’
Seleccione elElemento de menú ‘Preferencias’
Sigue elInstrucciones anteriores desde el panel ‘General’

Firefox (en OS X)

Seleccione elMenú de Firefox
Seleccione elElemento de menú ‘Preferencias…’
Sigue elInstrucciones anteriores desde el panel ‘General’

Ópera

Seleccione el‘Menú’ en la esquina superior izquierda
Seleccione elElemento de menú ‘Configuración’
Seleccione elElemento de menú ‘Preferencias’
Seleccione elPestaña ‘Avanzado’
Seleccione elElemento ‘Red’ en la lista de la izquierda
Presione elBotón ‘Servidores proxy’
Seleccione elCasilla de verificación ‘HTTP’
Entrar en elcampo a la derecha de ‘HTTP’ la ‘Dirección’ que configuró en la pantalla de opciones
Entrar en elCampo ‘Puerto’ HTTP el ‘Puerto’ que configuró en la pantalla de opciones
Presione elBotón ‘Aceptar’ de servidores proxy
Presione elBotón ‘Aceptar’ de Preferencias

Safari (en OS X)

Presione elBotón ‘Configuración de Safari’ en la esquina superior derecha
Seleccione elElemento de menú ‘Preferencias’
Seleccione elPestaña ‘Avanzado’
Presione elBotón ‘Cambiar configuración’ junto a la etiqueta ‘Proxies’
Sigue elSección ‘Configuración del proxy del sistema OS X’ a continuación

Safari (en Windows)

Presione elBotón ‘Mostrar un menú de configuración general de Safari’ en la esquina superior derecha
Seleccione elElemento de menú ‘Preferencias’
Seleccione elPestaña ‘Avanzado’
Presione elBotón ‘Cambiar configuración’ junto a la etiqueta ‘Proxies’
Presione elBotón ‘Configuración de LAN’
Sigue elSección ‘Configuración de LAN de Windows’ a continuación

Configuración del proxy del sistema OS X

Seleccione el‘Proxy web (HTTP)’
Entrar en elCampo ‘Dirección:’ la ‘Dirección’ que configuró en la pantalla de opciones
Entrar en elCampo ‘Puerto’ el ‘Puerto’ que configuró en la pantalla de opciones
Presione elBotón ‘Aceptar’ de configuración de servidores proxy
Presione elBotón ‘Aplicar’ de Opciones de red

Configuración del proxy de Linux Gnome

Presione el‘Configuración de Gnome’ en la esquina superior
Seleccione elElemento ‘Red’ a la izquierda
Entrar en el‘Proxy’ en la sección ‘Proxy’
Presione elAlternar ‘Proxy de red’
Seleccionar‘Manual’ en el menú desplegable ‘Configuración’
Entrar en elCampo ‘URL’ del proxy HTTP (o HTTPs) la ‘URL’ que configuró en la pantalla de opciones
Entrar en elCampo ‘Puerto’ del proxy HTTP (o HTTPS) el ‘Puerto’ que configuró en la pantalla de opciones

Configuración de LAN de Windows

Seleccione elCasilla de verificación ‘Usar un servidor proxy para su LAN’
Entrar en elCampo ‘Dirección:’ la ‘Dirección’ que configuró en la pantalla de opciones
Entrar en elCampo ‘Puerto’ el ‘Puerto’ que configuró en la pantalla de opciones
Presione elBotón ‘Aceptar’ de configuración de red de área local (LAN)
Presione elBotón ‘Aceptar’ de Opciones de Internet

 

O con FoxyProxy para Firefox

Lo primero que debes hacer es descargar el complemento FoxyProxy .

A continuación, abrimos FoxyProxy para que podamos configurarlo. 

Desde aquí, dirígete a la pestaña de proxies e ingresa la siguiente información. 

Título : ZAP

Tipo : HTTP

Nombre de host : 127.0.0.1

Puerto : 8080

Una vez terminado, haga clic en “Guardar”.

Siempre que desee redirigir tráfico a través de ZAP, diríjase al complemento y seleccione “ZAP”.

FoxyProxy para Chrome

 

El proceso es el mismo que para Firefox. De todas formas puedes usar Firefox pre configurado desde ZAP
 

 

Y pueden habilitar HUD

 

Pero veremos todo esto en más profundidad a continuación

 

Si a pesar de todo esto por alguna (insana) razón decidieron usar su navegador deberán agregar un certificado…

 

Certificados de servidor

ZAP permite descifrar conexiones SSL de forma transparente. Para ello, ZAP debe cifrar cada solicitud antes de enviarla al servidor y descifrar cada respuesta. Sin embargo, el navegador ya realiza esta acción. Por lo tanto, la única forma de descifrar o interceptar la transmisión es mediante un intermediario.

Descripción general

En resumen, todos los datos enviados y recibidos del servidor se cifran y descifran mediante el certificado del servidor original dentro de ZAP. De esta forma, ZAP reconoce el texto plano. Para establecer una sesión protegida por SSL desde su navegador, ZAP utiliza su propio certificado. Este es el que puede crear. Todos los certificados creados por ZAP se firmarán con el mismo nombre de servidor. En el ejemplo anterior, ZAP creará un certificado para el nombre del servidor www.example.com. De esta forma, su navegador realizará el cifrado SSL habitual.

 

Instalar certificado ZAP

Si no utiliza la función de navegador integrada de ZAP, deberá configurar manualmente el certificado en su navegador. Si intenta acceder a cualquier sitio que ejecute SSL/TLS mientras utiliza su navegador fuera de ZAP, debe configurarlo para que utilice el certificado raíz de CA de ZAP para evitar advertencias de certificado. 

ZAP recomienda que inicies tu navegador a través del área de “Inicio rápido”, pero si prefieres configurar tu navegador manualmente, aquí te mustro cómo instalar el certificado. Lo instalaré en Firefox.  En primer lugar, con ZAP en ejecución y FoxyProxy habilitado para utilizar ZAP, diríjase a http://zap . Una vez allí, seleccione “Descargar” para descargar el certificado a su sistema. 

Ahora, ve a la barra de búsqueda de Firefox, escribe about:preferences y presiona Enter. Esto te llevará a la página de configuración. Busca “certificados” y encuentra la opción “Ver certificados”.

El botón “Ver certificados” permite ver todos los certificados de CA de confianza. Puede importar un nuevo certificado para ZAP presionando “Importar” y seleccionando el archivo que descargamos.

En la ventana emergente, seleccione “Confiar en esta CA para identificar sitios web” y luego haga clic en Aceptar.

Cualquier tráfico cifrado funcionará cuando el proxy ZAP esté activado, lo que nos permitirá interceptar solicitudes. Ahora que todo está configurado, en la siguiente sección, le explicaremos cómo utilizar algunas de las funciones de ZAP. ZAP tiene muchas herramientas, pero no podremos repasarlas todas aquí. Le mostraremos algunas para que pueda comenzar.  

Descripción general de ZAP

Antes de comenzar a utilizar ZAP, examinemos la interfaz principal y veremos dónde se encuentran algunas de las funciones clave. La interfaz tiene mucha información, pero recuerde que ZAP hace muchas cosas.

  1. Barra de menú : aquí puede crear y administrar sesiones, crear informes, encontrar herramientas, obtener ayuda y más. 
  2. Barra de herramientas: incluye botones que proporcionan accesos directos a las funciones más utilizadas.
  3. Ventana de árbol: muestra la vista jerárquica del sitio que está probando y el árbol de scripts. tenemos la estructura de los sitios explorados aquí va el site y los recursos cargados (CSS, JS, etc.).
  4. Ventana de inicio rápido/espacio de trabajo: esta es una forma rápida y sencilla de usar ZAP, especialmente si eres nuevo. También muestra solicitudes, respuestas y scripts que puedes editar.  Tenemos detalles de los intercambios HTTP. Esta área muestra las solicitudes enviadas y las respuestas recibidas.
  5. Ventana de información, que incluye:
  • Pestaña Historial: muestra un registro de todas las solicitudes y respuestas HTTP enviadas y recibidas a través de ZAP.
  • Pestaña de búsqueda: Esto le permite buscar entre las solicitudes y respuestas.
  • Pestaña Alertas: muestra las alertas de seguridad encontradas durante los análisis.
  • Pestaña Salida: proporciona resultados detallados de varios escaneos y procesos.
  • Podemos ver vemos el historial de solicitudes realizadas por el proxy. Aquí vemos la primera solicitud a la raíz del sitio, seguida de solicitudes sucesivas a los diversos recursos. Esta área puede contener otros tipos de datos, a través de las diversas pestañas. Las veremos más adelante
  1. Pie de página: muestra información del estado de ZAP.
  • Contador de alertas: muestra un resumen de las alertas encontradas. Está codificado por colores (como rojo, amarillo, etc.) para representar la gravedad de las alertas encontradas durante el proceso de escaneo.
  • Proxy principal: esta es la configuración de proxy principal que utiliza ZAP, que está establecida en «localhost:8080».
  • Escaneos actuales: esta sección muestra todos los escaneos que se están ejecutando actualmente, con íconos que indican su estado o progreso.

Al usar ZAP, puede hacer clic en Ayuda en la barra de menú o presionar F1 para acceder a la ayuda contextual de la Guía del usuario de ZAP Desktop.  ZAP también admite una potente API y funcionalidad de línea de comandos.

Vistas

ZAP proporciona un conjunto de vistas conectables que le permiten mostrar las solicitudes y respuestas de diferentes maneras. Las siguientes vistas están incluidas de forma predeterminada:

TextoLos datos en formato de texto
HexUna tabla que muestra la representación hexadecimal de todos los caracteres del encabezado y el cuerpo. En las pantallas editables, esto permite añadir caracteres de control mediante sus códigos hexadecimales. No se pueden añadir ni eliminar caracteres en esta vista; para ello, cambie a otra vista y luego vuelva a la vista hexadecimal.
ImagenSolo disponible para cuerpos que contienen imágenes
TableUna tabla con una fila por atributo y valor. En las pantallas editables, todos los valores se codificarán automáticamente en URL al enviarse.
Tabla (adv)Una tabla con una fila por atributo y valor, además de funciones adicionales. En las pantallas editables, los valores no se codificarán automáticamente en URL al enviarse, pero esto puede hacerse manualmente mediante la función URL Encode.
Large RequestUna vista de marcador de posición que evita que la interfaz de usuario intente cargar un cuerpo de solicitud muy grande. Deberá cambiar a otra vista para mostrar el contenido real. El umbral de la vista se puede cambiar en la pantalla Opciones de visualización .
Large ResponseUna vista de marcador de posición que evita que la interfaz de usuario intente cargar un cuerpo de respuesta muy grande. Deberá cambiar a otra vista para mostrar el contenido real. El umbral de la vista se puede cambiar en la pantalla Opciones de visualización .

La interfaz se puede personalizar mediante la barra de herramientas. Puede reorganizar los paneles o mostrar las solicitudes/respuestas una al lado de la otra para que sean más fáciles de leer. Tenga en cuenta que los complementos pueden agregar vistas adicionales.

Desde estos 3 paneles, puede acceder a la mayoría de las funciones. Para ello, deberá utilizar los distintos menús contextuales (¡clic derecho!) disponibles. Antes de analizar las diferentes funciones, hay dos cosas que tener en cuenta sobre el panel 3 Está la pestaña «Alertas», que reúne los diversos elementos descubiertos por los escáneres de ZAP. Es el equivalente a los problemas en Burp. Además, puede contener más pestañas, que se abrirán a medida que use ZAP. Finalmente, ZAP también administra Websockets . Para verlos, hay una pestaña disponible en el panel inferior:

IMPORTANTE : Solo debe usar ZAP para atacar una aplicación que tenga permiso para probar con un ataque activo. Dado que se trata de una simulación que actúa como un ataque real, se pueden producir daños reales en la funcionalidad, los datos, etc. del sitio web. Si le preocupa usar ZAP, puede evitar que cause daños (aunque su funcionalidad se reducirá significativamente) cambiando al modo seguro.

Para cambiar ZAP al modo seguro, haga clic en la flecha en el menú desplegable de modos en la barra de herramientas principal para expandir la lista desplegable y seleccionar Modo seguro. Antes de comenzar, aquí hay algunos consejos para recordar al usar ZAP.  Haga clic derecho en cualquier lugar para ver qué opciones están disponibles.

Si necesita ayuda, puede utilizar la guía de usuario completa de ZAP que se encuentra presionando F1.

Actualizar complementos

Antes de comenzar a usar ZAP, siempre debes verificar y actualizar los complementos que deban actualizarse. Presione CTRL + U o use el acceso directo de la barra de herramientas para buscar actualizaciones.

Este ícono abrirá los complementos instalados. Junto a cada complemento, puedes ver su número de versión y una breve descripción de su función. Si hay una versión más reciente de un complemento disponible, verás «Actualizar» a la derecha de la descripción. Puedes seleccionar los que quieras actualizar individualmente, pero la mejor manera es actualizar todo simultáneamente.  Seleccione cualquier complemento y “Actualizar todo” para iniciar la actualización. 

 Barra de herramientas de nivel superior

Esta barra de herramientas proporciona un conjunto de controles para las funciones más utilizadas.

Menú desplegable de modo

Esto le permite cambiar el modo actual .

Nueva sesión

Este botón es el mismo que el elemento de menú ‘Nueva sesión’ del menú Archivo .

Sesión abierta

Este botón es el mismo que el elemento de menú ‘Abrir sesión’ del menú Archivo .

Persistir sesión…

Este botón es el mismo que el elemento de menú ‘Persistir sesión…’ del menú Archivo .

Sesión de instantáneas

Este botón es el mismo que el elemento de menú ‘Sesión instantánea’ del menú Archivo .

Propiedades de la sesión…

Este botón es el mismo que el elemento de menú ‘Propiedades…’ del menú Archivo .

Cuadro de diálogo Propiedades de la sesión

Esto le permite configurar las propiedades de la sesión y se compone de las siguientes pantallas:

  • General Esto le permite establecer el nombre y la descripción de la sesión.
  • Excluir del proxy Esto le permite administrar las URL que serán ignoradas por los servidores proxy locales.
  • Excluir del escáner Esto le permite administrar las URL que el escáner ignorará.
  • Excluir de Spider Esto le permite administrar las URL que serán ignoradas por las arañas (estándar y AJAX).
  • Contextos Un conjunto de pantallas para gestionar contextos

Expresiones regulares de URL

En los cuadros de diálogo «Excluir de *» , puede introducir expresiones regulares para definir las URL excluidas. Si bien puede escapar un metacarácter con una barra invertida, también puede usar la secuencia de escape \Q…\E . Todos los

caracteres entre \Q y \ E se interpretan como literales. Por ejemplo, \Q*\d+*\E coincide con el texto literal *\d+*. Esta secuencia de escape se utiliza en ZAP al excluir URL mediante algunos menús contextuales.

Nota: Si su URL contiene «\E», debe seguir estos pasos al usar la secuencia de escape \Q…\E :

  • Abrir la secuencia de escape
  • Cierra la secuencia de escape antes del “carácter” \E
  • Escapar de la barra invertida
  • Abra después de “\E” otra secuencia de escape;
  • Cierre la secuencia de escape como lo haría normalmente.

Ejemplo: subdomain.example.com/path?a= \E &moredata=2 debería aparecer como \Qsubdomain.example.com/path?a=\E \\E \Q&moredata=2\E

Opciones…

Este botón es el mismo que el elemento de menú ‘Opciones…’ del menú Herramientas .

Restablecer valores predeterminados de fábrica : El botón «Restablecer valores de fábrica» ​​restablece todas las opciones a los valores establecidos al ejecutar ZAP por primera vez. Esto incluye restablecer el host y el puerto en los que ZAP escucha, así como la clave API. El único elemento de configuración que no cambiará es el certificado CA raíz de ZAP. Si desea cambiarlo, puede hacerlo en la pantalla «Certificados de red/servidor».

Cambiar dinámicamente la apariencia

Esto le permite cambiar dinámicamente la apariencia que define la apariencia de la interfaz de usuario de ZAP Desktop e incluye soporte para «Modos oscuros».

Mostrar todas las pestañas

Este botón revela todas las pestañas ocultas.

Ocultar pestañas no fijadas

Este botón oculta todas las pestañas desancladas. Las pestañas se pueden anclar y desanclar mediante el pequeño icono de la chincheta que se muestra al seleccionar la pestaña.

Mostrar nombres e iconos de pestañas

Este botón alterna la visualización de los nombres de las pestañas.

Expandir la pestaña Sitios

Esto cambia la visualización para que la ventana de árbol que contiene la pestaña Sitios ocupe todo el lado izquierdo. Esto reducirá el espacio disponible para la ventana de información.

Expandir pestañas de información

Esto modifica la visualización para que la ventana de información ocupe toda la parte inferior. Esto reducirá el espacio disponible para la ventana de árbol.

Diseño completo

Esto cambia la visualización para que la pestaña seleccionada ocupe toda la pantalla. Esto es útil al usar ZAP en pantallas pequeñas.

Pestañas de solicitud y respuesta una al lado de la otra

Esto cambia la visualización para que las pestañas de solicitud y respuesta estén una al lado de la otra. Esto aumenta la información que se puede mostrar, pero significa que no se pueden ver la solicitud y la respuesta al mismo tiempo.

Paneles de solicitud y respuesta uno al lado del otro en la misma pestaña

Esto cambia la visualización para que los paneles de solicitud y respuesta se muestren uno junto al otro en la misma pestaña. Esto reduce la información que se puede mostrar, pero permite ver tanto la solicitud como la respuesta al mismo tiempo.

Solicitud mostrada arriba Respuesta

Esto cambia la visualización para que el panel de solicitud se muestre encima del panel de respuesta. Esto reduce la información que se puede mostrar, pero permite ver tanto la solicitud como la respuesta simultáneamente.

Paneles de solicitud y respuesta uno al lado del otro

Esto cambia la visualización para que el panel de solicitud se muestre a la izquierda del panel de respuesta. Esto reduce la información que se puede mostrar, pero permite ver tanto la solicitud como la respuesta al mismo tiempo.

Administrar complementos

Aquí se muestra el cuadro de diálogo «Administrar complementos» , que permite descubrir, instalar y actualizar complementos desde la tienda en línea. También permite desinstalarlos.

Buscar actualizaciones

Esto abrirá los complementos instalados. Junto a cada complemento, puedes ver su número de versión y una breve descripción de su función. 

Establecer / Desactivar interrupción en todas las solicitudes y respuestas

Esto activa y desactiva un punto de interrupción global que capturará y mostrará la siguiente solicitud o respuesta en la pestaña Interrupción . Puede modificar cualquier parte de la solicitud o respuesta y enviarla a la aplicación de destino pulsando los botones «Paso» o «Continuar». También puede pulsar el botón «Eliminar» para descartar la solicitud o respuesta. Puede alternar entre un botón de interrupción combinado y otros para solicitudes y respuestas mediante la pantalla de opciones de puntos de interrupción.

Establecer / Desactivar interrupción en todas las solicitudes

Esto activa y desactiva un punto de interrupción global que capturará y mostrará la siguiente solicitud en la pestaña Interrupciones . Puede modificar cualquier parte de la solicitud y enviarla a la aplicación de destino pulsando los botones «Paso» o «Continuar». También puede pulsar el botón «Eliminar» para descartar la solicitud. Puede alternar entre un botón de interrupción combinado y otros separados para solicitudes y respuestas mediante la pantalla de opciones de puntos de interrupción.

Establecer / Desactivar interrupción en todas las respuestas

Esto activa y desactiva un punto de interrupción global que capturará y mostrará la siguiente respuesta en la pestaña Interrupciones . Puede modificar cualquier parte de la respuesta que desee y enviarla a su navegador pulsando los botones «Paso» o «Continuar». También puede pulsar el botón «Eliminar» para descartar la solicitud. Puede alternar entre un único botón de interrupción «combinado» y botones separados para solicitudes y respuestas mediante la pantalla de opciones de puntos de interrupción.

Paso

Esto permite que la solicitud o respuesta interceptada continúe en la aplicación o el navegador con cualquier cambio realizado. El punto de interrupción «global» permanecerá establecido para que la siguiente solicitud o respuesta también se intercepte. Este botón solo está habilitado cuando una solicitud o respuesta está interceptada.

Continuar

El punto de interrupción «global» se desactivará para que ZAP ya no detecte las solicitudes y respuestas posteriores, a menos que se hayan establecido puntos de interrupción en URL específicas. Este botón solo se activa cuando se intercepta una solicitud o respuesta.

Gota

Esto descarta la solicitud o respuesta atrapada para que no se transmita a la aplicación ni al navegador. Este botón solo está habilitado cuando una solicitud o respuesta está atrapada.

Agregar un punto de interrupción HTTP personalizado

Esto muestra el cuadro de diálogo Agregar punto de interrupción que le permite especificar los criterios para un punto de interrupción .

Administrador de políticas de escaneo…

Muestra el cuadro de diálogo Administrador de políticas de escaneo que permite configurar políticas de escaneo .

Modo de usuario forzado activado/desactivado

Esto activa y desactiva el modo de usuario forzado. El botón solo se activa cuando se ha definido un usuario forzado para al menos un contexto , lo cual se puede hacer mediante el cuadro de diálogo Contextos de sesión . Tenga en cuenta que los complementos pueden agregar botones adicionales.

Revelar

Permite mostrar campos ocultos y habilitar campos deshabilitados.

/ 

(Desactivar) Mostrar/habilitar campos

Cuando se selecciona, este botón hace que se muestren los campos ocultos y se habiliten los campos deshabilitados.

Menú de nivel superior

De forma predeterminada, estarán presentes los siguientes elementos del menú de nivel superior:

Menú de archivoEsto maneja la sesión actual
Menú de ediciónEsto maneja la búsqueda de cadenas en pestañas específicas, la búsqueda de cadenas en todas las solicitudes y respuestas, el cambio del modo de ZAP y la administración del modo de usuario forzado.
Ver menúEsto maneja las opciones de visualización.
Analizar menúEsto maneja las políticas de escaneo
Menú de informesEste maneja los informes
Menú de herramientasEste maneja las herramientas y opciones generales.
Menú de importaciónEsto da acceso a menús que permiten importar datos a ZAP.
Menú en líneaEsto da acceso a un conjunto de recursos en línea.
Menú de ayudaEsto da acceso al cuadro de diálogo «acerca de» y al archivo de ayuda.

Tenga en cuenta que los complementos pueden agregar elementos de menú adicionales.

El menú Archivo

Este menú gestiona la sesión actual. Por defecto, estarán presentes los siguientes elementos: 

Nueva sesión: Esto crea una nueva sesión. Si no ha guardado la sesión actual, se mostrará una advertencia. Si inicia una nueva sesión sin guardarla, perderá todos los datos de la sesión actual.

  • Sesión abierta… Esto abre una sesión previamente guardada. Si se abre una sesión sin guardar la sesión actual, se perderán todos los datos de la misma.
  • Abrir reciente: Una lista de archivos a los que se ha accedido recientemente.
  • Persistir sesión… Esto conserva la sesión actual. Aunque la sesión siempre se almacena en una base de datos en el disco, se perderá al detener ZAP a menos que se haya conservado. Solo necesita conservarla una vez; después, se guardarán todos los cambios.
  • Sesión de instantáneas como… Esto guarda una instantánea de una sesión ya persistente. Sugerirá el mismo nombre de archivo que la sesión persistente con una cadena de fecha y hora adjunta, y permitirá al usuario configurar el nombre que desee.
  • Propiedades de la sesión… Se abre el cuadro de diálogo «Propiedades de la sesión» . Permite configurar el nombre y la descripción de la sesión.
  • Importar contexto… Permite importar un Contexto .
  • Contexto de exportación… Permite exportar un Contexto.
  • Cargar archivo complementario… Cargar un archivo de complemento local. Los complementos se suelen instalar desde el cuadro de diálogo «Administrar complementos» , pero esta opción puede ser útil si has descargado un complemento manualmente o estás probando uno desarrollado por ti mismo. Los complementos permanecen instalados hasta que los desinstales manualmente.
  • Salir y eliminar sesión… Esto cerrará ZAP y eliminará la sesión, incluso si la habías mantenido previamente. La sesión dejará de ser accesible al reiniciar ZAP, aunque las instantáneas que hayas tomado seguirán disponibles. Se mostrará un cuadro de advertencia para confirmar que realmente querías seleccionar esta opción.
  • Salida Esto cerrará ZAP. Si no ha guardado la sesión actual, podrá hacerlo.

El menú Editar

Este menú maneja la búsqueda de cadenas en pestañas específicas, la búsqueda de cadenas en todas las solicitudes y respuestas, el cambio del modo de ZAP y la administración del modo de usuario forzado. 

  • Modo ZAP Esto le permite cambiar el modo actual .
  • Encontrar… Esto abre el cuadro de diálogo Buscar , que le permite encontrar una cadena en la ventana seleccionada actualmente.
  • Buscar… Este submenú facilita el acceso a los siguientes elementos:
  • Buscar… Esto selecciona la pestaña Buscar , que le permite buscar expresiones regulares en todas las URL, solicitudes y respuestas.
  • Siguiente resultado Esto selecciona la siguiente ocurrencia de la última cadena buscada. El mensaje correspondiente se seleccionará en la pestaña Buscar y la cadena se mostrará y resaltará en la pestaña Solicitud o Respuesta , según corresponda.
  • Resultado anterior Esto selecciona la última ocurrencia de la cadena buscada. El mensaje correspondiente se seleccionará en la pestaña Buscar y la cadena se mostrará y resaltará en la pestaña Solicitud o Respuesta , según corresponda.
  • Habilitar/Deshabilitar el modo de usuario forzado Esto activa y desactiva el modo de usuario forzado . Esta opción solo se habilita al definir un usuario forzado para al menos un contexto , lo cual se puede hacer mediante el cuadro de diálogo Contextos de sesión .

El menú Ver

Este menú maneja las opciones de visualización. 

  • Habilitar imagen en el historial Si se selecciona, las imágenes se mostrarán en la pestaña Historial .
  • Mostrar pestaña Esto le permite mostrar cualquiera de las pestañas disponibles, incluidas aquellas que haya ocultado.
  • Mostrar todas las pestañas Esto le permite mostrar todas las pestañas.
  • Ocultar pestañas no fijadas Esto le permite ocultar todas las pestañas que no están ancladas.
  • Fijar todas las pestañas visibles Esto le permite anclar todas las pestañas visibles.
  • Desanclar todas las pestañas Esto le permite desanclar todas las pestañas.

El menú Analizar

Este menú maneja la política de escaneo. Las opciones de araña y escaneo que estaban en este menú en una versión anterior ahora están disponibles a través del menú «Clic derecho» de la pestaña Sitios . 

Administrador de políticas de escaneo… Esto muestra el cuadro de diálogo Administrador de políticas de escaneo .

El menú Informe

Este menú maneja los informes.

Comparar con otra sesión… Se le solicitará una sesión ZAP previamente guardada. A continuación, se le solicitará un archivo de salida con todas las URL a las que se accedió en la sesión actual y en la sesión seleccionada para compararla. El archivo contendrá una tabla con las URL y las respuestas HTTP correspondientes a las URL de las dos sesiones. Los botones de JavaScript permiten mostrar todas las URL: solo las accedidas en la primera sesión, la segunda sesión y las accedidas en  ambas. Esto es especialmente útil para comparar dos sesiones que acceden a la misma aplicación con diferentes usuarios. Podrá ver qué URL son visibles para los usuarios e intentar acceder a todas ellas al iniciar sesión con cualquiera de ellos.

El menú Herramientas

Este menú maneja las herramientas y opciones generales.

El menú Importar

Esto da acceso a menús que permiten importar datos a ZAP.

El menú Exportar

Esto da acceso a menús que permiten exportar datos a ZAP.

El menú en línea

Este menú da acceso a un conjunto de recursos en línea. Estos enlaces pueden estar deshabilitados si Java no admite la apertura de URL en un navegador en su plataforma.

El menú de ayuda

Este menú da acceso al cuadro de diálogo ‘acerca de’ y a al archivo de ayuda.

  • Acerca de ZAP Esto mostró el cuadro de diálogo «acerca de».
  • Información de soporte… Muestra un cuadro de diálogo con información útil para solucionar problemas o buscar soporte. Por ejemplo, la versión, los complementos y versiones instalados, el sistema operativo, la versión de Java, la configuración regional y la ruta del directorio principal de ZAP. Esta información se puede copiar y pegar. El cuadro de diálogo incluye un botón «Abrir ZAP Home» que, si el sistema operativo admite la funcionalidad necesaria, abrirá el directorio principal de ZAP (para registros o archivos de configuración) al hacer clic. El cuadro de diálogo incluye un botón «Guardar SBOM zip…» que le solicitará el nombre de un archivo zip que se generará con todos los archivos SBOM disponibles .
  • Buscar actualizaciones… Esto verifica si está ejecutando la última versión de ZAP.
  • Guía del usuario de Desktop ZAP Muestra este archivo de ayuda.

Opciones Pantalla de búsqueda de actualizaciones

Esta pantalla le permite configurar si ZAP verifica si está ejecutando la última versión cuando se inicia y, de ser así, qué hace.

Buscar actualizaciones al iniciar

  • Si se selecciona, ZAP buscará automáticamente actualizaciones para toda la aplicación y todos los complementos al iniciarse.
  • Se recomienda encarecidamente que marque esta casilla.
  • Si por alguna razón no lo hace, debería buscar actualizaciones manualmente con frecuencia.
  • ZAP solo realizará una solicitud y la única información que incluirá será la versión actual que esté utilizando.

Descargue automáticamente nuevas versiones de ZAP.

Si se selecciona, ZAP descargará automáticamente nuevas versiones de ZAP cuando estén disponibles y le solicitará que las instale.

Instalar automáticamente actualizaciones de los complementos que tengas instalados.

Si se selecciona, ZAP descargará e instalará automáticamente cualquier actualización de los complementos que haya instalado.

Instalar automáticamente actualizaciones de las reglas de escaneo que haya instalado.

  • Si se selecciona, ZAP descargará e instalará automáticamente las actualizaciones de las reglas de análisis que haya instalado.
  • Estas son solo una parte del conjunto completo de complementos instalados.

Informar sobre nuevos complementos de estado de lanzamiento.

  • Si lo selecciona, ZAP le informará si algún complemento pasa a estado de lanzamiento y cuándo.
  • Estos complementos se han probado y revisado exhaustivamente, por lo que puede estar seguro de que son de la más alta calidad.

Informar sobre nuevos complementos de estado Beta.

  • Si lo selecciona, ZAP le informará si algún complemento pasa a la fase beta y cuándo.
  • Estos complementos se han probado y revisado, y se consideran de buen estado y, en su mayoría, aptos para su propósito.
  • Sin embargo, podrían estar incompletos o necesitar más pruebas.
  • Algunos de los complementos incluidos con ZAP por defecto aún se encuentran en fase beta.

Informar sobre nuevos complementos de estado Alfa.

  • Si la selecciona, ZAP le informará si se añaden nuevos complementos en fase alfa y cuándo.
  • Estos complementos ya se han revisado, pero suelen estar en una fase inicial de desarrollo.
  • Pueden estar incompletos, contener errores importantes o causar problemas de estabilidad.

Directorios complementarios

  • ZAP cargará todos los complementos desde los directorios predeterminadosplugin .
  • También puede agregar tantos directorios de complementos adicionales como necesite añadiéndolos aquí.
  • Esto puede ser muy útil al ejecutar varias instancias de ZAP en una misma máquina, por ejemplo, en un entorno de integración continua (CI).
  • De esta forma, puede descargar complementos nuevos o actualizados una sola vez y compartirlos inmediatamente entre varias instancias.
  • Los complementos descargados en directorios compartidos solo se añadirán a las nuevas instancias de ZAP, no a las que ya se estén ejecutando, a excepción de la instancia que los descargó.

Directorio de descargas

  • Este es el directorio donde ZAP descargará los complementos nuevos o actualizados.
  • Por defecto, será el directorio local, pero también puede elegir uno de los directorios compartidos siempre que esta instancia de ZAP pueda escribir en él.
  • ZAP solo moverá los complementos a un directorio compartido después de que se hayan descargado por completo, para que otras instancias de ZAP no intenten cargar un complemento incompleto.

Opciones de Teclado

Esta pantalla le permite configurar atajos de teclado para todos los menús de ZAP. Al hacer clic en cualquiera de las filas de la tabla, aparecerá un cuadro de diálogo que le permitirá cambiar los atajos de teclado.

Hoja de trucos de ‘Acción’

Al hacer clic en este botón, se generará una página HTML con todos los atajos de teclado ordenados por acción. Este botón solo está disponible si la API está habilitada y su sistema operativo admite la apertura de URL en un navegador.

Hoja de trucos de ‘Key’

Al hacer clic en este botón, se generará una página HTML con todos los atajos de teclado ordenados por tecla. Este botón solo está disponible si la API está habilitada y su sistema operativo admite la apertura de URL en un navegador.

Reiniciar

Al hacer clic en este botón, se restablecerán todos los accesos directos a sus valores predeterminados.

Pantalla de opciones de idioma

La pantalla de idioma le permite configurar:

Selección de idioma

El idioma que ZAP usa para su visualización. ZAP incluye varios idiomas, pero podría haber más disponibles después de la última versión. Consulta la página de descarga de ZAP para ver el paquete de idiomas más reciente.

Utilice la configuración regional del sistema para formatear

Si el formato de números, fechas y horas se realiza con la configuración regional del sistema en lugar de la configuración regional del idioma seleccionado.

Importación de paquetes de idioma

Además de seleccionar el idioma de visualización de ZAP, la herramienta de importación permite importar nuevos paquetes de idioma o actualizaciones de archivos de idioma. Un paquete de idioma siempre tendrá la extensión zaplang (p. ej., language-pack-en_GB.zaplang). Tras la importación, podrá seleccionar inmediatamente el idioma recién importado en el menú desplegable de selección de idioma en la parte superior de la pantalla. Tenga en cuenta que deberá reiniciar ZAP para aplicar el nuevo idioma.

Pantalla de búsqueda de opciones

Esta pantalla le permite configurar las opciones de búsqueda:

Los resultados máximos se muestran en la pestaña «Buscar»

Permite establecer el número máximo de resultados que se deben mostrar en la pestaña Buscar .

Pestaña de búsqueda

La pestaña Buscar le permite buscar expresiones regulares en todas las URL, solicitudes, respuestas, encabezados y otras funcionalidades proporcionadas por los complementos. Ingrese la expresión regular que desea buscar en el cuadro de búsqueda y presione Enter o haga clic en el botón de búsqueda: 

Pestaña de búsqueda

La pestaña Buscar le permite buscar expresiones regulares en todas las URL, solicitudes, respuestas, encabezados y otras funcionalidades proporcionadas por los complementos. Ingrese la expresión regular que desea buscar en el cuadro de búsqueda y presione Enter o haga clic en el botón de búsqueda: 

Un menú desplegable le permite elegir si desea buscar en las URL, las solicitudes, las respuestas o en todo. Todas las URL, solicitudes o respuestas que contengan el patrón de búsqueda se mostrarán en la pestaña. Puede resultarle útil agregar .* a su término de búsqueda: esto le brindará más contexto, por ejemplo, contraseña.*

Puede utilizar los botones 

Siguiente y 

Anterior para ver los términos de búsqueda encontrados en las pestañas Solicitud y Respuesta . También puede ir directamente a una instancia específica haciendo clic en la línea correspondiente en la lista de resultados.

Menú de clic derecho

Al hacer clic derecho en un nodo aparecerá un menú que le permitirá:

  • Ataque El menú Ataque tiene los siguientes submenús:
  • Escaneo activo… Esto iniciará el cuadro de diálogo Escaneo activo que le permite iniciar un escaneo activo con el punto de inicio establecido en la solicitud que seleccionó.
  • Araña… Esto iniciará el cuadro de diálogo Spider, que le permitirá iniciar el spider con el punto de inicio establecido en la solicitud que seleccionó.
  • Incluir en contexto Este menú le permite incluir los nodos seleccionados y todos sus subordinados en el contexto especificado . También puede crear un nuevo contexto. Se mostrará el cuadro de diálogo Contextos de sesión para que pueda realizar cambios adicionales.
  • Excluir del contexto Este menú permite excluir los nodos seleccionados y todos sus subordinados del contexto especificado . Se mostrará el cuadro de diálogo Contextos de sesión para que pueda realizar cambios adicionales.
  • Marcar como contexto Este menú tiene los siguientes submenús para cada uno de los contextos que haya definido:
  • Nombre del contexto Solicitud de inicio de sesión de autenticación basada en formulario Esto identifica el nodo especificado como una solicitud de inicio de sesión para el contexto especificado. Solo se puede tener un nodo identificado como tal en cada contexto. Se mostrará la pantalla «Autenticación del contexto de sesión» para que pueda realizar cambios adicionales.
  • Nombre de contexto Solicitud de inicio de sesión de autenticación basada en JSON Esto identifica el nodo especificado como una solicitud de inicio de sesión para el contexto especificado. Solo se puede tener un nodo identificado como tal en cada contexto. Se mostrará la pantalla «Autenticación del contexto de sesión» para que pueda realizar cambios adicionales.
  • Nombre del contexto Nodo controlado por datos Esto identifica el nodo especificado como contenido basado en datos para el contexto especificado. Se mostrará la pantalla «Estructura del contexto de la sesión» para que pueda realizar cambios adicionales.
  • Excluir de Este menú tiene los siguientes submenús:
  • Apoderado Esto excluirá los nodos seleccionados del proxy. Seguirán siendo proxyizados mediante ZAP, pero no se mostrarán en ninguna de las pestañas. Esto permite ignorar las URL que no son relevantes para el sistema que se está probando. Los nodos se pueden volver a incluir mediante el cuadro de diálogo Propiedades de la sesión .
  • Escáner Esto evitará que los nodos seleccionados se escaneen activamente. Los nodos se pueden volver a incluir mediante el cuadro de diálogo Propiedades de la sesión .
  • Araña Esto evitará que los nodos seleccionados sean rastreados. Los nodos pueden volver a incluirse mediante el cuadro de diálogo Propiedades de la sesión .
  • Nueva alerta… Esto abrirá el cuadro de diálogo Agregar alerta , que le permitirá registrar manualmente una nueva alerta para esta solicitud.
  • Mostrar en la pestaña Historial Esto mostrará el nodo seleccionado en la pestaña Historial .
  • Mostrar en la pestaña Sitios Esto mostrará el mensaje seleccionado en la pestaña Sitios .
  • Abrir URL en el navegador Esto abrirá la URL del nodo seleccionado en su navegador predeterminado.

Pie de página

Este pie de página muestra los recuentos de las alertas Alta, Media, Baja e Informativa, y los recuentos de los análisis activos y de araña actualmente activos.

También puede contener contadores para otras herramientas o proporcionados por complementos.

Funciones avanzadas de escritorio

El escritorio tiene una gran cantidad de características que no son inmediatamente evidentes para que los nuevos usuarios no se sientan abrumados. Hay muchas pestañas que no se muestran por defecto. Se puede acceder a ellas mediante las pestañas de la derecha con el icono «+» verde. Puedes anclar las pestañas que quieras que aparezcan siempre haciendo clic derecho sobre ellas. Muchas de las pestañas ocultas por defecto aparecerán cuando sea necesario. Por ejemplo, la pestaña Websockets aparecerá si una aplicación que estés utilizando como proxy a través de ZAP empieza a usar Websockets.

El escritorio también hace un uso intensivo de las opciones de clic derecho sensibles al contexto, así que haga clic derecho en todas partes mientras se acostumbra a la interfaz de usuario.

Consejos y trucos

Este complemento añade un elemento de menú de «ayuda» que muestra consejos y trucos útiles de ZAP. Los consejos también se muestran en la pantalla de inicio al iniciar.

Lista completa de consejos

  • Agregue su aplicación de destino a un contexto usando el menú de «clic derecho»: «Incluir en contexto».
  • Esto le permite informar a ZAP más sobre el destino, como la autenticación, los usuarios y la tecnología que utiliza.
  • Haga clic en el icono del «engranaje» en el lado derecho de muchas pestañas para acceder rápidamente a la configuración de esa función.
  • Compatibilidad con Docker
  • ¿Su aplicación utiliza tokens anti-CSRF? Asegúrese de haber configurado ZAP para gestionarlos a través de la pantalla «Opciones / Análisis activo».
  • Si obtiene demasiados falsos positivos, intente cambiar el umbral de esa regla de análisis a Alto
  • También puede informarnos del problema a través del Grupo de usuarios de ZAP o de Problemas para que podamos investigarlo; ambos están vinculados desde el menú «En línea».
  • Instale el complemento Retire desde ZAP Marketplace para detectar versiones inseguras de bibliotecas JavaScript utilizando la base de datos de Retire.js.
  • Instale el complemento SAML desde ZAP Marketplace para detectar, mostrar, editar y realizar pruebas de fuzzing en las solicitudes SAML.
  • Instale el complemento accessControl desde ZAP Marketplace para automatizar las pruebas del control de acceso de su aplicación.
  • Instale las reglas de escaneo activo y pasivo beta para encontrar más problemas potenciales.
  • También existen reglas de escaneo activo y pasivo alfa, pero obviamente pueden ser menos estables.
  • Instale el complemento de secuencia desde ZAP Marketplace para escanear las páginas que deben visitarse en un orden específico para que se pueda acceder a la funcionalidad completa.
  • Indicador de navegación manual: las páginas encontradas por las arañas y el navegador forzado se marcan en el árbol de Sitios con el icono correspondiente. Este icono desaparece cuando visita esa página manualmente.
  • ¿Es nuevo en ZAP? Descargue la guía «Introducción a ZAP» desde ZAP Marketplace
  • Las solicitudes POST tienen un menú de clic derecho para generar un formulario de prueba anti CSRF
  • Clic derecho en todas partes.
  • Resalte el texto y haga clic derecho en él.
  • Gran parte de la funcionalidad de ZAP es sensible al contexto, por lo que se accede mejor de esta manera
  • Guarde su sesión ZAP al comienzo de una prueba en lugar de al final. La sesión se almacena en una base de datos que se actualizará constantemente, por lo que no tendrá que volver a guardarla.
  • El botón de la bombilla «Mostrar/habilitar» campos en la barra de herramientas principal hará visibles los campos ocultos y le permitirá editar los campos deshabilitados.
  • La pestaña Buscar le permite encontrar cadenas en los resultados de Fuzz; admite expresiones regulares y coincidencia inversa.
  • La mayoría de las pestañas de ZAP ahora están ocultas de forma predeterminada para que la interfaz de usuario esté más ordenada.
  • Puede mostrar y ocultar todas las pestañas mediante los botones de la barra de herramientas principal.
  • También puede anclar cualquier pestaña que desee para que permanezca visible incluso después de reiniciar.
  • Hay una gran cantidad de archivos de fuzzing disponibles en ZAP Marketplace en los complementos «Lista de directorios *», «Archivos Fuzzdb» y «Archivos SVN Digger».
  • Hay muchos recursos vinculados desde el menú «En línea», incluyendo la página de inicio de ZAP y los grupos de usuarios y desarrolladores.
  • Hay un repositorio de scripts de ZAP en  https://github.com/zaproxy/community-scripts
  • Si clonas una copia local, puedes añadirlas todas a ZAP a través del panel de opciones de scripts.
  • También puedes subir tus propios scripts a través de solicitudes de extracción: ¡cuantos más, mejor!
  • Prueba diferentes diseños de interfaz de usuario a través de los botones de la barra de herramientas principal.
  • Usa atajos de teclado para acelerar tus pruebas; puedes definir tus propias combinaciones a través de «Opciones / Teclado», que también genera hojas de trucos de atajos imprimibles.
  • ¿Quieres charlar con alguien sobre ZAP? El equipo central de ZAP se reúne en Slack: https://zaproxy.slack.com (  https://www.zaproxy.org/slack/invite )
  • ¿Quieres crear scripts de ZAP en un lenguaje de scripting que no sea Java Script ni Zest?
  • Consulta el ZAP Marketplace para otros lenguajes como Python y Ruby
  • Si su lenguaje de scripting preferido aún no está disponible, contáctenos; es bastante fácil agregar compatibilidad con otros lenguajes.
  • Puede cambiar el resaltado de sintaxis utilizado para las pestañas Solicitud, Respuesta y Consola de scripts mediante los menús «Sintaxis» con el botón derecho del ratón.
  • Puede comparar 2 solicitudes o respuestas seleccionándolas, haciendo clic derecho y seleccionando uno de los elementos del menú «Comparar 2…».
  • Puede exportar todas las URL registradas por ZAP utilizando el menú de nivel superior: «Informe / Exportar todas las URL a un archivo…»
  • Puede importar URL contenidas en un archivo de texto utilizando el complemento importurls disponible en ZAP Marketplace.
  • Puede invocar herramientas de terceros como sqlmap y nmap desde ZAP, pasando una amplia gama de información contextual.
  • Simplemente configure las aplicaciones que desea invocar en la pantalla «Opciones / Aplicaciones».
  • Puede reordenar las columnas de la tabla arrastrándolas y soltándolas.
  • También puede seleccionar qué columnas se muestran mediante el icono justo encima de la barra de desplazamiento en el lado derecho de cada tabla
  • Puede buscar texto en cualquier área de texto, incluidas las pestañas Solicitud y Respuesta, utilizando el menú ‘Buscar…’ con el botón derecho del ratón.
  • Puede indicar a ZAP que acceda a una aplicación utilizando un usuario específico.
  • Para ello, debe añadir su aplicación a un contexto y luego definir la autenticación y los detalles del usuario.
  • Puede indicar a ZAP que cargue todos los scripts en un conjunto de directorios a través de la página de opciones de scripts.
  • Consulte la ayuda para obtener detalles sobre la estructura de directorios.
  • ZAP puede buscar actualizaciones automáticamente: actívelo a través de la pantalla ‘Opciones / Buscar actualizaciones’
  • Si no quieres que suceda automáticamente, asegúrate de buscar actualizaciones manualmente con frecuencia a través del botón «Administrar complementos» de la barra de herramientas principal, ya que continuamente añadimos nuevas funciones y solucionamos problemas.
  • ZAP puede mostrar, interceptar e incluso analizar los mensajes del lado del cliente, incluyendo los mensajes posteriores: haz clic con el botón derecho en un subárbol del árbol Sitios y selecciona un submenú adecuado en «Monitorear clientes».
  • Fuerza la actualización del navegador y tus páginas abiertas se mostrarán en la pestaña «Clientes» junto con todos los mensajes del lado del cliente que generen
  • ZAP tiene páginas de ayuda completas accesibles a través del menú ‘Ayuda / Guía del usuario de ZAP’.
  • La tecla F1 también mostrará las páginas de ayuda y te llevará directamente a la sección correspondiente a la pestaña seleccionada.
  • Los scripts de Zest son una excelente manera de automatizar tareas.
  • Zest es el lenguaje gráfico de macros de ZAP, pero proporciona funciones de programación como condicionales y bucles.
  • Usa el botón ‘Grabar un nuevo script de Zest…’ en la barra de herramientas principal para grabar rápidamente un nuevo script de Zest.
  • También puedes hacer clic derecho en las solicitudes para agregarlas a los scripts de Zest.

En resumen

En este capítulo vimos una introducción al origen de OWASP ZAP, su propósito como herramienta gratuita y de código abierto, y su papel dentro de la comunidad OWASP. A continuación, se detalla el proceso de instalación en distintos sistemas operativos (Windows, Linux, macOS y Docker), destacando la dependencia de Java 17 o superior.

Después vimos cómo configurar el proxy, tanto desde ZAP directamente como mediante extensiones de navegador como FoxyProxy, para interceptar y analizar el tráfico HTTP y HTTPS. Se enseña además a importar el certificado raíz de ZAP en el navegador para evitar advertencias SSL y poder inspeccionar tráfico cifrado sin problemas.

Posteriormente, exploramos la interfaz principal de ZAP, describiendo cada panel: la barra de menú, la barra de herramientas, el árbol de sitios, las pestañas de información (historial, alertas, búsqueda, salida), el pie de página y el área de trabajo. Se explican las vistas disponibles (texto, hexadecimal, imagen, tabla, etc.) y cómo personalizar la interfaz.

Profundizamos en los modos de uso (seguro, protegido, ataque, etc.), el gestor de sesiones, los complementos, las opciones de idioma y teclado, y los menús contextuales que permiten ejecutar ataques, rastreos y exclusiones sobre objetivos específicos. Se destaca también la potente capacidad de actualización y expansión de ZAP mediante su Marketplace, donde se pueden instalar complementos para SAML, CSRF, fuzzing o escaneo avanzado.

Finalmente, vimos una lista de consejos y trucos para optimizar su uso, automatizar tareas con scripts (como Zest o Python), y buenas prácticas para evitar falsos positivos o daños en entornos no autorizados. Todo culmina con la reflexión sobre el rol de ZAP dentro de los flujos de trabajo DevSecOps, como una herramienta que integra seguridad en las fases tempranas del desarrollo.

Herramientas OWASP ZAP (Zed Attack Proxy)

|

|__ Introducción y Fundamentos

|   |__ Definición: Proxy Manipulador en el Medio

|   |__ Organización: OWASP (Código Abierto y Gratuito)

|   |__ Red: Profesional, Auditorías, Pentesting, DevSecOps

|   |__ Versión: Estable: Identificar Vulnerabilidades y Flujo de Datos

|

|__ Instalación y Requisitos

|   |__ Dependencia Clave: Java 11 o superior

|   |__ Sistemas Operativos: Windows, Linux, macOS

|   |__ Alternativa: Imágenes de Docker

|   |__ Ejemplo en Kali: sudo apt install zaproxy

|

|__ Configuración de Red y Certificados

|   |

|   |__ Configuración de Proxy

|   |   |__ Predeterminado: localhost:8080

|   |   |__ Modo Sencillo: Función Inicio del Navegador (Automático)

|   |   |__ Modo Manual: Ajustar Navegadores (Chrome, Firefox, Opera)

|   |   |__ Flujo de Cumplimiento: FoxyProxy

|   |

|   |__ Instalación de Certificado CA Raíz

|       |__ Propósito: Descifrar Conexiones SSL/TLS

|       |__ Proceso: Descargar e Importar Certificado para Evitar Advertencias

|

|__ Interfaz Principal y Componentes

|   |

|   |__ Barra de Menú y Barra de Herramientas

|   |

|   |__ Ventana de Árbol (Sitios): Vista Jerárquica del Sitio

|   |

|   |__ Ventana de Trabajo: Solicitudes y Respuestas HTTP (Editadas)

|   |

|   |__ Ventana de Información (Pestañas Inferiores)

|       |__ Historial: Registro de Solicitudes/Respuestas

|       |__ Alertas: Vulnerabilidades Encontradas (Codificación por Color)

|       |__ Búsqueda: Buscar Expresiones Regulares en Datos

|       |__ Salida: Resultados de Extensiones y Procesos

|

|__ Vistas de Datos (Pestañas Solicitud/Respuesta)

|   |__ Texto: Hexadecimal, Imagen

|   |__ Tabla (Codificada) y Tabla (Avanzada)

|   |__ Flexibilidad para Campos Grandes (Largo Registro/Respuesta)

|

|__ Funcionalidades Avanzadas y Gestión

|   |

|   |__ Modos de Operación (1): Modo Seguro

|   |

|   |__ Gestión de Sesiones (Pestañas: Instantáneas, Propiedades)

|   |

|   |__ Administración y Actualización de Complementos (Marketplace)

|   |   |__ Ataque: Escaneo Activo y Asalto

|   |

|   |__ Mando Contextualista (Clic Derecho)

|   |   |__ Configuración de Contexto (Incluir/Excluir URL)

|   |   |__ Puntos de Interrupción (Breakpoints) en Solicitudes/Respuestas

|   |

|   |__ Opciones de Personalización

|       |__ Cambio Automático (Modos Oscuro)

|       |__ Configuración de Idioma y Teclado (Atajos)

|       |__ Opciones de Búsqueda (Máscaras de Resaltado)

|

|__ Herramientas Adicionales y Laboratorios

|   |

|   |__ Entornos Vulnerables

|   |   |__ OWASP Juice Shop (Falsa Interruptions Top 10)

|   |   |__ DVWA (Niveles de Dificultad Ajustables)

|   |   |__ Metasploitable (Máquina Virtual Explotable)

|   |   |__ WebGoat (Lecciones Prácticas de Inyección)

|   |   |__ VulnHub (VMs Desarrolladas para Hacking Offline)

|   |

|   |__ Catálogo de Uso

|       |__ Usat Colección para Automatización

|       |__ Configurar Anti-CSRF para Tokens Dinámicos

|       |__ Automatización con Scripts (Zest, Python)

|       |__ Invocar Herramientas Externas (ej. nslookup)

Diez preguntas sobre el artículo recopilado

  1. ¿Qué es VulnHub y qué lo hace diferente de otras plataformas de CTF?
  2. ¿Qué tipo de vulnerabilidades se pueden practicar con OWASP Juice Shop?
  3. ¿En qué consiste Metasploitable y cómo se utiliza?
  4. ¿Cuál es la función principal del entorno WebGoat?
  5. ¿Qué recursos específicos para móviles ofrece OWASP?
  6. ¿Qué objetivo tiene la plataforma Hack The Box (HTB)?
  7. ¿Qué herramientas o entornos están centrados en la explotación de binarios?
  8. ¿Qué funcionalidades ofrece bWAPP y por qué es tan completa?
  9. ¿Qué características tiene DVWA que la hacen apta para principiantes?
  10. ¿Qué tipo de retos se encuentran en la Web Security Academy de PortSwigger?

Respuestas detalladas a las preguntas

1. ¿Qué es VulnHub y qué lo hace diferente de otras plataformas de CTF?

VulnHub es una plataforma que ofrece máquinas virtuales vulnerables descargables para practicar hacking ético y pruebas de penetración. A diferencia de plataformas online, en VulnHub puedes montar tu laboratorio local y trabajar de forma offline. Las máquinas suelen tener desafíos tipo boot2root y cubren niveles desde principiante hasta avanzado.

2. ¿Qué tipo de vulnerabilidades se pueden practicar con OWASP Juice Shop?

Juice Shop emula una tienda online con múltiples fallos intencionados que incluyen:

  • XSS
  • SQLi
  • CSRF
  • IDOR
  • RCE
  • Broken Access Control
    Todo basado en el OWASP Top 10, en una interfaz gamificada con puntuación y retos.

3. ¿En qué consiste Metasploitable y cómo se utiliza?

Metasploitable es una máquina virtual con múltiples servicios vulnerables diseñada para ser explotada, ideal para practicar con herramientas como Metasploit. Tiene dos versiones principales (v2 y v3), la v2 es más sencilla, mientras que la v3 simula entornos reales más complejos.

4. ¿Cuál es la función principal del entorno WebGoat?

WebGoat es una aplicación Java vulnerable creada por OWASP con el objetivo de enseñar seguridad web. Incluye lecciones prácticas sobre:

  • XSS
  • SQL Injection
  • Falsificación de identidad
  • Control de acceso
    Se aprende explotando vulnerabilidades en un entorno seguro.

5. ¿Qué recursos específicos para móviles ofrece OWASP?

OWASP ofrece herramientas específicas como:

  • DIVA (Android)
  • DVIA (iOS)
  • GoatDroid
  • iGoat
    Estas apps permiten practicar seguridad móvil, analizar fallos de autenticación, almacenamiento inseguro, inyecciones, etc.

6. ¿Qué objetivo tiene la plataforma Hack The Box (HTB)?

HTB permite practicar hacking en entornos realistas mediante máquinas virtuales accesibles vía VPN, desafíos CTF, y laboratorios estructurados por dificultad. Es usada tanto por principiantes como por profesionales para prepararse para certificaciones como OSCP.

7. ¿Qué herramientas o entornos están centrados en la explotación de binarios?

Algunos entornos destacados:

  • Exploit Education
  • ROP Primer
  • SmashTheTux
  • HackSys Extreme Vulnerable Driver
  • Pwnable.kr
    Estos permiten practicar buffer overflows, ROP, inyecciones en memoria y explotación avanzada.

8. ¿Qué funcionalidades ofrece bWAPP y por qué es tan completa?

bWAPP ofrece más de 100 vulnerabilidades, abarcando desde el OWASP Top 10 hasta vulnerabilidades más raras como:

  • Heartbleed
  • HTML5 attacks
  • XML injection
    Su instalación es sencilla y se puede usar con Windows o Linux. Tiene niveles de dificultad y guías para cada bug.

9. ¿Qué características tiene DVWA que la hacen apta para principiantes?

DVWA (Damn Vulnerable Web App) ofrece:

  • Instalación sencilla con PHP/MySQL
  • Niveles de dificultad ajustables (low/medium/high)
  • Vulnerabilidades clásicas (XSS, SQLi, CSRF, etc.)
  • Ambiente seguro para practicar en localhost

10. ¿Qué tipo de retos se encuentran en la Web Security Academy de PortSwigger?

Incluye laboratorios interactivos para practicar vulnerabilidades como:

  • XSS
  • SQL Injection
  • SSRF
  • CSRF
  • OAuth bugs
    Cada lección incluye teoría, demostraciones y una práctica con solución automatizada.

Diez ejercicios prácticos basados en el contenido

  1. Instala DVWA en tu entorno local y explota una vulnerabilidad de CSRF.
  2. Resuelve el reto “XSS Tier 1” en OWASP Juice Shop.
  3. Usa Metasploit para explotar una vulnerabilidad en Metasploitable 2.
  4. Instala y juega el nivel 0 de Bandit en OverTheWire.
  5. Descifra un reto básico de cifrado en CryptoHack.org.
  6. Escanea la máquina bWAPP con Burp Suite y detecta una vulnerabilidad.
  7. Crea tu propio CTF usando CTFd en un servidor local.
  8. Completa el desafío de comandos básicos en CMDChallenge.com.
  9. Explora el entorno vulnerable de HackThisSite, misión básica 3.
  10. Instala WebGoat y explota un caso de Inyección SQL.

Respuestas detalladas a los ejercicios

1. DVWA – CSRF

  • Navega a la opción de “CSRF”.
  • Usa Burp Suite para capturar la petición POST.
  • Crea un formulario HTML externo que envíe la misma petición.
  • Al hacer clic en el enlace, el cambio de contraseña se ejecuta sin consentimiento del usuario víctima.

2. Juice Shop – XSS Tier 1

  • Visita una sección vulnerable, como “Feedback”.
  • Inserta el payload:

    <script>alert(«XSS»)</script>
  • El popup debería ejecutarse, validando el reto.

3. Metasploit + Metasploitable

  • Ejecuta:

    msfconsole
    use exploit/unix/ftp/vsftpd_234_backdoor
    set RHOST <IP de Metasploitable>
    run
  • Si el exploit es exitoso, obtendrás una shell.

4. OverTheWire – Bandit nivel 0

  • Conecta vía SSH:

    ssh bandit0@bandit.labs.overthewire.org -p 2220
  • Contraseña: bandit0
  • Comando:

    cat readme
  • Te dará la clave para el siguiente nivel.

5. CryptoHack – reto inicial

  • Ejemplo: texto base64: SGVsbG8gV29ybGQ=
  • Decodifica en Python:

    import base64
    print(base64.b64decode(«SGVsbG8gV29ybGQ=»).decode())

6. Escaneo en bWAPP con Burp

  • Intercepta una petición.
  • Identifica parámetros vulnerables.
  • Usa el módulo «Active Scan» para encontrar posibles fallos.

7. CTFd – Crear un reto

  • Instala con Docker o local.
  • Crea un reto con título: “SQL Injection”.
  • Clave: flag{sql_123}
  • Define hint y archivo anexo si es necesario.

8. CMDChallenge – nivel básico

  • Primer desafío: mostrar contenido de un archivo.

    cat file.txt

9. HackThisSite – misión 3

  • Inspecciona el formulario.
  • Cambia el parámetro de userid a ‘ OR 1=1–.
  • Consigue acceso sin credenciales válidas.

10. WebGoat – SQL Injection

  • Abre lección “Injection Flaws > SQL Injection (intro)”.
  • Inserta:

    ‘ OR ‘1’=’1
  • Se mostrará toda la base de datos si el reto se resolvió correctamente.

Conclusión

OWASP ZAP es una herramienta potente y accesible para integrar la seguridad en los flujos de trabajo de DevSecOps. Sus capacidades de automatización, extensibilidad y alineación con el Top 10 de OWASP la convierten en la herramienta ideal para detectar vulnerabilidades de forma temprana y garantizar el cumplimiento normativo. Si bien presenta limitaciones como falsos positivos y un alto consumo de recursos, una configuración adecuada y la aplicación de buenas prácticas mitigan estos desafíos. A medida que crece la adopción de DevSecOps, el papel de ZAP en el fomento de una cultura centrada en la seguridad se expandirá, especialmente con las actualizaciones continuas que admiten tecnologías emergentes.

Con este capítulo, has adquirido una comprensión sólida de OWASP ZAP, desde su instalación hasta su uso profesional. Ahora sabes cómo interceptar tráfico web, configurar certificados, analizar solicitudes y respuestas, realizar escaneos activos y pasivos, y aprovechar su entorno modular para ampliar sus capacidades.

Estas habilidades te convertirán en un hacker ético más competente y autónomo, capaz de evaluar la seguridad de aplicaciones web de forma metódica y responsable. Dominar ZAP no solo te prepara para exámenes de certificación o laboratorios de pentesting, sino que también te posiciona como un profesional capaz de integrar la seguridad en el ciclo de vida del software.


 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *