Saltar al contenido
Portada » Blog – Laprovittera Carlos » Escaneo activo y Alertas en ZAP

Escaneo activo y Alertas en ZAP

En este capítulo, Escaneo activo y Alertas en ZAP,  vas a aprender cómo iniciarlo desde la UI, definir el alcance y contextos, elegir y ajustar políticas (umbral y fortaleza), limitar vectores de entrada (incluidos los personalizados), aplicar filtros por método/estado/URL/etiquetas, leer el progreso (reglas en ejecución y gráfico de respuestas), gestionar alertas (edición, filtrado, overrides) y usar la repetición de pruebas para verificar correcciones.

Esto es útil y necesario en tu carrera como hacker porque el escaneo activo ejecuta ataques controlados (XSS, SQLi, RFI, SSTI, XXE, etc.) y te da evidencia explotable, no solo indicios. Te permite reducir falsos positivos, priorizar por riesgo, acotar superficie y automatizar re-tests en pipelines o pentests. Siempre con permiso explícito y, preferiblemente, en entornos controlados.

El escaneo activo de ZAP es el módulo que ejecuta ataques controlados contra una aplicación para descubrir vulnerabilidades explotables (XSS, SQLi, RFI, SSTI, XXE, etc.). A diferencia del escaneo pasivo —que solo observa el tráfico— el escaneo activo inyecta cargas y altera peticiones/respuestas, por lo que puede impactar el entorno objetivo. Este apartado explica cómo iniciar un análisis activo desde la UI, ajustar políticas (umbral/fortaleza), limitar vectores de entrada, filtrar el alcance, interpretar el progreso y los gráficos de respuesta, y gestionar las alertas (edición, filtrado y overrides) y la repetición de pruebas.

Aviso: ejecute escaneo activo únicamente en sistemas donde tenga permiso explícito y, preferiblemente, en ambientes de preproducción o controlados.

Table of Contents

Escaneo activo

La ventaja de ZAP sobre la versión comunitaria de Burp es que tiene un escáner de vulnerabilidades. El escáner pasivo está activado de forma predeterminada. Analiza el tráfico continuamente y crea alertas cuando se detectan elementos sospechosos. El usuario puede activar el escáner activo de varias maneras:

  • Ya sea activando el modo de ataque (escaneo en vivo): el escáner analizará automáticamente todas las URL que aparezcan en el ámbito. Como recordatorio, no recomendamos este enfoque, ya que corre el riesgo de dañar la plataforma.
  • O seleccionando una solicitud específica y eligiendo Ataque > Escaneo activo…

El Escaneo Activo ejecuta ataques controlados (XSS, SQLi, SSTI, etc.) para descubrir vulnerabilidades explotables. A diferencia del escaneo pasivo que solo observa, el activo inyecta cargas y altera peticiones.

Beneficios Clave:

  • Evidencia explotable, no solo indicios.
  • Reducción de falsos positivos y priorización por riesgo.
  • Automatización de re-tests en pipelines de CI/CD.

Autorización Requerida! Ejecute escaneos activos únicamente en sistemas donde tenga permiso explícito y, preferiblemente, en ambientes de preproducción o controlados.

Fase 1: Definiendo el Campo de Batalla

Objetivo Estratégico: Antes de disparar, define tu objetivo. Un alcance mal definido conduce a escaneos largos, ruidosos e ineficaces.

Componentes Clave:

• Alcance (Scope): El punto de partida del escaneo. Activar la opción ‘Recursar’ para analizar todos los nodos por debajo del seleccionado. Puedes excluir nodos específicos desde el menú contextual.

• Contexto (Context): Agrupa un conjunto de URLs que pertenecen a la misma aplicación. Esencial para aplicar reglas y políticas de forma coherente.

• Usuario (User): La clave para escanear zonas privadas. Al seleccionar un usuario definido en el contexto, ZAP se autenticará automáticamente cuando sea necesario, descubriendo vulnerabilidades detrás del login.

Fase 2: Calibrando la Agresividad con Políticas

Concepto Central: Las Políticas de Escaneo son tu centro de mando. Te permiten decidir qué reglas se ejecutan y con qué intensidad, balanceando velocidad, cobertura y sigilo.

La Dualidad Clave:

• Fortaleza (Strength): Controla la cantidad de ataques.

  • Bajo: Más rápido, menos ataques, podría omitir vulnerabilidades.
  • Alto/lnsano: Más lento, más ataques, mayor cobertura y profundidad.

• Umbral (Threshold / Límite): Controla la sensibilidad al reportar.

  • Bajo: Reporta más hallazgos potenciales (riesgo de falsos positivos).
  • Alto: Reporta solo hallazgos de alta confianza (riesgo de falsos negativos).

Callout: Gestiona tus configuraciones desde el ‘Administrador de Políticas de Escaneo’ para crear, importar  y exportar perfiles para distintos escenarios (ej. CI/CD vs. Pentesting).

Fase 3: Apuntando con Láser (Vectores y Tecnología)

Objetivo Estratégico: Reduce la superficie de ataque para acelerar el escaneo y obtener resultados más relevantes.

Afinando el Ataque:

• Vectores de Entrada: Define dónde ZAP inyectará payloads. Desactiva los que no sean relevantes.

  • Parámetros URL (Query & POST)
  • Ruta de URL
  • Encabezados HTTP
  • Cookies
  • Formatos de datos (JSON, XML, Multipart, etc.)

• El Bisturí: Vectores Personalizados: Para máxima precisión, deshabilita los vectores automáticos y selecciona manualmente los bytes exactos a atacar en una petición. Solo disponible si la opción ‘Recursar’ está desactivada.

• Tecnología: Informa a ZAP qué tecnologías usa la aplicación (ej. SQL, Nginx, PHP). ZAP omitirá pruebas irrelevantes, ahorrando tiempo y reduciendo el ruido.

Fase 4: El Panel de Control para Expertos

Objetivo Estratégico: Ajustes finos para optimizar el rendimiento, manejar protecciones y filtrar el tráfico irrelevante antes de que el escaneo comience.

Controles Avanzados:

Filtros de Escaneo: Excluye peticiones del escaneo activo basadas en criterios específicos:

Método HTTP: (ej. ignorar peticiones OPTIONS)

Código de estado: (ej. no escanear respuestas 404)

Etiquetas: (ej. ignorar tráfico de analytics)

Patrón de URL (Regex): (ej. excluir la sección /admin/)

Opciones Globales Clave (en > Escaneo activo):

Hilos simultáneos por host: Acelera el escaneo, pero puede sobrecargar el objetivo.

Manejo de tokens anti-CSRF: Permite que ZAP intente gestionar automáticamente estos tokens para mantener la sesión.

Duración máxima de la regla / del escaneo: Impone límites de tiempo para evitar escaneos interminables.

Máximo de alertas por regla: Evita que una sola regla ruidosa inunde los resultados.

Fase 5: Lanzamiento y Supervisión en Tiempo Real

Objetivo Estratégico: Un escaneo no es ‘disparar y olvidar’. Observar el progreso te ayuda a identificar problemas, como una sesión inválida o un servidor sobrecargado.

Tus Paneles de Monitoreo:

• Pestaña ‘Escaneo Activo’: Ofrece una vista general del progreso, los escaneos actuales y los controles para pausar o detener.

• Diálogo ‘Progreso del Análisis’: La vista detallada. Muestra qué regla se está ejecutando en cada hilo, el tiempo transcurrido y permite omitir reglas individuales sobre la marcha.

• Gráfico de Respuestas: El electrocardiograma de tu objetivo. Visualiza la cantidad de respuestas por segundo, agrupadas por código de estado (lxx, 2xx, 3xx, 4xx, 5xx).

Fase 6: Interpretando el Tesoro en la Pestaña de Alertas

Objetivo Estratégico: Cada alerta es una historia. Aprende a leerla para entender no solo el qué’, sino el ‘cómo’ y el ‘por qué’ de la vulnerabilidad.

Fase 7: Domando la Bestia (Filtros y Overrides)

Objetivo Estratégico: No todos los hallazgos tienen el mismo valor en tu contexto. Aprende a filtrar el ruido y a enriquecer los informes con información específica de tu organización.

Filtros de Alerta

Modifican automáticamente el nivel de riesgo de las alertas según criterios que tú definas (URL, parámetro, evidencia, etc.). Bajar el riesgo de ‘Cross-domain misconfiguration’ de ‘Medio’ a ‘Informativo’ en un entorno de desarrollo donde es esperado. Pueden ser Globales (para todas las sesiones) o por Contexto.

Anulaciones de Alertas (Alert Overrides)

Reemplaza o añade información a las descripciones genéricas de las alertas usando un archivo de propiedades. Añadir un enlace a la política de seguridad interna de tu empresa en todas las alertas de XSS, o agregar una etiqueta Tracker URL) con el ticket correspondiente.

Fase 7: Cerrando el Círculo con Validación y Automatización

Objetivo Estratégico: Verificar que las correcciones son efectivas y automatizar esta verificación es crucial para un ciclo DevSecOps maduro.

Función Clave: Repetición de Pruebas (Retest)

1. Selecciona: En la pestaña ‘Alertas’, haz clic derecho sobre una o más vulnerabilidades reportadas.

2. Crea un Plan: Elige ‘Repetir prueba…’ para agregarlas a un ‘Plan de Repetición de Prueba’.

3. Verifica y Ejecuta: El plan comprueba la presencia/ausencia de cada alerta y actualiza su estado.

4. Integra: Estos planes se pueden ejecutar desde el ‘Panel de Automatización’, haciéndolos perfectos para pipelines de CI/CD.

Nota Técnica: Durante la repetición de pruebas, ZAP fija la Fortaleza y el Umbral en ‘Medio’ para asegurar consistencia y velocidad en la validación.

La Evidencia Completa: No Olvides la Pestaña Historial

Objetivo Estratégico: Una alerta te dice ‘qué’ pasó, el historial te muestra el ‘cómo’ y el ‘antes y después’. Es tu bitácora forense.

¿Por qué es crucial?

• Contexto: Para cualquier alerta, puedes saltar al historial para ver la secuencia exacta de peticiones y respuestas que la precedieron.

• Validación Manual: Puedes reenviar la petición desde el historial y modificarla manualmente para explorar la vulnerabilidad.

• Análisis de Patrones: El historial contiene todas las peticiones, no solo las que generaron alertas.

Funcionalidades Poderosas:

• Muestra índice, método, URL, código de respuesta, duración, alertas, notas y etiquetas.

Filtros Avanzados: Filtra miles de peticiones para encontrar exactamente lo que buscas usando:

• Métodos HTTP

• Códigos de respuesta (ej. todos los 4xx)

• Presencia de Alertas o Notas

• Expresiones regulares en la URL

Decálogo del Escaneo Activo Responsable

Un gran poder conlleva una gran responsabilidad. Sigue estas reglas para escanear de manera efectiva, segura y profesional.

Pestaña de escaneo activo

La pestaña Escaneo activo le permite realizar un escaneo activo .

El botó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 .

  • El botón «Nuevo escaneo» inicia el cuadro de diálogo Escaneo activo que le permite especificar exactamente qué se debe escanear.
  • La barra de herramientas ofrece un conjunto de botones que permiten iniciar, detener, pausar y reanudar el análisis seleccionado.
  • Una barra de progreso muestra el progreso del análisis del sitio seleccionado.
  • El valor «Análisis actuales» muestra cuántos análisis están activos; al pasar el cursor sobre este valor, se mostrará una lista de los sitios que se están analizando en una ventana emergente.

El botón «Mostrar detalles del progreso del análisis»  abre el cuadro de diálogo «Progreso del análisis» , que permite ver detalles sobre las reglas en ejecución, omitir reglas individuales y ver un gráfico de las respuestas.

Menú de clic derecho

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

  • 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 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.

Cuadro de diálogo de escaneo activo

Este diálogo inicia el escáner activo .

Alcance

  • La primera pestaña le permite seleccionar o cambiar el punto de inicio.
  • Si tiene más de una política de análisis , podrá seleccionar la que desee usar.
  • Si el punto de inicio se encuentra en uno o más contextos , podrá elegir uno de ellos.
  • Si ese contexto tiene usuarios definidos, podrá seleccionar uno.
  • Si selecciona uno de los usuarios, el análisis activo se realizará como ese usuario, y ZAP se autenticará como tal cuando sea necesario.
  • Si selecciona «Recursar», también se escanearán todos los nodos debajo del seleccionado.
  • Los vectores de entrada personalizados solo se admiten si esta opción no está seleccionada.
  • Si selecciona ‘Mostrar opciones avanzadas’, se mostrarán las siguientes pestañas que proporcionan un control detallado sobre el proceso de escaneo activo.
  • Al hacer clic en el botón “Restablecer” se restablecerán todas las opciones a sus valores predeterminados.

Vectores de entrada

  • La pestaña «Vectores de Entrada» permite anular los vectores de entrada predeterminados definidos en la pantalla «Opciones de Vectores de Entrada de Escaneo Activo » .
  • Al hacer clic en el botón «Restablecer», se restablecerán los vectores de entrada a las opciones predeterminadas.

Vectores personalizados

  • La pestaña «Vectores personalizados» permite especificar ubicaciones específicas en la solicitud para atacar.
  • Los vectores personalizados solo están disponibles si la opción «Recursar» de la primera pestaña no está seleccionada.
  • Para añadir vectores de entrada personalizados, resalta los caracteres que quieres atacar en la solicitud y haz clic en el botón «Añadir».
  • Puedes añadir tantos vectores de entrada personalizados como quieras.
  • Para eliminarlos, resalta cualquiera de los caracteres seleccionados y haz clic en el botón «Eliminar».
  • Marcar la casilla «Deshabilitar vectores de entrada no personalizados» deshabilita todos los vectores de entrada excepto los que definas manualmente en esta pestaña.

Tecnología

  • La pestaña Tecnología permite especificar los tipos de tecnologías que se analizarán.
  • Deseleccionar tecnologías que sabe que no están presentes en la aplicación de destino puede acelerar el análisis, ya que las reglas que se enfocan en esa tecnología pueden omitir dichas pruebas.

Política

La pestaña Política le permite anular cualquiera de las configuraciones especificadas en la política de escaneo seleccionada .

Filtrar

La pestaña Filtro permite especificar criterios de filtrado, y el análisis activo filtrará las solicitudes según estos criterios.

Hay cuatro criterios de filtrado disponibles en la pestaña Filtro.

  • Método HTTP
  • Código de estado
  • Etiquetas
  • Patrón de URL

Los criterios de filtro del método HTTP y del código de estado solo se aplican para verificar si una solicitud puede incluirse o no en un análisis activo,

mientras que los criterios de filtro de etiquetas y patrones de URL se pueden aplicar para incluir o excluir una solicitud.

 

Cuadro de diálogo de política de escaneo

Esto le permite habilitar y deshabilitar las reglas que se ejecutan al realizar un escaneo activo . La primera pantalla le permite definir los niveles predeterminados, así como los niveles para todas las reglas en una categoría específica. Las pantallas de categorías le permiten definir los niveles para cada regla individual.

Límite

Esto controla la probabilidad de que ZAP informe vulnerabilidades potenciales.

  • Si selecciona Desactivado, la regla de escaneo no se ejecutará.
  • Si selecciona Bajo, surgirán más problemas potenciales que pueden incrementar la cantidad de falsos positivos.
  • Si selecciona Alto, se plantearán menos problemas potenciales, lo que puede significar que se pasen por alto algunos problemas reales (falsos negativos).

Fortaleza

Esto controla la cantidad de ataques que ZAP realizará.

  • Si selecciona Bajo, se usarán menos ataques, lo que será más rápido, pero podría pasar por alto algunos problemas.
  • Si selecciona Alto, se usarán más ataques, lo que podría detectar más problemas, pero tardará más.
  • El nivel Insano generalmente solo debe usarse para pequeñas partes de una aplicación, ya que puede resultar en el uso de una gran cantidad de ataques, lo que puede llevar mucho tiempo.

Nota: Tenga en cuenta que el uso del apodo “Insane” con respecto a la fuerza del escaneo es simplemente un nombre elegido para representar la fuerza más extrema del escaneo, no es un comentario o referencia a la salud mental o la estabilidad personal.

Pantalla de opciones de escaneo activo

Esta pantalla le permite configurar las opciones de escaneo activo :

  • Número de hosts escaneados simultáneamente El número máximo de hosts que se analizarán simultáneamente. Aumentar este número podría sobrecargar el equipo donde se ejecuta ZAP.
  • Subprocesos de escaneo simultáneos por host El número de subprocesos que el escáner usará por host. Aumentar el número de subprocesos acelerará el análisis, pero podría sobrecargar el equipo donde se ejecuta ZAP y el host de destino.
  • Máximos resultados a listar La cantidad de resultados que se mostrarán en la pestaña Análisis activo. Mostrar una gran cantidad de resultados puede aumentar significativamente la duración de un análisis.
  • Duración máxima de la regla (minutos; 0 es ilimitado) El tiempo máximo de ejecución de una regla individual en minutos. Cero significa que no hay límite. Esto se puede usar para evitar que las reglas tarden demasiado.
  • Max alerta que cualquier regla puede generar El número máximo de alertas que una regla puede generar durante un análisis activo. Las reglas de análisis que alcancen este valor se omitirán. El máximo podría superarse debido a la interconexión.
  • Duración máxima del escaneo (minutos; 0 es ilimitado) El tiempo máximo que puede durar todo el análisis en minutos. Cero significa que no hay límite. Esto permite garantizar que el análisis se complete en un tiempo determinado.
  • Retraso al escanear (en milisegundos) El retraso en milisegundos entre cada solicitud. Si se establece en un valor distinto de cero, aumentará el tiempo de un análisis activo, pero reducirá la carga en el host de destino. Esta opción ha quedado obsoleta y se eliminará en una próxima versión. En su lugar, utilice la opción Red > Límite de velocidad. Esta última opción permite imponer la velocidad de envío de las solicitudes, mientras que el Retraso al analizar no lo hace.
  • Inyectar el ID del complemento en el encabezado para todas las solicitudes de escaneo activas. Si se selecciona esta opción, el escáner activo inyectará el encabezado de la solicitud X-ZAP-Scan-IDcon el ID de la regla de escaneo que envía las solicitudes HTTP.
  • Manejar tokens anti-CSRF. Si se selecciona esta opción, el escáner activo intentará solicitar automáticamente tokens anti-CSRF cuando sea necesario. Anteriormente, esto obligaba al escáner a usar solo un hilo, pero ya no es así. Se recomienda encarecidamente verificar que los tokens anti-CSRF se generen correctamente si se usa más de un hilo; por ejemplo, se deben usar etiquetas personalizadas para verificar patrones de éxito/error en la respuesta.
  • En el modo de ataque, se solicita volver a escanear los nodos cuando cambia el alcance. Si esta opción está seleccionada, al seleccionar el modo de ataque, se le solicitará que elija si desea volver a escanear los nodos dentro del alcance. Si no está seleccionada, la siguiente opción determinará si se vuelven a escanear los nodos.
  • En el modo de ataque, siempre vuelva a escanear los nodos cuando cambie el alcance. Si se selecciona esta opción, al ejecutarse en modo de ataque , se volverán a escanear todos los nodos dentro del alcance si este cambia. No se recomienda para sitios grandes, ya que podría tardar mucho tiempo.
  • Política de escaneo activo predeterminada La política de escaneo que se utiliza de forma predeterminada cuando se inicia un escaneo activo.
  • Política de escaneo del modo de ataque La política de escaneo que se utiliza para escanear en modo de ataque .
  • Gráfico de progreso máximo en minutos El tiempo máximo en minutos durante el cual se registrarán los códigos de respuesta en el cuadro de diálogo Progreso del escaneo .

Para desactivar el registro, la opción debe estar configurada en cero minutos.

Pantalla de opciones de vectores de entrada de escaneo activo

Esta pantalla le permite configurar los vectores de entrada de escaneo activos . Estos son los elementos que atacará el escáner activo. Escanear todos los elementos compatibles tomará más tiempo, pero no escanear algunos elementos puede provocar que se pasen por alto algunas vulnerabilidades.

  • Objetivos inyectables Los elementos de solicitud a los que se dirigirá el escáner activo:
  • Cadena de consulta de URL y nodos controlados por datos Pares clave-valor en la consulta de la URL de solicitud, es decir, después del ?. Si se definen nodos controlados por datos dentro de un contexto, se probarán.
  • ¿Agregar parámetro de consulta URL? Al seleccionar ZAP, se añadirá un parámetro de consulta a las solicitudes GET que originalmente no lo tenían. Esto puede aumentar el tiempo de escaneo, pero también puede revelar problemas que, de otro modo, pasarían desapercibidos.
  • Datos POST Pares clave-valor en los datos POST de la solicitud.
  • Datos corporales simples Cuando se selecciona, ZAP procesará solicitudes con contenido de cuerpo y sin contenido o con contenido de texto simple como una única entrada/parámetro para fines de prueba.
  • Ruta URL Elementos de ruta en la URL de solicitud, es decir, los elementos separados por /.
  • Encabezados HTTP Solicitar encabezados HTTP.
  • Todas las solicitudes Permite escanear los encabezados HTTP de todas las solicitudes, no solo las que envían parámetros, a través de la consulta o el cuerpo de la solicitud.
  • Datos de cookies Solicitar cookies.
  • Codificar valores de cookies Si se selecciona, los valores de las cookies se codificarán como URL al ser atacados. Por defecto, no se codificarán; esto es nuevo en ZAP 2.15.0; antes siempre se codificaban.
  • Manejadores de vectores de entrada integrados Los formatos de datos que el escáner activo analizará:
Datos de formularios multiparte
Etiqueta/atributo XML
JSON
Kit de herramientas web de Google
ID/filtro de OData

Habilitar vectores de entrada de script

Si se selecciona esta opción, el escáner activo utilizará cualquier vector de entrada de script habilitado. Estos vectores son scripts que usted ha escrito o importado en ZAP y que le permiten identificar elementos no compatibles por defecto. Esta pantalla también le permite configurar los parámetros que serán ignorados por el escáner activo. Consulte Parameterla sección en el cuadro de diálogo Agregar alerta para obtener más detalles sobre los nombres de los parámetros.

 

 

Cuadro de diálogo del Administrador de políticas de escaneo

Esto le permite administrar las políticas de escaneo que definen las reglas que se ejecutan al realizar un escaneo activo . Puede tener tantas políticas de escaneo como desee y elegir cuál de ellas se ejecuta cuando realiza un escaneo activo.

Agregar El botón Agregar abre el cuadro de diálogo Política de escaneo con todas las configuraciones predeterminadas.

Modificar El botón Modificar inicia el cuadro de diálogo Política de escaneo con todas las políticas de escaneo seleccionadas.

Eliminar El botón Eliminar elimina la política de análisis seleccionada si confirma el cuadro de diálogo de advertencia.

Importar El botón Importar le permite importar una política de escaneo creada por otra instancia de ZAP.

Exportar El botón Exportar le permite exportar una política de escaneo para poder importarla a otra instancia de ZAP, que puede estar en otra máquina.

Diálogo de progreso del escaneo

Esto le muestra el estado de un escaneo activo .

Pestaña de progreso

Esto muestra qué reglas de análisis se están ejecutando para cada host analizado, así como otros detalles como el tiempo transcurrido y el número de solicitudes realizadas por regla. También permite omitir la regla en ejecución haciendo clic en el botón «Omitir análisis activo actual» 

en la columna Estado.

Pestaña Gráfico de respuesta

Esto muestra la cantidad de respuestas por segundo recibidas por ZAP durante el escaneo activo de un sitio. Las respuestas se grafican por grupo de códigos de estado de respuesta HTTP:

  • 1xx Informativo
  • 2xx Éxito
  • Redirección 3xx
  • Error de cliente 4xx
  • Error de servidor 5xx

Puede ampliar seleccionando un área del gráfico con el ratón.  También puede hacer clic derecho en el gráfico para ver más opciones. Las barras verticales indican aproximadamente cuándo comienza cada regla de escaneo (es muy difícil ser preciso). El gráfico solo se actualizará mientras esté abierto; si lo cierra y lo vuelve a abrir, se perderán los datos anteriores. Por defecto, el tiempo máximo que cubre el gráfico es de 10 minutos; puede modificarlo en la pantalla Opciones de escaneo activo .

Pestaña Historial

La pestaña Historial muestra una lista de todas las solicitudes en el orden en que se realizaron.

Para cada solicitud podrás ver:

  • Índice de solicitudes: cada solicitud está numerada, comenzando por 1.
  • El método HTML, por ejemplo GET o POST
  • La URL solicitada
  • El código de respuesta HTTP
  • Un breve resumen de lo que significa el código de respuesta HTTP
  • El tiempo que tardó toda la solicitud
  • ¿Alguna alerta sobre la solicitud?
  • ¿Alguna nota que hayas añadido para solicitar?
  • Cualquier etiqueta en la solicitud

Al seleccionar una solicitud, esta se mostrará en la pestaña Solicitud y en la pestaña Respuesta arriba.

El histórico de peticiones, situado en la ventana de información,  recoge cada una de las peticiones interceptadas por ZAP complementándola con información de interés para el analista. Entre los datos más relevantes se encuentran: una marca de tiempo indicando el momento exacto cuando se realizó la petición,  el método empleado (por ejemplo: GET o POST), el código de estado devuelto por el servidor web, tamaño de la respuesta, alertas que pueden representar vulnerabilidades o deficiencias identificadas por ZAP y un campo extra denominado “Etiquetas”, en el que se añade aún más metainformación sobre la petición; por ejemplo, tecnologías subyacentes utilizadas por el servicio web, el uso de cookies, etc.

Toda esta información acelerará en gran medida la identificación de los recursos web más significativos y de mayor interés para el analista.

Filtros web

Cuando se han consultado muchos recursos web y el volumen de peticiones que recoge el histórico es muy voluminoso se complica en gran medida la búsqueda de peticiones concretas dentro de todo el espectro de datos recogido. Para facilitar esta tarea, ZAP permite definir filtros en base a múltiples condiciones. Por ejemplo, puede establecerse como criterio de filtrado aquellas respuestas que han generado un código de error

o bien aquellas que han generado una alerta clasificada como alerta. Estos filtros también admiten expresiones regulares en algunos campos, por ejemplo, la URL para permitir una mayor granularidad en su criterio de búsqueda.

 

La barra de herramientas de filtro

Se proporciona una barra de herramientas de filtro que permite restringir las solicitudes que se muestran. Al hacer clic en el 

botón «Filtro», se abre el cuadro de diálogo «Filtro de historial» . A la derecha del botón se muestra un resumen del filtro aplicado actualmente.

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 .
  • Administrar etiquetas de historial… Esto abrirá el cuadro de diálogo Administrar etiquetas de historial que le permitirá cambiar las etiquetas asociadas con la solicitud.
  • Saltar al historial de identificación… Se abrirá un cuadro de diálogo que solicita el ID (número) de la entrada del historial a la que desea acceder. Si el ID introducido no es un elemento visible del historial, se mostrará el ID más cercano a la entrada; si está más allá del final de la lista, se mostrará el último elemento de la tabla. También se puede acceder mediante Ctrl + Alt + J.
  • Nota… Esto abrirá el cuadro de diálogo Agregar nota que le permitirá registrar notas relacionadas con la solicitud.
  • Borrar Esto eliminará el nodo y todos sus elementos secundarios de ZAP. Sin embargo, se pueden volver a agregar. Para evitarlo, utilice los menús «Excluir de».
  • Romper… Esto abrirá el cuadro de diálogo Agregar punto de interrupción que le permitirá establecer un punto de interrupción en esa URL.
  • Alertas para este nodo Si la URL seleccionada tiene alertas asociadas, estas se mostrarán en este menú. Al seleccionar una de ellas, se mostrará.
  • 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 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.
  • Generar formulario de prueba anti CSRF Esto abrirá una URL que te proporcionará un formulario generado para probar problemas de CSRF. Solo estará habilitado para solicitudes POST si la API está habilitada y si Java admite la apertura de URL en un navegador de tu plataforma.

Cuadro de diálogo Agregar nota

Esto le permite agregar una nota a una solicitud.

Notas

Una nota es cualquier texto que desee asociar con una solicitud. Por ejemplo, puede utilizar notas para registrar detalles de pruebas adicionales que necesita realizar en una solicitud. Las notas se agregan y modifican mediante el cuadro de diálogo Agregar nota . Las notas están marcadas en la pestaña Historial con el 

ícono .

Cuadro de diálogo Filtro de historial

Este cuadro de diálogo le permite restringir qué solicitudes se muestran en la pestaña Historial .

Campos

El diálogo tiene los siguientes campos:

  • Métodos Los métodos HTTP para filtrar.
  • Códigos Los códigos de respuesta HTTP para filtrar.
  • Etiquetas Las etiquetas para filtrar.
  • Alertas Los tipos de alertas para filtrar.
  • Notas Si se debe filtrar la presencia o ausencia de Notas .
  • URL con expresiones regulares Una lista de patrones de expresiones regulares ‘incluir’ (uno por línea): si se especifica, solo se incluirán aquellas URL que coincidan con esos patrones.
  • URL excepto expresiones regulares Una lista de patrones de expresiones regulares ‘excluir’ (uno por línea): si se especifica, se ocultarán todas las URL que coincidan con esos patrones.

Interprete los resultados de su prueba

A medida que ZAP rastrea su aplicación web, construye un mapa de sus páginas y los recursos utilizados para renderizarlas. Registra las solicitudes y respuestas enviadas a cada página y genera alertas si existe algún problema potencial con una solicitud o respuesta.

Ver páginas exploradas

Para examinar una vista de árbol de las páginas exploradas, haga clic en la pestaña Sitios en la ventana de Árbol. Puede expandir los nodos para ver las URL individuales a las que se accedió.

Ver alertas y detalles de alertas

El lado izquierdo del pie de página contiene un recuento de las alertas detectadas durante la prueba, desglosadas por categorías de riesgo. Una alerta es una vulnerabilidad potencial y está asociada a una solicitud específica. Una solicitud puede tener más de una alerta. Las alertas se muestran en la interfaz de usuario con una bandera que indica el riesgo:

Las alertas pueden ser generadas por varios componentes ZAP, incluidos, entre otros: escaneo activo , escaneo pasivo , scripts, complementos (extensiones) o manualmente usando el cuadro de diálogo Agregar alerta (que también le permite actualizar o cambiar detalles/información de la alerta). Las alertas se marcan en la pestaña Historial con una bandera que indica la alerta de mayor riesgo. Todas las alertas se enumeran en la pestaña Alertas y se muestra un recuento del número total de alertas por riesgo en el pie de página .

Para ver las alertas creadas durante su prueba:

  1. Haga clic en la pestaña Alertas en la ventana de información.
  2. Haga clic en cada alerta que se muestra en esa ventana para mostrar la URL y la vulnerabilidad detectada en el lado derecho de la ventana de información.
  3. En las ventanas del espacio de trabajo, haga clic en la pestaña Respuesta para ver el contenido del encabezado y el cuerpo de la respuesta. Se resaltará la parte de la respuesta que generó la alerta.

Cuando rastrea un sitio, ZAP realiza un escaneo pasivo y reporta cualquier alerta en la pestaña “Alertas”. 

Una vez finalizado el escaneo, podrás encontrar todas las alertas generadas por ZAP en la pestaña “Alertas”.

Pestaña de alertas

La pestaña Alertas muestra las alertas generadas en esta sesión. Las alertas se muestran en un árbol ordenado por riesgo en el panel izquierdo, y cada nodo del árbol muestra el número total de alertas. Al seleccionar una alerta con un solo clic, esta se mostrará en el panel derecho. Al hacer doble clic en una alerta, se abrirá el cuadro de diálogo «Agregar alerta» , que le permitirá modificar sus detalles.

Como puede ver en la captura de pantalla anterior, ZAP encontró 28 vulnerabilidades organizadas por gravedad: alta (rojo), media (naranja), baja (amarillo) e informativa (azul). ZAP muestra la cantidad de vulnerabilidades que ha encontrado. Veamos más de cerca la inyección SQL . Seleccione la flecha que se encuentra junto a ella para ver dónde se encontró el problema en la aplicación. Luego, seleccione la URL para ver información detallada sobre la alerta.

ZAP proporciona bastante información. En el panel derecho, verá la URL donde se encontró la alerta y su nivel de riesgo y confianza. También verá un identificador de CWE y WASC de listas de vulnerabilidades de seguridad de software comunes. Cada vulnerabilidad tiene su propio número de identificación. 

A continuación, verá una descripción de la alerta y cómo ZAP la confirmó. También se indica el método de ataque utilizado («AND 1=1 –«). Deberá verificar esto para ver si la vulnerabilidad realmente existe.  También sugiere una posible solución: no confiar en la entrada del lado del cliente y utilizar la validación del lado del servidor, como declaraciones preparadas, para mitigar el riesgo.

Cuadro de diálogo Agregar alerta

Este cuadro de diálogo le permite agregar o cambiar manualmente una alerta asociada con una solicitud específica.

Campos

El diálogo tiene los siguientes campos:

Tipo El tipo de alerta es un campo desplegable que le permite seleccionar uno de los tipos de problema predefinidos. También puede introducir su propio texto o modificar el texto de uno de los elementos seleccionados. Si selecciona uno de los tipos existentes, los campos Descripción, Solución y Otra información se completarán con el texto asociado al elemento seleccionado.

Riesgo Un campo desplegable que le permite especificar qué tan grave cree que es el riesgo:

Informativo
Bajo
Medio
Alto

Confianza Un campo desplegable que le permite especificar qué tan seguro está de la validez del hallazgo:

Falso positivopara posibles problemas que luego descubra que no se pueden explotar
Bajopara problemas no confirmados
MedioPara cuestiones de las que tienes cierta confianza
AltoPara hallazgos en los que tiene plena confianza
Confirmadopara problemas confirmados
  • Parámetro Un campo desplegable que permite especificar el parámetro al que está asociado el problema. Este campo se rellena automáticamente con los parámetros de URL y FORM encontrados, pero también puede introducir su propio nombre. Los parámetros de matriz (en el componente de consulta URL y x-www-form-urlencodedel cuerpo de la solicitud) se identifican con su índice. Por ejemplo, para una solicitud que contenga choices[]=ChoiceA&choices[]=ChoiceBel primer parámetro, este se identificaría como choices[0]y el segundo como choices[1].
  • Ataque La carga útil suministrada al parámetro . Se espera que solo la establezcan las reglas de escaneo activas, que son las que envían cargas útiles/ataques.
  • Evidencia La información disponible en la solicitud o respuesta del mensaje (encabezado o cuerpo) que indica que el problema está presente.
  • Identificación de CWE El ID de Enumeración de Debilidades Comunes (CWE) correspondiente a la vulnerabilidad detectada. Este campo solo puede ser un número entero.
  • Identificación WASC El ID del Consorcio de Seguridad de Aplicaciones Web (WASC) asociado con la vulnerabilidad detectada. Este campo solo puede ser un número entero.
  • Descripción Una descripción general del tipo de problema detectado. Esta información se completa al seleccionar uno de los tipos predefinidos, pero también puede modificarla según sea necesario. Tenga en cuenta que cualquier cambio que realice se perderá si selecciona otro tipo.
  • Otra información Información específica sobre el problema que ha encontrado. Esta información no está precargada.
  • Solución Recomendaciones para solucionar el problema. Esta información se completa al seleccionar uno de los tipos predefinidos, pero también puede modificarla según sea necesario. Tenga en cuenta que cualquier cambio que realice se perderá si selecciona otro tipo.
  • Referencia Una o más URL que apuntan a más información en internet sobre el tipo de alerta seleccionado. Esta información se completa al seleccionar uno de los tipos predefinidos, pero también puede modificarla según sea necesario. Tenga en cuenta que los cambios que realice se perderán si selecciona otro tipo.
  • Etiquetas de alerta Las alertas se pueden etiquetar con claves arbitrarias o pares clave=valor. Puedes agregar tantas etiquetas como quieras a cada alerta. Sin embargo, no puedes tener dos etiquetas con la misma clave. La clave debe estar limitada a 1024 caracteres y el valor debe estar limitado a 4000 caracteres para cada etiqueta.

Filtros de alerta

Los filtros de alerta le permiten anular automáticamente los niveles de riesgo de cualquier alerta generada por el análisis activo y pasivo.

Los filtros de alerta de contexto permiten anular automáticamente los niveles de riesgo de cualquier alerta generada por las reglas de análisis activas y pasivas dentro de un contexto. Los filtros de alerta se exportarán e importarán con el contexto; no se mantendrán durante las sesiones ZAP a menos que el contexto se vuelva a importar.

Este complemento agrega un panel de ‘Filtros de alerta’ al cuadro de diálogo de contextos.

El panel muestra una lista de todos los filtros de alerta, junto con botones para agregarlos  y eliminarlos. Al agregar o modificar un filtro de alerta, se mostrará el cuadro de diálogo Filtro de alerta .

Hay 2 tipos diferentes de filtro de alerta:

  • Filtros de alerta de contexto
  • Filtros de alerta global

Los filtros de alerta también se pueden definir en el marco de automatización . La forma más sencilla de crear filtros de alerta es hacer clic derecho en una alerta y seleccionar la opción «Crear filtro de alerta…». Esto abrirá el cuadro de diálogo «Filtro de alerta » . También puedes crear filtros de alerta manualmente. De forma predeterminada, solo se aplican a las alertas nuevas, pero puedes probarlos y aplicarlos a las alertas existentes.

Filtrado de alertas

Los botones de filtro, que se muestran inmediatamente encima del árbol, le permiten restringir qué alertas se muestran:

Mostrar solo URL en el ámbito / Mostrar todas las URL

Permite mostrar solo las alertas de las URL que están dentro del alcance .

Vincular / Desvincular con la selección de Sitios

Permite mostrar sólo las alertas del nodo del árbol seleccionado en la pestaña Sitios. Al seleccionar un filtro se deshabilitará el otro, ya que son mutuamente excluyentes.

Editar alerta

Se mostrará el cuadro de diálogo Agregar alerta que le permitirá cambiar los detalles de la alerta seleccionada. Si se seleccionan varias alertas en el árbol, se edita el elemento seleccionado más recientemente.

Eliminar todas las alertas

Permite eliminar todas las alertas.

Cuadro de diálogo de filtro de alertas

Este cuadro de diálogo se muestra cuando agrega o modifica un filtro de alerta de contexto o un filtro de alerta global Tiene los siguientes campos:

  • Alcance Puede ser «Global» para un filtro de alerta global o el nombre de un contexto existente. Solo se puede editar al crear un filtro de alerta a partir de una alerta existente.
  • Tipo de alerta El primer menú desplegable muestra todas las reglas de alerta activas y pasivas instaladas, junto con sus referencias de alerta conocidas. El segundo menú desplegable muestra todos los ID conocidos (reglas de análisis y referencias de alerta). También permite especificar manualmente una regla si no está en la lista (por ejemplo, si es una regla personalizada o aún no está instalada).
  • Nuevo nivel de riesgo El nuevo nivel de riesgo que se asignará a cualquier alerta generada que coincida con los criterios definidos por la regla.
  • URL Una URL opcional. Si se especifica, se aplicará esta regla si la URL coincide con la URL de una alerta generada.
  • ¿URL es Regex? Si se configura y se especifica una URL, esta se tratará como una expresión regular al compararla con la URL de la alerta. Si no se configura, cualquier URL especificada debe coincidir exactamente con la URL de la alerta.
  • Parámetro Un parámetro opcional. Si se especifica, esta regla se aplicará si el parámetro coincide exactamente con el parámetro de la alerta generada.
  • ¿El parámetro es Regex? Si se establece y se especifica un parámetro, este se tratará como una expresión regular al compararlo con el parámetro de la alerta. Si no se establece, cualquier parámetro especificado debe coincidir exactamente con el parámetro de la alerta.
  • Ataque Un ataque opcional. Si se especifica, esta regla se aplicará si el ataque coincide exactamente con el de una alerta activada.
  • ¿El ataque es Regex? Si se establece y se especifica un ataque, este se tratará como una expresión regular al compararse con el ataque de la alerta. Si no se establece, cualquier ataque especificado debe coincidir exactamente con el ataque de la alerta.
  • Evidencia Una evidencia opcional. Si se especifica, esta regla se aplicará si la evidencia coincide exactamente con la evidencia de una alerta activada.
  • ¿La evidencia es Regex? Si se establece y se especifica una evidencia, esta se tratará como una expresión regular al compararse con la evidencia de la alerta. Si no se establece, cualquier evidencia especificada debe coincidir exactamente con la evidencia de la alerta.
  • Método Un método opcional. Si se especifica, esta regla se aplicará si el método coincide (sin distinguir entre mayúsculas y minúsculas) con el método de la alerta generada.
  • Activado Si se configura, esta regla se aplicará a todas las alertas generadas en el contexto dado.
  • Filtro de prueba El botón «Probar» mostrará un recuento de las alertas existentes a las que se aplicará el filtro. Si el filtro está deshabilitado, estará deshabilitado.
  • Aplicar filtro El botón «Aplicar» aplicará el filtro a todas las alertas existentes. A continuación, mostrará un recuento de las alertas que ha modificado. Si el filtro está desactivado, estará desactivado.

Opciones de filtros de alertas globales

Esta pantalla de Opciones le permite configurar Filtros de Alertas Globales que permiten anular automáticamente los niveles de riesgo de cualquier alerta generada por las reglas de análisis activas y pasivas. A diferencia de los Filtros de Alertas de Contexto, se aplican a todas las alertas generadas, no solo a las generadas en un contexto específico.

También se mantendrán en todas las sesiones ZAP. La pantalla muestra una lista de todos los filtros de alerta global junto con botones para agregarlos, eliminarlos y borrarlos. Al agregar o modificar un filtro de alerta se mostrará el cuadro de diálogo Filtro de alerta .

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».

Pantalla de alertas de opciones

Esta pantalla le permite configurar las opciones de alertas:

  • Fusionar alertas relacionadas en el informe Si se selecciona, los problemas relacionados se fusionarán en los informes generados. Esto reducirá significativamente el tamaño del informe, ya que se eliminará la información duplicada.
  • Máximo de instancias de alerta en el informe El número máximo de instancias de alerta que se pueden incluir en un informe. Un valor de cero se considera ilimitado.
  • Archivo de anulaciones de alertas El nombre completo de un archivo de propiedades que especifica cualquier anulación de alerta que desee aplicar.

Anulaciones de alertas

Las alertas generadas por ZAP incluyen información genérica y específica sobre ellas. La información específica se relaciona directamente con el posible problema detectado, como la URL y el parámetro afectado. La información genérica incluye información como una descripción y enlaces a recursos en línea relacionados.

Puede reemplazar o ampliar la información genérica mediante un archivo de configuración de «anulación de alertas». Esto le permite incluir información específica de su empresa, como políticas obligatorias, enlaces internos o recomendaciones sobre las tecnologías específicas que utiliza. Un archivo de configuración de anulación de alertas es un archivo de propiedades UTF-8 que contiene únicamente la información que desea modificar. Las líneas que empiezan por ‘#’ se consideran comentarios y se ignoran. El formato es:

<alertid>.<property> = [ + | – ] <your information>

Se admiten las siguientes propiedades:

  • nombre
  • descripción
  • solución
  • otra información
  • referencia

El formato para las etiquetas de alerta es:

<alertid>.tag.<key> = [ + | – ] [ <value> ]

Tenga en cuenta que:

  • Los espacios en la clave de etiqueta deben escaparse con una barra invertida.
  • El valor de la etiqueta es opcional.

Por ejemplo

# 40012 = Reflected XSS
40012.solution = Follow our company specific guidelines at http://internet.example.com/xss.html
40012.tag.Bug\ Tracker\ URL = https://example.com/issues/1234

Si el valor empieza con ‘+’, se añade a la información existente.

Si empieza con ‘-‘, se antepone a la información existente.

Si no empieza con ‘+’ ni ‘-‘, reemplaza la información existente.

El archivo de configuración de anulación de alerta se puede especificar a través de la API , la pantalla Opciones de alerta o utilizando la opción de línea de comando :

-config alert.overridesFilename=<filename>

Compatibilidad con la repetición de pruebas de alertas

El complemento Repetir prueba le permite volver a probar la presencia/ausencia de ciertas alertas en su aplicación web. El usuario puede seleccionar una o más alertas de la pestaña Alerta, hacer clic derecho sobre ellas y elegir «Repetir prueba». Esto lo llevará al cuadro de diálogo Repetir prueba, donde puede agregar/eliminar alertas para incluirlas en un «Plan de repetición de prueba».

El usuario puede elegir verificar el plan que está a punto de crear haciendo clic en el botón «Verificar», que comprueba la presencia de todas las alertas que se han incluido en el plan y actualiza el estado de cada alerta como «Presente» o «Ausente» según corresponda El usuario puede hacer clic en crear, lo que crearía el plan y lo cargaría en el Panel de Automatización en la parte inferior. Desde allí, el usuario puede ejecutar el plan desde el panel y ver el resultado relevante en la Pestaña de Resultados. Tenga en cuenta que, durante la nueva prueba, la intensidad de la regla y el umbral de la alerta se establecen en «Media».

El escaneo activo de ZAP aporta cobertura real de explotación que la observación pasiva no alcanza, siempre que se configure con criterio: defina alcance/contextos, seleccione una política acorde al entorno (p. ej., CI/CD vs. pentest), ajuste fortaleza y umbral por regla, reduzca superficie con vectores personalizados y use filtros para concentrar el análisis. Interprete resultados combinando la pestaña Alertas con el historial y la evidencia, edite/normalice hallazgos con overrides y consolide seguimiento mediante retest plans.

Buenas prácticas clave: ejecutar en staging, habilitar rate limiting, preservar sesiones y tokens (anti-CSRF), excluir rutas de logout y datos sensibles, y complementar con pruebas manuales de lógica de negocio. Con una configuración responsable, ZAP se integra de forma natural en pipelines y sesiones de pentest, ofreciendo informes más accionables y repetibles.

10 preguntas clave basadas en el artículo

  1. ¿Cuál es la principal diferencia entre el escaneo pasivo y el escaneo activo en ZAP?
  2. ¿Qué opciones de control y visualización ofrece la pestaña de escaneo activo?
  3. ¿Qué funcionalidades se encuentran en el cuadro de diálogo de escaneo activo?
  4. ¿Qué tipos de vectores de entrada pueden configurarse en un escaneo activo?
  5. ¿Cuál es la finalidad de configurar tecnologías específicas en un escaneo activo?
  6. ¿Qué diferencias existen entre los niveles de “límite” y “fortaleza” en una política de escaneo?
  7. ¿Qué opciones se pueden ajustar en la pantalla de configuración del escaneo activo?
  8. ¿Cómo se pueden filtrar las solicitudes en la pestaña Historial de ZAP?
  9. ¿Qué información muestra la pestaña Alertas y cómo se interpreta?
  10. ¿Qué propósito tienen los filtros de alerta y cómo se aplican?

10 ejercicios prácticos que un alumno puede realizar con lo aprendido

  1. Ejecuta un escaneo activo manual sobre una URL específica desde el menú contextual de ZAP.
  2. Crea una nueva política de escaneo y ajusta su fortaleza a “Alto” y su límite a “Medio”.
  3. Configura un escaneo activo para omitir vectores de tipo “cookies” y “encabezados HTTP”.
  4. Realiza un escaneo activo en un contexto autenticado usando un usuario previamente configurado.
  5. Excluye una ruta del escaneo activo usando el menú contextual (clic derecho).
  6. Modifica los valores de “máxima duración del escaneo” y “máximo de alertas por regla” en las opciones de escaneo activo.
  7. Crea una alerta manual para una URL vulnerable simulada e indica su riesgo, confianza y parámetro afectado.
  8. Filtra en la pestaña Historial todas las solicitudes con errores 4xx usando expresiones regulares.
  9. Observa y analiza los resultados de las reglas en ejecución desde el gráfico de progreso del escaneo.
  10. Usa la función “Repetir prueba” para validar si una vulnerabilidad reportada sigue presente.

Respuestas detalladas a las 10 preguntas

1. ¿Cuál es la principal diferencia entre el escaneo pasivo y el escaneo activo en ZAP?

  • El escaneo pasivo analiza el tráfico que pasa por el proxy sin modificarlo, detectando cabeceras faltantes, cookies inseguras, etc.
  • El escaneo activo lanza ataques automatizados contra los vectores de entrada para identificar vulnerabilidades como XSS, SQLi, etc. Puede alterar el estado del sistema objetivo.

2. ¿Qué opciones ofrece la pestaña de escaneo activo?

  • Iniciar, pausar, detener escaneos.
  • Crear nuevos escaneos con personalización avanzada.
  • Acceder al “Administrador de políticas de escaneo”.
  • Ver progreso detallado por regla y en formato gráfico.
  • Listar todos los análisis activos y su estado actual.

3. ¿Qué funcionalidades se encuentran en el cuadro de diálogo de escaneo activo?

  • Elegir URL de inicio.
  • Seleccionar política de escaneo.
  • Seleccionar contexto y usuario.
  • Activar opción “Recursar” para analizar todos los nodos hijos.
  • Configurar vectores personalizados y tecnologías.
  • Aplicar filtros según método, código, etiquetas o patrones de URL.

4. ¿Qué tipos de vectores de entrada pueden configurarse?

ZAP permite escanear:

  • Parámetros en URL (GET)
  • Parámetros en POST
  • Encabezados HTTP
  • Cookies
  • Ruta de URL
  • Cuerpo sin estructura (simple)
  • Estructuras JSON, XML, multipart, OData
  • Vectores personalizados definidos por el usuario

5. ¿Cuál es la finalidad de configurar tecnologías específicas?

Permite desactivar reglas que no aplican a una tecnología concreta, reduciendo el tiempo del escaneo y evitando falsos positivos. Ejemplo: desactivar pruebas de PHP si la app está hecha en Java.

6. ¿Qué diferencias existen entre los niveles de “límite” y “fortaleza”?

  • Límite: define qué tantas alertas ZAP está dispuesto a reportar.
    • Bajo = más alertas (más falsos positivos).
    • Alto = menos alertas (más precisas).
  • Fortaleza: define cuántos ataques se realizan por regla.
    • Bajo = menos pruebas, más rápido.
    • Alto = más ataques, mayor cobertura.
    • Insano = pruebas exhaustivas, lentas.

7. ¿Qué opciones se pueden ajustar en la pantalla de configuración del escaneo activo?

  • Número de hosts y hilos simultáneos.
  • Tiempo máximo por regla y escaneo.
  • Máximo de alertas por regla.
  • Políticas por defecto para modo normal y modo de ataque.
  • Opciones como manejo de CSRF, uso de encabezado X-ZAP-Scan-ID, etc.

8. ¿Cómo se pueden filtrar solicitudes en la pestaña Historial?

Desde el botón “Filtro” o el menú contextual:

  • Por método (GET, POST…)
  • Por código (ej. 404)
  • Por etiquetas
  • Por presencia de alertas
  • Por URL usando expresiones regulares
  • Por notas

9. ¿Qué muestra la pestaña Alertas y cómo se interpreta?

  • Árbol con alertas agrupadas por severidad: alta (rojo), media (naranja), baja (amarillo), informativa (azul).
  • Al hacer clic se muestra la URL, parámetro afectado, ataque utilizado, CWE/WASC, solución sugerida, etc.
  • Se puede hacer doble clic para editar o agregar detalles personalizados.

10. ¿Qué propósito tienen los filtros de alerta?

Permiten modificar el nivel de riesgo automáticamente según criterios como:

  • URL
  • Parámetro
  • Evidencia
  • Ataque
  • Método HTTP
    Pueden ser globales o por contexto, y se pueden exportar/importar. También se usan en planes de repetición de pruebas.

Respuestas a los 10 ejercicios

1. Escaneo activo manual

  • Clic derecho sobre una URL → Ataque > Escaneo activo → Iniciar.
  • Observar alertas generadas en pestaña “Alertas”.

2. Crear política personalizada

  • Menú Escaneo activo > Administrador de políticas de escaneo.
  • Clic en “Agregar”, nombrar política.
  • En “Límite” seleccionar Medio, y en “Fortaleza” seleccionar Alto.
  • Guardar y aplicar.

3. Omitir vectores

  • Durante escaneo activo → pestaña “Vectores de entrada”.
  • Desmarcar «Cookies» y «Encabezados HTTP».
  • Guardar y ejecutar escaneo.

4. Escaneo autenticado

  • Crear contexto con autenticación configurada.
  • Agregar usuario.
  • En cuadro de diálogo de escaneo activo, seleccionar contexto y usuario.
  • Iniciar escaneo.

5. Excluir ruta del escaneo

  • Clic derecho en el nodo a excluir → Excluir de > Escáner.
  • La ruta ya no será escaneada activamente.

6. Modificar duración y alertas

  • Opciones > Escaneo activo.
  • Cambiar:
    • “Duración máxima del escaneo” a 15 minutos.
    • “Máx. alertas por regla” a 100.
  • Guardar configuración.

7. Crear alerta manual

  • Clic derecho sobre URL → Nueva alerta…
  • Seleccionar tipo (ej. XSS), nivel de riesgo y confianza.
  • Completar parámetro, ataque y evidencia.
  • Guardar.

8. Filtrar errores 4xx

  • Pestaña Historial > botón “Filtro”.
  • En “Código”, seleccionar 4xx.
  • Aplicar y revisar solicitudes filtradas.

9. Ver gráfico de progreso

  • Escaneo activo en curso → clic en “Detalles del progreso”.
  • Ver pestaña “Gráfico de respuestas”.
  • Analizar cuándo inician reglas y los códigos de respuesta.

10. Repetir prueba

  • En pestaña “Alertas”, clic derecho sobre alerta → Repetir prueba.
  • Verificar si sigue presente.
  • Crear y ejecutar plan desde pestaña Automatización.

Resumen del artículo

  • Qué es y cuándo usarlo
    El escaneo activo inyecta payloads y altera peticiones para encontrar vulnerabilidades reales; a diferencia del pasivo, puede impactar el objetivo. Úsalo solo con autorización y mejor en preproducción.
  • Cómo lanzarlo
    • Modo de ataque (no recomendado en general por su agresividad).
    • Clic derecho sobre una solicitud → Ataque > Escaneo activo…
    • Pestaña Escaneo activo: nuevo escaneo, pausar/reanudar, ver progreso, abrir Administrador de políticas y Progreso del análisis (detalles de reglas + gráfico por códigos 1xx–5xx).
  • Cuadro de diálogo de Escaneo Activo
    • Alcance: punto de inicio, política, contexto/usuario, opción Recursar, opciones avanzadas.
    • Vectores de entrada: anular ajustes globales.
    • Vectores personalizados: seleccionar exactamente qué partes de la solicitud atacar y, si quieres, deshabilitar todos los no personalizados.
    • Tecnología: activar/desactivar stacks para acelerar y enfocar pruebas.
    • Política: sobreescribir niveles por regla.
    • Filtro: incluir/excluir por método, estado, etiquetas y patrón de URL.
  • Políticas de escaneo
    • Umbral (Límite): Off / Bajo / Alto → controla qué se reporta (más bajo = más hallazgos, más falsos positivos).
    • Fortaleza: Bajo / Alto / Insane → cantidad de ataques (más fuerte = más cobertura, más tiempo).
  • Opciones de Escaneo Activo
    Concurrencia por host, hilos, top de resultados, tiempo máximo por regla y por escaneo, límite de alertas por regla, rate limiting, manejo de anti-CSRF, políticas por defecto y ventana del gráfico de progreso.
  • Vectores de entrada globales
    Query, POST, cuerpo simple, ruta, headers, cookies (con opción de URL-encode), multipart, XML, JSON, GWT, OData y vectores de script. Permite ignorar parámetros conocidos-no relevantes.
  • Administrador de Políticas
    Crear, modificar, eliminar, importar/exportar políticas para reutilizarlas entre sesiones.
  • Progreso del escaneo
    • Pestaña Progreso: reglas por host, tiempo, número de requests, botón Omitir regla actual.
    • Gráfico de respuesta: respuestas/seg por familia de códigos; zoom y menú contextual.
    • Historial: listado secuencial con método, URL, código, duración, alertas, notas y etiquetas; soporta filtros avanzados (incluye regex).
  • Trabajar con Alertas
    • Pestaña Alertas: árbol por riesgo (Alta/Media/Baja/Info), doble clic para Agregar/Editar alerta.
    • Cada alerta muestra: riesgo, confianza, CWE/WASC, descripción, evidencia, payload y soluciones sugeridas (p. ej., SQLi → usar sentencias preparadas).
    • Filtros de alertas (globales o por contexto): rebajar/subir riesgo por tipo/regla/URL/parámetro/evidencia, con pruebas y aplicación masiva.
    • Overrides: archivo de propiedades para adaptar nombre/descr./solución/referencias y tags corporativos (se integra en informes).
    • Acciones: mostrar solo en ámbito, vincular a “Sitios”, editar múltiples, borrar todas.
  • Notas, etiquetas y flujo de trabajo
    Añade Notas a solicitudes; usa etiquetas para tecnologías/condiciones; gestiona desde clic derecho (incluir/excluir en contexto, spider, puntos de ruptura, abrir en navegador, generar formulario anti-CSRF, etc.).
  • Repetición de pruebas (Retest)
    Selecciona alertas → Repetir prueba → crea plan, verifica estado Presente/Ausente, ejecuta desde Panel de Automatización; durante retest, umbral/fortaleza se fijan en Medio para rapidez y consistencia.
  • Buenas prácticas
    Ejecutar en staging, limitar tasa, cuidar sesiones y tokens anti-CSRF, excluir logout y datos sensibles, reducir superficie con vectores personalizados, complementar con pruebas manuales de lógica de negocio e integrar en CI/CD.

Despedida: lo que te llevas y cómo te potencia como hacker

Hoy aprendiste a configurar y conducir un escaneo activo en ZAP de forma precisa y segura: definir alcance/contextos/usuarios, ajustar umbral y fortaleza, elegir vectores, filtrar por método/estado/URL/etiquetas, leer progreso e historial, interpretar y editar alertas (con evidencia, CWE/WASC y remediaciones), aplicar filtros/overrides y automatizar re-tests. Hemos recorrido el flujo de trabajo estratégico que transforma el Escaneo Activo de ZAP de una caja negra a un instrumento de precisión.

Configuraste con Precisión: Definiendo el alcance, calibrando la agresividad y apuntando con vectores específicos.

Ejecutaste con Control: Monitoreando el escaneo en tiempo real para asegurar su salud y efectividad.

Analizaste con Inteligencia: Interpretando, filtrando, validando y contextualizando cada hallazgo.

Un escaneo activo exitoso no depende de la fuerza bruta, sino de la configuración inteligente y el análisis crítico. La herramienta encuentra patrones, pero el analista es quien descubre las vulnerabilidades y comunica el impacto real. Con estas habilidades podrás descubrir y validar vulnerabilidades reales, reducir ruido, priorizar por riesgo, y entregar hallazgos accionables y repetibles tanto en pentests como en pipelines de CI/CD. Úsalas siempre con ética y autorización: un buen hacker no solo encuentra fallos, demuestra impacto y ayuda a corregirlos.

Deja una respuesta

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