Saltar al contenido
Portada » Blog – Laprovittera Carlos » Informes y Automatización en ZAP

Informes y Automatización en ZAP

En este capítulo, Informes y Automatización en ZAP, vas a aprender cómo configurar y personalizar informes (ámbito, plantillas, secciones, temas y filtros), exportar e importar datos (HAR, URLs, árbol de sitios), y usar el Automation Framework para orquestar scans, spiders, pruebas, autenticación, retests y trabajos personalizados (activeScan, passiveScan, Spider, Ajax Spider, GraphQL, OpenAPI, SOAP, scripts, etc.).

Esto es crucial para tu carrera como hacker porque te permite documentar hallazgos de forma reproducible y profesional, integrar ZAP en pipelines CI/CD, automatizar pruebas periódicas y de regresión, y generar evidencias y métricas que facilitan el seguimiento, priorización y verificación de correcciones. En pentests y en seguridad integrada a desarrollo, los informes y la automatización hacen que tus pruebas sean accionables, repetibles y escalables.

Table of Contents

La Evolución Necesaria del Especialista en Seguridad

El Enfoque Artesanal

• Pruebas manuales únicas

• Informes estáticos y lentos

• Aislado del ciclo de desarrollo

• Irrepetible

El Enfoque de Ingeniería

• Flujos de prueba como código

• Informes dinámicos para cada audiencia

• Integrado en el SDLC

• Consistente y escalable

ZAP te da las herramientas para construir sistemas de seguridad, no solo para encontrar vulnerabilidades.

Los Dos Pilares de la Ingeniería de Seguridad en ZAP

Comunicar Valor: Informes profesionales que demuestran impacto y guían la acción correctiva.

Escalar Impacto: Automatización que integra la seguridad de forma sistemática y reproducible.

Primero, aprenderemos a comunicar nuestros hallazgos con precisión. Luego, a escalar nuestras pruebas a la velocidad del desarrollo.

Anatomía de un Informe Perfecto

Tus 3 Palancas de Control

Control total sobre el contenido, la apariencia y la granularidad de tus hallazgos.

Un Informe para Cada Audiencia, un Formato para Cada Necesidad

ZAP te permite pasar de un volcado de datos a una comunicación estratégica.

ZAP como tu Centro de Datos de Seguridad

Enriquece tus análisis importando contexto externo y exporta resultados para integrarlos en otros flujos de trabajo.

Tu Plan de Ataque en un Archivo – El Automation Framework

Define, versiona y comparte tus flujos de prueba como si fueran código. Esta es la base de la Seguridad como Código (SaC) con ZAP.

Los Bloques de Construcción de tu Flujo Automatizado

Combina estos bloques para crear pipelines de prueba a la medida de cualquier aplicación o necesidad. Ejemplo: De la URL al Informe en 5 Pasos Automatizados

Este es el poder de la automatización: un flujo completo, reproducible y definido en un solo lugar.

No Dejes que el Login Detenga tu Automatización

El Automation Framework soporta todos los mecanismos de autenticación de ZAP: Formulario’, ‘JSON’, ‘HTTP/NTLM’, y ‘Scripts.

Recomendación Práctica

• Paso 1: Configura y prueba la autenticación en la GUI de escritorio de ZAP. Es el entorno más fácil para depurar.

• Paso 2: Genera tu plan de automatización usando la opción

• Resultado: ZAP incluirá automáticamente la configuración de autenticación del contexto en tu archivo *plan. yaml’.

Más Allá del Escaneo un escaneo encuentra cosas. Una prueba valida una hipótesis. Convierte tus escaneos en verdaderas pruebas de regresión de seguridad.

Falla tu build si una vulnerabilidad crítica reaparece o si una protección de seguridad falla.

Tu Transformación a Ingeniero de Seguridad, Resumida

Comunicas Valor con Precisión: Genera informes profesionales y segmentados para cada audiencia, desde desarrolladores hasta C-level, usando plantillas, temas y filtros.

Escalas tu Impacto con Sistemas: Automatiza flujos complejos y reproducibles con el Automation Framework, tratando tus planes de prueba como código.

Te Integras y Validas Continuamente: Integra la seguridad en pipelines de CI/CD y valida los resultados con pruebas automáticas, fallando el build cuando sea necesario.

Has pasado de buscar fallos a construir sistemas de aseguramiento de la calidad de la seguridad.

Tu Camino en 3 Pasos

GENERA TU PLANO: No empieces desde cero. Usa la opción de línea de comandos – autogenconf sobre una sesión autogenconf sobre una sesión existente para generar un plan YAML basado en tu configuración actual.

. / zap. sh -cmd -autogenconf tu-plan.yaml

EXPERIMENTA Y MEJORA: Abre tu-plan. yaml. Modifícalo. Añade un trabajo de report al final. Agrega una prueba de Agrega una prueba de alert para una vulnerabilidad que conozcas.

INTEGRA Y EJECUTUA: Ejecuta tu primer plan desde la línea de comandos en modo headless. de comandos en modo headless. Observa la magia suceder.

./zap .sh -cmd -autorun tu-plan .yaml

Para una inmersión profunda, consulta la documentación oficial del Automation Framework en zaproxy.org.

Construye el Futuro de la Seguridad. Un commit a la vez. Con OWASP ZAP, tienes el poder de no solo auditar el software, sino de fortalecer el proceso que lo crea.

Generación de informes

Este complemento le permite generar una variedad de informes de forma flexible y extensible. Proporciona un cuadro de diálogo al que se puede acceder a través del elemento de menú «Informe / Generar informe…» o mediante el botón de la barra de herramientas «Generar informe…». También es compatible con Automation Framework .

Cuadro de diálogo Generar informe

Ámbito

La pestaña Alcance tiene los siguientes campos:

  • Título del informe El título que se utilizará en el informe.
  • Nombre del informe El nombre de archivo que se utilizará para el informe. Este nombre puede incluir los siguientes patrones:
    • {{Patrón de fecha/hora }} . Cualquier patrón de fecha/hora de Java, por ejemplo:yyyy-MM-dd
    • [[site]]El nombre del primer sitio seleccionado
  • El nombre se actualizará automáticamente con el sitio seleccionado y la extensión del tipo de informe. Para cambiar el nombre predeterminado utilizado, cambie el ‘Patrón de nombre de informe’
  • Directorio de informes El directorio en el que se escribirá el informe. Este directorio se seleccionará la próxima vez que se abra el cuadro de diálogo.
  • Descripción La descripción que se incluirá en el informe.
  • Contextos Una lista de todos los contextos disponibles actualmente. Seleccione uno o más para incluir solo alertas y otra información de esos contextos en el informe. Puede usar las teclas Mayús o Control para seleccionar y deseleccionar más de un contexto. De forma predeterminada, se incluirán todos los contextos.
  • Sitios Una lista de todos los sitios disponibles actualmente. Seleccione uno o más para incluir solo alertas y otra información de esos sitios en el informe. Puede usar las teclas Mayús o Control para seleccionar y deseleccionar más de un sitio. De forma predeterminada, se incluirán todos los sitios. Si selecciona sitios que no están en los contextos que también ha seleccionado, no se incluirán datos en el informe.
  • Generar si no hay alertas De forma predeterminada, el cuadro de diálogo le impedirá generar un informe sin alertas. Seleccione esta casilla de verificación si desea generar un informe sin alertas.
  • Mostrar informe Si se selecciona, ZAP intentará abrir el informe utilizando el programa predeterminado utilizado por su sistema operativo para ese tipo de informe

Campos de plantilla

La pestaña Plantilla tiene los siguientes campos:

  • Plantilla Un menú desplegable que contiene todas las plantillas disponibles. Los nombres de las plantillas incluyen el formato en el que se generarán, por ejemplo, HTML, MD, PDF, etc.
  • Tema Las plantillas pueden definir opcionalmente «temas», normalmente diferentes colores y estilos que se aplican al mismo contenido. Si hay algún tema definido para la plantilla seleccionada, puede seleccionarlo aquí.
  • Secciones Las plantillas pueden definir opcionalmente «secciones», partes del informe que se pueden incluir o excluir. Si la plantilla seleccionada define secciones, se mostrará aquí una casilla de verificación para cada sección. De forma predeterminada, todas las casillas de verificación estarán seleccionadas. Si deselecciona alguna de las secciones, no se incluirá en el informe.

Campos de filtro

La pestaña Filtro tiene los siguientes campos:

  • Incluir riesgos Incluir alertas con los riesgos seleccionados.
  • Incluir confianzas Incluir alertas con las confianzas seleccionadas.

Campos de opciones

La pestaña Opciones tiene los siguientes campos:

  • Patrón de nombre de informe El patrón que se utilizará para generar el nombre del informe.
  • Directorio de plantillas El directorio desde el que se cargarán las plantillas. Normalmente no debería ser necesario cambiarlo a menos que esté diseñando nuevos informes, en cuyo caso puede ser útil cambiar para que apunte a su directorio de informes de código fuente local. La carpeta «informes» en su directorio de inicio de ZAP se utiliza de forma predeterminada.

Descripciones de los campos riskdesc

riskdesc: es un identificador de combinación que muestra Riesgo seguido de Confianza (entre paréntesis). Por ejemplo, High (Medium)indicaría un problema de alto riesgo identificado con confianza media.

Creado: El createdcampo es un instante en la representación ISO-8601.

Ejemplo de informe de alto nivel

Secciones

SecciónID
Gráfico de resumen de riesgosriskSummaryChart
Número de ocurrencias de erroresbugsCountChart
Impacto de la vulnerabilidadvulnerabilidadImpact

Captura de pantalla

Informe HTML moderno con temas y opciones

Secciones

SecciónID
Gráficográfico
Recuento de alertasrecuento de alertas
Recuento de instanciasrecuento de instancias
Reglas de pasoreglas de paso
Detalles de alertasdetalles de alertas
Estadísticasestadísticas
Parámetrosparámetros

Temas

TemaID
Consola [Oscuro / Verde]consola
Construcción [Claro / Naranja]construcción
Corporativo [Claro / Azul]corporativo
Marketing [Claro / Morado]marketing
Montaña [Azul claro / Oscuro]montaña
Naturaleza [Claro / Verde]naturaleza
Océano [Claro / Azul]océano
Plutonio [Oscuro / Verde]plutonio
Horizonte [Oscuro / Rosa]horizonte
Tecnología [Oscuro / Rojo]tecnología

Captura de pantalla

HTML de riesgo y confianza

Secciones

SecciónID
Contenidocontenido
Acerca de este informeaboutThisReport
Descripción del informedescripciónDeInforme
Parámetros del informeparámetrosDeInforme
Resúmenesresúmenes
Recuento de alertas por riesgo y confianzarecuentosDeConfianzaDeRiesgo
Recuento de alertas por sitio y riesgorecuentosDeRiesgoDeSitio
Recuento de alertas por tipo de alertarecuentosDeTipoDeAlerta
Alertasalertas
Línea de solicitud y sección de encabezadoencabezadoDeRespuesta
Cuerpo de la solicitudcuerpoDeRespuesta
Línea de estado de respuesta y sección de encabezadoencabezadoDeRespuesta
Cuerpo de la respuestacuerpoDeRespuesta
Apéndiceapéndice
Tipos de alertatiposDeAlerta

Captura de pantalla

HTML tradicional con solicitudes y respuestas

Secciones

SecciónID
Gráficográfico
Recuento de alertasrecuento de alertas
Recuento de instanciasrecuento de instancias
Reglas de pasoreglas de paso
Detalles de alertasdetalles de alertas
Estadísticasestadísticas
Parámetrosparámetros
Detalles de secuenciadetalles de secuencia

Compatibilidad con secuencias

Si se incluyen «Detalles de secuencia» en el informe, se incluirán tanto una sección de resumen como una de detalles.

Temas

TemaID
Claroclaro
Oscurooscuro

Captura de pantalla

HTML tradicional

Secciones

SecciónID
Recuento de alertasrecuento de alertas
Recuento de instanciasrecuento de instancias
Detalles de alertasdetalles de alertas
Detalles de secuenciadetalles de secuencia

Captura de pantalla

Compatibilidad con secuencias

Si se incluyen «Detalles de secuencia» en el informe, se incluirán tanto una sección de resumen como una de detalles.

PDF tradicional

Secciones

SecciónID
Recuento de alertasrecuento de alertas
Recuento de instanciasrecuento de instancias
Detalles de alertasdetalles de alertas

Captura de pantalla

Plantillas de informe

Las siguientes plantillas están disponibles:

Nombre/Enlace a detalles, Captura de pantalla/MuestraIDFormatoSeccionesTemas
Ejemplo de informe de alto nivelinforme de alto nivelHTML 
Informe HTML moderno con temas y opcionesmodernoHTML
HTML de riesgo y confianzarisk-confidence-htmlHTML 
Informe HTML tradicionaltraditional-htmlHTML 
Informe HTML tradicional con solicitudes y respuestastraditional-html-plusHTML
Informe JSON tradicionaltraditional-jsonJSON  
Informe JSON tradicional con solicitudes y respuestastraditional-json-plusJSON 
Informe JSON SARIFsarif-jsonJSON  
Informe Markdown tradicionaltraditional-mdMarkdown 
Informe PDF tradicionaltraditional-pdfPDF 
Informe XML tradicionaltraditional-xmlXML  
Informe XML tradicional con solicitudes y respuestastraditional-xml-plusXML  

Importación/Exportación

Este complemento le permite importar y exportar datos ZAP en una variedad de formatos. Es compatible con el marco de automatización .

Menús

  • Copiar URL Un elemento del menú contextual para copiar URL al portapapeles del sistema.
  • Guardar entradas seleccionadas como HAR (archivo HTTP) Un elemento del menú contextual para guardar los mensajes HTTP seleccionados en formato HAR.
  • Guardar mensaje sin procesar Proporciona un menú contextual para guardar el contenido de los mensajes HTTP como binario. (Aunque los archivos probablemente se abran en un editor simple, podrían contener caracteres nulos o bytes mal formados).
  • Guardar mensaje XML Proporciona un menú contextual para guardar el contenido de los mensajes HTTP como XML.
  • Importar HAR (archivo comprimido HTTP) Opción para importar mensajes desde un archivo HTTP (HAR), disponible en el menú «Importar». Nota : Se pueden realizar las siguientes modificaciones al importar un archivo HAR (archivo HTTP):
    • Versión HTTP faltante: si al mensaje le falta el atributo httpVersion, se establecerá como “HTTP/1.1”.
    • Versión HTTP 3: si el mensaje tiene su atributo httpVersion establecido como “h3”, “http/3”, “http/3.0”, se establecerá como “HTTP/2”.
    • Retorno de carro (CR) o avance de línea (LF) en encabezados: si el mensaje contiene encabezados con CR o LF, se eliminarán los CRLF.
  • Importar archivo de registro Le permite importar archivos de registro de ModSecurity y archivos previamente exportados desde ZAP.
  • Importar URL Hay una opción para importar un archivo de URL disponible en el menú «Importar» (Importar un archivo que contenga URL). El archivo debe ser texto sin formato con una URL por línea. Las líneas en blanco y las que empiezan con # se ignorarán.
  • Herramientas / Podar árboles de sitios… Esto le permite podar URL del Árbol de sitios utilizando un archivo en el formato del Árbol de sitios

Exportar

El complemento también agrega un menú de nivel superior “Exportar”, que proporciona la siguiente funcionalidad.

  • Guardar mensajes… Esto le permite guardar solicitudes y respuestas en un archivo de texto. Seleccione los mensajes que desea guardar en la pestaña Historial (incluida la selección múltiple).
  • Guardar respuestas… Esto le permite guardar respuestas específicas en un archivo. Seleccione el mensaje correspondiente en la pestaña Historial. Tenga en cuenta que se pueden guardar tanto respuestas binarias (como imágenes) como de texto.
  • Guardar árbol de sitios… Esto le permite guardar el Árbol de sitios en el formato de Árbol de sitios
  • Guardar todas las URL… Esto le permite guardar todas las URL accedidas en un archivo de texto o HTML. Esto puede usarse, entre otras cosas, para comparar las URL disponibles para usuarios con diferentes roles o permisos en el mismo sistema. (También puede considerar el complemento Pruebas de Control de Acceso). Esta función también está disponible mediante el menú contextual del botón derecho en el panel de árbol de Sitios.
  • Guardar URL… Se exportan todas las URL del árbol de Sitios que se encuentran dentro del nodo seleccionado. Esta función también está disponible en el menú contextual al usarla en un nodo de Sitio o Contexto del panel del árbol de Sitios.

Marco de automatización

Este complemento proporciona un marco que permite automatizar ZAP de una manera fácil y flexible.

Opciones de línea de comandos

Proporciona las siguientes opciones de línea de comando:

  • -autorun <fuente> Ejecuta los trabajos de automatización especificados en el archivo o desde la URL.
  • -autogenmin <nombre de archivo> Genera un archivo de automatización de plantilla con los parámetros clave.
  • -autogenmax <nombre de archivo> Genera un archivo de automatización de plantilla con todos los parámetros.
  • -autogenconf <nombre de archivo> Genera un archivo de automatización de plantilla utilizando la configuración actual.

Códigos de salida

Si la -autorunopción se utiliza con la -cmdopción ZAP, el valor de salida de ZAP se establecerá de forma predeterminada de la siguiente manera:

  • 0 – El plan se completó exitosamente sin errores ni advertencias
  • 1 – El plan reportó uno o más errores
  • 2 – El plan no reportó errores pero sí una o más advertencias

Estos valores pueden ser anulados por el trabajo exitStatus

. La finalización del plan tras detectar errores o advertencias dependerá de la configuración del entorno .

Uso

Para utilizar el marco de automatización:

  1. Genere un archivo de automatización de plantilla utilizando una de las -autogen*opciones de la línea de comando
  2. Edite el archivo para que coincida con sus requisitos
  3. Ejecute el archivo usando la -autorunopción de línea de comando, por ejemplo./zap.sh -cmd -autorun config.yaml

Nota: Los trabajos se ejecutan en el orden en que aparecen (de arriba a abajo) dentro del Plan.

En la mayoría de los casos, se recomienda usar también la -cmdopción de línea de comandos para que el escritorio ZAP no se muestre y ZAP se cierre en cuanto termine de generar o ejecutar los trabajos definidos en el archivo. Sin embargo, puede ejecutar trabajos de Automation Framework usando el escritorio ZAP para facilitar la depuración de problemas.

Marco de automatización – GUI

El marco de automatización tiene una GUI que está en proceso de desarrollo.

Pestaña de automatización

Esta pestaña permite crear, cargar, editar y ejecutar trabajos de automatización. Tiene dos subpestañas.

Una barra de herramientas proporciona los siguientes botones:

  • Nuevo plan… – esto inicia el cuadro de diálogo Nuevo plan
  • Cargar plan… – esto le permite cargar un plan desde un archivo yaml
  • Guardar plan: esto guarda el plan actual en un archivo yaml
  • Ejecutar plan: esto ejecuta el plan actual
  • Detener plan: esto detiene el plan actual
  • Agregar trabajo…: esto inicia el cuadro de diálogo Agregar trabajo para agregar un trabajo al plan actual
  • Eliminar trabajo…: esto elimina el trabajo seleccionado del plan actual
  • Mover trabajo hacia arriba: esto mueve el trabajo seleccionado un lugar hacia arriba en el plan actual
  • Mover trabajo hacia abajo: esto mueve el trabajo seleccionado un lugar hacia abajo en el plan actual
  • Agregar prueba…: esto inicia el cuadro de diálogo Agregar prueba para agregar una prueba al trabajo actual
  • Eliminar prueba…: esto elimina la prueba seleccionada del trabajo actual

Subpestaña Plan

Una representación gráfica del plan que también muestra su estado durante su ejecución.

Puede editar cualquiera de sus elementos haciendo doble clic en ellos.

También puede cambiar las siguientes opciones generales de trabajo a través de la tabla de planes:

  • Habilitado: solo se ejecutarán los trabajos que estén habilitados.
  • Ejecutar siempre: los trabajos habilitados con esta opción se ejecutarán incluso si el plan finaliza antes.

Subpestaña de salida

Cualquier salida generada cuando carga o ejecuta el plan.

Planes futuros

Las futuras versiones de este complemento agregarán:

  • Soporte para múltiples planes
  • Creando el plan a partir de la configuración actual

Compatibilidad con Spider Automation Framework

Este complemento es compatible con Automation Framework.

Trabajo: Spider

El trabajo Spider ejecuta el Spider tradicional. Es rápido, pero no gestiona las aplicaciones modernas con la misma eficacia. Se trata en el vídeo: ZAP Chat 10 Automation Framework Parte 4 – Spidering . De forma predeterminada, este trabajo rastreará el primer contexto definido en el entorno, por lo que ninguno de los parámetros es obligatorio. Este trabajo admite pruebas de monitorización.

Asistente de autenticación

Este complemento ayuda a identificar y configurar el manejo de la autenticación en ZAP. El complemento se puede utilizar de varias maneras:

  • Para detectar pasivamente funciones de autenticación.
  • Para admitir mecanismos de autenticación más nuevos basados ​​en navegador.
  • Configurar automáticamente ZAP para manejar las funciones de autenticación descubiertas.
  • Para generar un informe de autenticación detallado.

Este complemento actualmente no realiza ninguna exploración por sí solo: depende de solicitudes enviadas por ZAP (por ejemplo, a través de un navegador controlado manualmente o pruebas de integración) o solicitudes generadas por ZAP (por ejemplo, a través de arañas tradicionales o AJAX). Puede utilizar el cuadro de diálogo Probador de autenticación para ver si ZAP puede configurar automáticamente el manejo de la autenticación para sus aplicaciones de destino.

Informe de autenticación – JSON

Este es un informe especializado que detalla cómo funcionó el manejo de la autenticación para el sitio determinado. Debe especificar el sitio para el cual desea el informe, de lo contrario no se generarán datos. Este informe está diseñado para ejecutarse después de intentar acceder al menos a una URL autenticada con el método de autenticación configurado correctamente y con credenciales válidas. El manejo y verificación de la sesión se puede dejar en “detección automática”: este informe detallará qué tan efectiva fue esa opción.

Marco de automatización: autenticación

El marco de automatización admite todos los mecanismos de autenticación admitidos por ZAP.

Variables ambientales

ZAP admite un conjunto de variables ambientales de encabezado de autenticación: ZAP las aplicará si están definidas independientemente de cómo se ejecute ZAP, incluso a través del marco de automatización.

Estas variables ambientales deben definirse a nivel del sistema: si se definen en la sección del entorno env, se ignorarán.

Autenticación basada en contexto

El marco de automatización admite los siguientes métodos de autenticación compatibles con ZAP:

  • Manual (use esto si está utilizando la variable ambiental del encabezado de autenticación)
  • HTTP/NTLM
  • Basado en formularios
  • Basado en JSON
  • Guion

El marco de automatización admite los siguientes métodos de autenticación proporcionados por el complemento Authentication Helper:

  • Detección automática de autenticación
  • Autenticación basada en navegador
  • Autenticación de script de cliente

Estadísticas de autenticación

ZAP mantiene estadísticas de autenticación: busque «auth» en el campo de clave en la página de Estadísticas Internas de ZAP . Estas son ideales para usar en pruebas y comprobar que la autenticación funciona correctamente.

Las estadísticas de autenticación se mantienen para todos los métodos de autenticación admitidos (incluido el «manual»), pero solo si ha configurado correctamente todos los elementos de autenticación.

Se recomienda encarecidamente probar esto a través de la GUI del escritorio ZAP.

Configuración de la autenticación

La forma recomendada de configurar la autenticación es a través de la interfaz gráfica de escritorio de ZAP. Esto le brinda control total sobre todos los aspectos y le permite probarla en el sitio.

Después, puede crear un nuevo plan de Automation Framework utilizando los contextos que ha probado; los elementos de autenticación se inicializarán correctamente para todos los aspectos compatibles.

Vale la pena señalar que los elementos de autenticación no se pueden editar a través de la GUI de Automation Framework , pero no se perderán si usa la GUI siempre que no la use para eliminar los contextos.

La GUI se actualizará para admitir todos los elementos de autenticación a su debido tiempo.

Marco de automatización – Entorno

Esta sección del archivo de configuración YAML define las aplicaciones sobre las que pueden actuar el resto de trabajos. El entorno se cubre en el video: ZAP Chat 08 Automation Framework Parte 2 – Entorno . El marco de automatización admite todos los mecanismos de autenticación admitidos por ZAP. Al probar objetivos que operan en puertos predeterminados (80 para http, 443 para https), no se debe incluir la parte del puerto (dos puntos) de la URL. Incluir dicha parte (por ejemplo: http://example.com:80 ) podría impedir el rastreo o la prueba del objetivo. Si se especifica un puerto predeterminado, tanto los navegadores como ZAP lo tratan sin incluirlo, no cumple con las expectativas del contexto y no hay nada con lo que interactuar.

Variables

Las variables se pueden definir en la sección «vars». Pueden estar codificadas, hacer referencia a otras variables o a variables de entorno del sistema, como se indicó anteriormente; por ejemplo, «${envvar}». Si hay dos variables con el mismo nombre, se preferirá el valor de la variable de sistema.

Configuraciones

La sección ‘configs’ se puede utilizar para definir cualquier valor que se pueda configurar en el archivo de configuración de ZAP, que funciona de la misma manera que la opción de línea de comando ‘-config’ de ZAP.

Las ventajas de utilizar esta sección en lugar de la línea de comandos son:

  1. La configuración será autónoma en el plan.
  2. El equipo de ZAP monitoreará las claves utilizadas de esta manera (cuando la telemetría esté habilitada) y priorizará agregar soporte completo para las más utilizadas.
  3. Se generarán advertencias cuando una clave en uso tenga una mejor solución disponible

No se realiza ninguna validación de las claves ni de los valores, por lo que es su responsabilidad comprobar que su configuración sea correcta. Las claves no válidas se ignorarán.

La forma recomendada de determinar las claves está documentada en las preguntas frecuentes: ¿Cómo saber qué clave usar para establecer un valor de configuración en la línea de comando? Un ejemplo práctico, que establece el número de subprocesos de escaneo pasivo, es:

Marco de automatización – Trabajo activeScan

Esta tarea ejecuta el escáner activo. Ataca activamente sus aplicaciones y, por lo tanto, solo debe usarse contra aplicaciones que tenga permiso para probar. Se trata en el video: ZAP Chat 12 Automation Framework Parte 6: Retrasos y escaneo activo . De forma predeterminada, este trabajo escaneará activamente el primer contexto definido en el entorno y, por lo tanto, ninguno de los parámetros es obligatorio. Este trabajo admite pruebas de monitorización .

A menos que el defaultThresholdde el policyDefinitiones OFFtodas las reglas se habilitarán para comenzar. La política puede ser una definida por un trabajo de política de activeScan anterior o por un archivo de política de análisis guardado en el directorio principal policies de ZAP . Para obtener más información sobre cómo ZAP procesa la definición de política, consulte la documentación del trabajo de política de activeScan .

Datos del trabajo

La siguiente clase estará disponible para los complementos que proporcionan acceso a los datos del trabajo, como el complemento de informes. Tenga en cuenta que, en este caso, los datos corresponden al último escaneo activo, independientemente de si lo inició Automation Framework, la interfaz de usuario o la API.

Marco de automatización – Trabajo de política de activeScan

Este trabajo define una política de análisis activo. Esta política puede ser utilizada posteriormente en el plan por trabajos relacionados con el análisis activo, como el trabajo activeScan .

Jerarquía de definiciones de políticas

ZAP procesa la definición de la política en el siguiente orden:

  1. Comportamiento predeterminadoOff : Todas las reglas comienzan con la configuración predeterminada de intensidad y umbral. En la mayoría de los casos, se espera que el umbral predeterminado se configure en [valor] .
  2. Procesamiento de etiquetas de alerta : Las reglas que coinciden con los includepatrones se habilitan con la intensidad y el umbral de la etiqueta de alerta especificados, y las reglas que coinciden con cualquier excludepatrón se eliminan del conjunto incluido. Para obtener una lista completa de las etiquetas de alerta predeterminadas, consulte Etiquetas de alerta .
  3. Anulación de reglas individuales : las reglas enumeradas explícitamente en la rulessección tienen prioridad sobre las configuraciones de etiquetas de alerta y los valores predeterminados de las políticas.

retrasar trabajo

Este trabajo espera un tiempo específico a menos que se cumpla una de las condiciones. Se puede usar para esperar a que las pruebas de regresión se envíen a través de ZAP para explorar la aplicación con mayor profundidad. Se trata en el video: ZAP Chat 12 Automation Framework Parte 6: Retrasos y escaneo activo . El parámetro de tiempo admite los formatos hh:mm:ss, mm:ssy ss, por lo que “5” es 5 segundos, “1:30” es un minuto y 30 segundos y “2:20:30” es 2 horas, 20 minutos y 30 segundos. Las condiciones admitidas son:

  • La creación del archivo dado por el parámetro opcional fileName
  • Llamando al método estático:org.zaproxy.addon.automation.jobs.DelayJob.setEndJob(true);
  • Llamando al punto final de la API:automation / action / endDelayJob

Trabajo de estado de salida

Este trabajo establece el código de salida de ZAP según los resultados del análisis. También permite elegir los valores de salida utilizados. Normalmente debería ser el último trabajo de un plan.

Si se configuran warnLevel o errorLevel, el trabajo informará una advertencia o un error si se generan alertas que tengan el mismo nivel de riesgo o mayor.

De forma predeterminada, al ejecutar ZAP con las opciones -cmdy -autorun, se cerrará con un 1 si hay errores, con un 2 si hay advertencias y, si todo está correcto, con un 0. Estos valores pueden sobrescribirse con las *ExitValueopciones. *ExitValuesSe puede usar junto con warn/errorLevel o de forma totalmente independiente.

tarea passiveScan-config

Este trabajo le permite administrar la configuración del escaneo pasivo. Se trata en el vídeo: ZAP Chat 08 Automation Framework Parte 2 – Entorno . El escáner pasivo se ejecuta con todas las solicitudes y respuestas generadas por ZAP o transmitidas por proxy. Si desea configurar el escaneo pasivo, normalmente debe hacerlo antes de ejecutar cualquier otro trabajo. Sin embargo, puede ejecutar este trabajo más tarde o varias veces si desea que diferentes trabajos utilicen distintas configuraciones de escaneo pasivo.

El trabajo guarda la configuración actual del análisis pasivo al iniciar un plan y la restablece al finalizar. Esto se hace principalmente para garantizar que la configuración de scanOnlyInScope no se modifique; el valor predeterminado es «true» para el trabajo, pero «false» en la interfaz gráfica de usuario. Tenga en cuenta que, si lo configura disableAllRules, truepermanecerán deshabilitadas al finalizar el plan. Volver a habilitarlas automáticamente al finalizar el plan podría provocar que las reglas se habiliten mientras se procesa la cola de escaneo pasivo, por ejemplo, si no se utiliza el trabajo passiveScan-wait o si se utiliza, pero con la opción maxDuration configurada.

En versiones hasta la 0.16.0 (incluida), ejecutar este trabajo con la configuración predeterminada cambiaba scanOnlyInScope a «true» en la interfaz gráfica de usuario. Esto ha resultado confuso, ya que muchos usuarios usan la interfaz gráfica de usuario sin definir un ámbito. Cuando scanOnlyInScope se establece en «true» y no se define ningún ámbito, no se generan alertas de escaneo pasivo.

passiveScan-wait

Este trabajo espera a que el escáner pasivo termine de analizar las solicitudes y respuestas en la cola actual. Normalmente, se debe ejecutar después de los trabajos que exploran la aplicación, como los trabajos de araña o los que importan definiciones de API. Si se envían más solicitudes por ZAP o se envían a través de ZAP después de la ejecución de este trabajo, el escáner pasivo las procesará. Puede ejecutar este trabajo tantas veces como necesite.

Se trata en el video: ZAP Chat 12 Automation Framework Parte 6: Retrasos y escaneo activo .

Datos del trabajo

La siguiente clase estará disponible para los complementos que proporcionan acceso a los datos del trabajo, como el complemento de Informes. Tenga en cuenta que, en este caso, los datos provienen de las reglas de escaneo pasivo habilitadas, independientemente de si se han utilizado como resultado de Automation Framework, la interfaz de usuario o la API.

Trabajo del solicitante

Este trabajo envía solicitudes diseñadas específicamente a una URL de destino, con un método y un cuerpo de solicitud personalizados. El usuario también puede especificar un código de respuesta esperado, con el que se compara la respuesta real y recibe una advertencia si no coincide. El usuario puede agregar encabezados adicionales a la solicitud, como tokens de autorización, etc.

Se trata en el vídeo: ZAP Chat 09 Automation Framework Parte 3 – Solicitudes .

Spaidering

Este complemento es compatible con el marco de automatización. La tarea Spider ejecuta el Spider tradicional. Es rápido, pero no gestiona las aplicaciones modernas con la misma eficacia. Se trata en el vídeo: ZAP Chat 10 Automation Framework Parte 4 – Spidering . De forma predeterminada, este trabajo rastreará el primer contexto definido en el entorno y, por lo tanto, ninguno de los parámetros es obligatorio. Este trabajo admite pruebas de monitorización.

Prueba de alertas de trabajo

Las pruebas de alertas son compatibles con los trabajos activeScan y passiveScan-wait. Estas pruebas permiten validar la presencia o ausencia de alertas específicas en el análisis activo/pasivo. Es obligatorio que las alertas especificadas en el plan tengan un scanRuleId, con el que siempre se compararán las alertas generadas. Todos los demás campos que describen una alerta son expresiones regulares opcionales y solo se compararán si se especifican.

Un trabajo puede tener pruebas para múltiples alertas y se pueden crear múltiples pruebas para alertas que tengan el mismo scanRuleId.

Monitorizar pruebas de trabajo

Las pruebas de monitorización están respaldadas por trabajos de ejecución prolongada, como activeScan y spider. A diferencia de otras pruebas de trabajo, las pruebas de monitorización se ejecutan mientras un trabajo está en ejecución. Funcionan de forma similar a las pruebas estadísticas : comprueban una estadística específica, pero no hay un operador; la prueba fallará si el valor de la estadística supera el umbral establecido. Las pruebas de monitorización se pueden utilizar para finalizar anticipadamente un trabajo de larga duración, por ejemplo, si hay demasiados fallos de autenticación.

Puede encontrar una lista actualizada de las estadísticas que mantiene ZAP en  https://www.zaproxy.org/docs/internal-statistics/ . Un trabajo puede tener pruebas para múltiples estadísticas y se pueden crear múltiples pruebas para la misma estadística. Tenga en cuenta que las pruebas del monitor funcionarán correctamente solo si se han habilitado las estadísticas en memoria .

 prueba de trabajo de presencia de URL

Todos los trabajos admiten pruebas de presencia de URL. Estas pruebas permiten validar la presencia o ausencia de una URL y sus expresiones específicas en la respuesta o solicitud HTTP. Estas expresiones se especifican en el archivo YAML como expresiones regulares. La prueba se aprobará si la URL o la expresión especificada se encuentra en la respuesta o solicitud, según el operador seleccionado. Un trabajo puede tener pruebas para múltiples expresiones y se pueden crear múltiples pruebas para expresiones que tengan la misma URL. El marco de automatización admite la prueba de los resultados del trabajo en función de las condiciones que puede configurar en el archivo YAML. Las pruebas admitidas actualmente son:

  • alerta – Pruebas de alerta: validan la presencia o ausencia de alertas específicas
  • Monitor – Pruebas de monitor: le permiten detener trabajos de larga duración según umbrales estadísticos
  • estadísticas – Pruebas de estadísticas: prueba cualquiera de las estadísticas mantenidas por ZAP
  • url – Pruebas de URL: validan la presencia/ausencia de una URL y sus expresiones específicas en la respuesta/solicitud HTTP

AJAX Spider

Compatibilidad con el marco de automatización Ajax Spider. Este complemento es compatible con el marco de automatización.  El trabajo spiderAjax le permite ejecutar Ajax Spider: es más lento que el spider tradicional pero maneja bien las aplicaciones web modernas. Se trata en el vídeo: ZAP Chat 10 Automation Framework Part 4 – Spidering . Este trabajo admite pruebas de monitorización.

Si «runOnlyIfModern» está configurado como «True», el trabajo passiveScan-wait DEBE ejecutarse antes (y después) y la regla de Aplicación Web Moderna debe estar instalada y habilitada. Si no se realiza ninguna de estas acciones, el rastreador Ajax se ejecutará siempre y mostrará una advertencia. Si se realizan ambas acciones y no se genera la alerta «Aplicación Web Moderna», se asume que se trata de una aplicación tradicional y, por lo tanto, no se necesita el rastreador Ajax.

filtro de alertas

Este complemento es compatible con el marco de automatización. El trabajo alertFilter le permite definir filtros de alerta globales y específicos del contexto. Se trata en el vídeo: ZAP Chat 08 Automation Framework Parte 2 – Entorno .

graphql

El complemento importará esquemas GraphQL mediante introspección si se encuentran puntos finales durante el rastreo. Sin embargo, se recomienda especificar un punto final y (opcionalmente) un archivo de esquema o URL si están disponibles.  El trabajo GraphQL permite importar esquemas GraphQL localmente o desde una URL. Se trata en el vídeo: ZAP Chat 11 Automation Framework Parte 5 – API .

OpenAPI

Este complemento es compatible con el marco de automatización. El complemento agregará definiciones de OpenAPI si se encuentran durante el rastreo, pero se recomienda agregarlas explícitamente a través de una URL o un archivo local si están disponibles. El parámetro targetUrl funciona de la misma manera que ‘Formato de URL de destino’ .  El trabajo openapi le permite importar definiciones de OpenAPI a través de una URL o un archivo. Se trata en el vídeo: ZAP Chat 11 Automation Framework Parte 5 – API .

Reemplazo

Este complemento es compatible con el marco de automatización.  El trabajo de reemplazo le permite agregar reglas de reemplazo. Se trata en el video: ZAP Chat 09 Marco de automatización Parte 3 – Solicitudes .

Consola de scripts

Este complemento es compatible con Automation Framework. El trabajo de script le permite ejecutar varias acciones con scripts:

Acción: añadir

Agrega el script especificado a ZAP. Los scripts están habilitados, pero no configurados para cargarse cuando ZAP se reinicia.

De forma predeterminada, se utilizará el motor de scripts predeterminado para la extensión de archivo (si lo hay); esto se puede anular utilizando el parámetro ‘engine’.

  • tipo: obligatorio, puede ser cualquiera de los tipos de scripts admitidos por ZAP
  • motor: opcional, se puede utilizar para anular el motor predeterminado para la extensión de archivo
  • nombre: opcional, el nombre del archivo es predeterminado, se puede utilizar para especificar el script en otro trabajo
  • origen: obligatorio, la ruta al archivo (absoluta o relativa al plan), debe ser un archivo de texto legible

El sourceparámetro se llamó previamente file, ambos funcionarán.

Acción: eliminar

Elimina el script especificado de ZAP.

  • nombre: obligatorio, el nombre del script en ZAP

Acción: ejecutar

Ejecuta el script especificado en ZAP. El script ya debe estar disponible en ZAP, por ejemplo, agregado mediante la acción ‘agregar’.

  • tipo: obligatorio, puede ser ‘independiente’ o ‘específico’
  • nombre: obligatorio, el nombre del script en ZAP
  • motor: opcional, se puede utilizar para anular el motor predeterminado para la extensión de archivo
  • destino: obligatorio, si el tipo es ‘específico’, la URL de destino que se invocará para el script ‘específico’

Acción: cargardir

Carga todos los scripts en los subdirectorios bajo la ruta de origen especificada a ZAP. Los scripts están habilitados, pero no configurados para cargarse cuando se reinicia ZAP.

Los scripts deben estar en subdirectorios nombrados según el tipo de script relevante (como ‘activo’, ‘pasivo’, ‘proxy’, etc.) y deben tener una extensión apropiada para el lenguaje de script utilizado.

  • origen: obligatorio, la ruta al directorio (absoluta o relativa al plan).

Acción: habilitar

Habilita el script especificado. El script ya debe estar disponible en ZAP, por ejemplo, agregado mediante la acción ‘agregar’.

  • nombre: obligatorio, el nombre del script en ZAP

Acción: deshabilitar

Deshabilita el script especificado. El script ya debe estar disponible en ZAP, por ejemplo, agregado mediante la acción ‘agregar’.

  • nombre: obligatorio, el nombre del script en ZAP

SOAP

Este complemento es compatible con Automation Framework. El complemento importará archivos WSDL que contengan puntos finales SOAP si se encuentran durante el rastreo, pero se recomienda agregarlos explícitamente a través de una URL o un archivo local si están disponibles. El trabajo soap le permite importar archivos WSDL localmente o desde una URL. Se trata en el vídeo: ZAP Chat 11 Automation Framework Parte 5 – API .

spiderClient

Este complemento es compatible con el marco de automatización.  El trabajo spiderClient le permite ejecutar Client Spider , que está diseñado para explorar aplicaciones web modernas de manera más efectiva. Este trabajo admite pruebas de monitorización.

Resumen del artículo

Generación de informes

  • Acceso: Informe → Generar informe… o botón en la barra. Soporta ejecución desde Automation Framework.
  • Ámbito: título, nombre de archivo (con patrones de fecha y [[site]]), directorio, descripción, selección de contextos y sitios, opción “Generar si no hay alertas” y abrir resultado tras la generación.
  • Plantillas: elegir plantilla (HTML, PDF, MD, JSON, SARIF, XML…), tema (colores/estilos) y secciones (incluir/excluir partes del informe).
  • Filtros: incluir por riesgo y confianza; opciones avanzadas de nombre de patrón y directorio de plantillas.

Plantillas y ejemplos

  • Hay plantillas predefinidas (ej.: moderno, tradicional, risk-confidence, PDF tradicional, JSON/SARIF, Markdown).
  • Plantillas ofrecen secciones como gráficos de resumen, recuentos por riesgo/sitio, detalles de alertas, parámetros, estadísticas y detalles de solicitudes/respuestas.
  • Temas visuales para adaptar el look del informe (corporativo, consola, construcción, etc.).

Importación / Exportación

  • Menús para copiar URL, exportar mensajes como HAR, raw, XML; importar HAR; importar logs (ModSecurity); importar listados de URLs; podar árbol de sitios mediante archivo.
  • Exportar: guardar mensajes, respuestas, árbol de sitios, todas las URL o las URL bajo un nodo seleccionado (útil para comparar vistas entre roles).

Automation Framework (marco de automatización)

  • Permite crear planes YAML de automatización y ejecutarlos con -autorun o desde la GUI (en desarrollo).
  • Opciones CLI: -autorun, -autogenmin/max/conf para generar plantillas.
  • Códigos de salida configurables (0 éxito, 1 errores, 2 advertencias por defecto).
  • Trabajos disponibles (ejemplos):
    • activeScan: escaneo activo (usa políticas definidas).
    • policy (política de activeScan): define reglas/umbral/fortaleza.
    • spider, ajaxSpider, spiderClient: rastreos distintos.
    • passiveScan-config, passiveScan-wait: gestionar y esperar al escáner pasivo.
    • sleep/delay: espera condicional (archivo creado, API o llamada estática).
    • requestor: enviar solicitudes personalizadas y validar códigos esperados.
    • alertFilter: crear filtros de alerta globales o por contexto.
    • openapi, graphql, soap: importar definiciones API/WSDL/GraphQL.
    • replacement: reglas de reemplazo en requests.
    • script job: añadir/eliminar/ejecutar/cargardir/habilitar/deshabilitar scripts.
    • exitStatus: establecer código de salida final según resultados/umbrales.
    • Pruebas soportadas: alert (existencia/ausencia), monitor (estadísticas), stats, url (presencia de contenido), pruebas de monitorización en trabajos de larga duración.
  • Jerarquía de políticas: default → etiquetas de alerta (include/exclude) → anulación de reglas individuales.
  • Datos del trabajo: algunos jobs exponen objetos con datos del último escaneo (ej.: activeScanData, passiveScanData2).

Autenticación y autenticación en Automation

  • Asistente de autenticación para detectar/configurar mecanismos y generar reportes de autenticación.
  • Automation soporta métodos de autenticación: manual, HTTP/NTLM, form-based, JSON, script, autenticación basada en navegador y más (incluye variables de entorno para cabeceras).
  • Estadísticas de autenticación se registran y son útiles para verificar sesiones y operativa en scripts automatizados.

Compatibilidad y buenas prácticas

  • Muchas tareas soportan pruebas de monitorización y son idóneas para pipelines y ejecución sin GUI (-cmd).
  • Recomienda generar plan automático y luego editar YAML para tus requisitos; ejecutar con -cmd para silent CI runs.
  • Usar filtros de alertas y plantillas para producir informes adaptados al público (desarrolladores vs. gerencia).
  • Mantener control sobre umbrales y políticas para balancear ruido vs. cobertura.

OWASP ZAP: Informes y Automatización

|

|__ Generación de Informes

|   |

|   |__ Configuración de Ámbito (Alcance)

|   |   |__ Incluir Descripción del Informe

|   |   |__ Niveles de Análisis (Extremos, Info, etc)

|   |   |__ Elementos de Ayuda

|   |   |__ Selección de Contextos

|   |   |__ Selección de Sitios

|   |   |__ Excluir o Incluir Alertas

|   |   |__ Mostrar solicitudes de pruebas

|   |

|   |__ Opciones de Plantilla

|   |   |__ Formato de Plantilla (HTML, PDF, JSON, KSMP, XML)

|   |   |__ Temas (Básico y Colores)

|   |   |__ Secciones y Opciones (Incluidas de Partes)

|   |

|   |__ Datos de Contenido

|   |   |__ Incluir por Nivel de Riesgo

|   |   |__ Incluir por Nivel de Confianza

|   |

|   |__ Plantilla de Plantillas

|       |__ Plantilla de Alto Nivel

|       |__ HTML: Indicador con firma

|       |__ JSON: Alertas Configurables

|       |__ JSON SAML

|       |__ PDF: Tradicional

|

|__ Capacidades de exportación

|   |

|   |__ Archivos HAR (HTTP Archives)

|   |

|   |__ Archivos de Registro (Logs)

|   |

|   |__ Listados de URL (Otras Forms)

|

|__ Importación y Exportación de Datos

|   |

|   |__ Árbol de Sitios

|   |

|   |__ Sesión (Sesión URL Accedidas)

|   |

|   |__ Datos de Configuración

|   |

|   |__ Desde Alibaba de Webs

|   |   |__ HTTP Method Builder

|   |   |__ Usuarios HTTP-AUTH, HTTP, WSM

|   |   |__ Respuestas (Diferentes Bases)

|

|__ Desarrollo ZAP

|   |

|   |__ Opciones CLI (runners, configuración individual)

|   |

|   |__ Gestión de Scripts Documentación (H, C-T)

|   |

|   |__ Uso Recomendado de noApi

|

|__ Gestión de Identidad

|   |

|   |__ Configuración del contexto

|   |   |__ Nombres (core)

|   |   |__ Configuración ZAP (configFile)

|   |   |__ Automatización

|   |       |__ Mínimo Impacto de Personalización (alertin, Scripts, HTTPS)

|   |       |__ Aumento de Basará: en Integración

|   |       |__ Manejo Variables Ambientales (Details)

|   |

|   |__ Autenticación Transversal API

|       |

|       |__ Estrategia (Más) Seguridad

|           |

|           |__ instituciones y metodología Policy

|           |

|           |__ prioridades config y participación heart

|           |

|           |__ Debida Área Studies: updateClient

|           |

|           |__ APIs (openAPI, ODataAPI, SOAPUI)

|           |

|           |__ SAML (skill, core, installed)

|           |

|           |__ Autor (Opcions Conditional)

|           |

|           |__ Importantes (Definición y Personalización)

|           |

|           |__ establishProxy y authenticity

|           |

|           |__ packHandler

|

|__ Pruebas Seguridades

|   |

|   |__ atajo (Formatov por autenticable)

|   |

|   |__ moveable (Den Indingen de datos directory)

|   |

|   |__ ideas (Plenamente Sistemas de ZAP)

|   |

|   |__ del DYNAMIC90 (METHOD de Fall e Impresiones)

|

|__ Documentación Profesional y Recursos

|   |

|   |__ Configuración SAML

|   |

|   |__ Gestión de Escalado de Respue

Diez preguntas basadas en el contenido del artículo

  1. ¿Qué campos se pueden configurar en la pestaña «Ámbito» del cuadro de diálogo para generar informes?
  2. ¿Qué funcionalidades adicionales ofrece la pestaña «Plantilla» al generar un informe en ZAP?
  3. ¿Qué información puede filtrarse desde la pestaña «Filtro» al generar un informe?
  4. ¿Qué tipos de plantillas de informe están disponibles en ZAP y en qué formatos se pueden generar?
  5. ¿Qué capacidades de importación y exportación de datos ofrece ZAP?
  6. ¿Qué funcionalidades incluye el marco de automatización (Automation Framework) en ZAP?
  7. ¿Cómo se puede configurar la autenticación en un plan del marco de automatización?
  8. ¿Qué tipos de trabajos están disponibles en el marco de automatización de ZAP?
  9. ¿Qué pruebas se pueden aplicar dentro del marco de automatización para validar resultados?
  10. ¿Cómo se pueden ejecutar scripts desde el marco de automatización?

Diez ejercicios prácticos

  1. Genera un informe en formato HTML usando la plantilla moderna y selecciona un tema corporativo.
  2. Configura el informe para incluir solo los sitios específicos dentro de un contexto determinado.
  3. Filtra el informe para que solo muestre alertas de riesgo alto y confianza alta.
  4. Exporta todas las URLs accedidas durante un escaneo en un archivo HTML.
  5. Crea un plan del marco de automatización que incluya un Spider, passiveScan y activeScan.
  6. Agrega una prueba de alerta en un trabajo activeScan para validar la presencia de una vulnerabilidad XSS.
  7. Configura una autenticación basada en formulario en un contexto y úsala en un plan de automatización.
  8. Usa el trabajo delay para pausar el plan durante 30 segundos antes de iniciar un escaneo activo.
  9. Importa un archivo HAR al historial de ZAP y visualiza las solicitudes.
  10. Ejecuta un script de tipo “standalone” desde el marco de automatización que modifique una cabecera.

Respuestas detalladas a las 10 preguntas

1. ¿Qué campos se configuran en la pestaña «Ámbito»?

  • Título del informe
  • Nombre del archivo con patrones dinámicos como {{yyyy-MM-dd}} o [[site]]
  • Directorio de informes
  • Descripción del informe
  • Contextos y sitios incluidos
  • Opción para mostrar informe al finalizar
  • Opción para generar informe aunque no haya alertas

2. ¿Qué funciones incluye la pestaña «Plantilla»?

  • Selección de plantilla (HTML, PDF, Markdown, JSON, XML…)
  • Elección de tema visual (ej: corporativo, oscuro, marketing…)
  • Inclusión/exclusión de secciones (gráficos, estadísticas, detalles, etc.)

3. ¿Qué se puede filtrar en la pestaña «Filtro»?

  • Alertas por nivel de riesgo: Bajo, Medio, Alto, Informativo
  • Alertas por nivel de confianza: Baja, Media, Alta, Confirmada

4. ¿Qué tipos de plantillas de informe existen?

  • HTML moderno (con temas y secciones)
  • HTML tradicional (con o sin solicitudes/respuestas)
  • HTML de riesgo y confianza
  • Markdown tradicional
  • PDF tradicional
  • JSON (tradicional, con respuestas o SARIF)
  • XML (tradicional o con respuestas)

5. ¿Qué capacidades de importación/exportación tiene ZAP?

  • Importar: HAR, archivos XML, ModSecurity, listas de URL
  • Exportar:
    • Árbol de sitios
    • Solicitudes/respuestas individuales
    • Todas las URLs accedidas
    • Mensajes en crudo
    • Archivos HAR

6. ¿Qué incluye el marco de automatización?

  • Creación y ejecución de planes YAML
  • Soporte para línea de comandos
  • Ejecución de trabajos como:
    • spider, ajaxSpider, activeScan, passiveScan, soap, openapi, etc.
  • Pruebas:
    • Validación de alertas, estadísticas, URL, monitoreo
  • Exportación de resultados
  • Reportes automáticos
  • Uso de variables y configuración de entorno

7. ¿Cómo se configura la autenticación en el marco de automatización?

  • Puede configurarse manualmente o con Authentication Helper
  • Métodos soportados:
    • Manual
    • HTTP/NTLM
    • Formularios
    • JSON
    • Scripts
    • Navegador
  • Se recomienda configurar en GUI y luego exportar el contexto al plan

8. ¿Qué trabajos están disponibles?

Algunos ejemplos:

  • spider y ajaxSpider
  • activeScan, passiveScan-config, passiveScan-wait
  • openapi, graphql, soap
  • script, alertFilter, replace
  • delay, requestor, exitValue
  • auth y configuraciones de entorno

9. ¿Qué pruebas se pueden aplicar?

  • alert: verifica presencia o ausencia de alertas (requiere scanRuleId)
  • monitor: detiene trabajos si superan un umbral estadístico
  • stats: prueba valores de estadísticas internas
  • url: comprueba que ciertas URLs aparezcan o no, o que contengan contenido específico

10. ¿Cómo ejecutar scripts desde Automation Framework?

Mediante el trabajo script, con acciones:

  • add: agregar script desde archivo
  • run: ejecutar un script ya cargado (tipo standalone o targeted)
  • enable/disable: habilitar o deshabilitar un script
  • delete: eliminar un script
  • loaddir: cargar múltiples scripts desde carpeta estructurada

Respuestas a los 10 ejercicios

1. Generar informe HTML moderno con tema corporativo

  • Menú: Informe > Generar informe
  • Plantilla: moderno
  • Tema: corporativo
  • Formato: HTML
  • Guardar en directorio deseado

2. Incluir solo sitios de un contexto

  • En pestaña «Ámbito»:
    • Selecciona el contexto deseado
    • Marca solo los sitios relacionados

3. Filtrar por alertas alto/alta

  • Pestaña «Filtro»:
    • Incluir riesgos: Alto
    • Incluir confianzas: Alta

4. Exportar todas las URLs accedidas

  • Menú Exportar > Guardar todas las URL
  • Formato: .html o .txt
  • Elige ubicación de guardado

5. Crear plan con Spider + passiveScan + activeScan

  • Pestaña Automatización
    • Nuevo plan
    • Agrega trabajo spider
    • Agrega trabajo passiveScan-wait
    • Agrega trabajo activeScan
    • Ejecutar

6. Agregar prueba de alerta XSS

  • En trabajo activeScan, añadir prueba:

tests:
  – type: alert
    scanRuleId: 40012
    name: Cross Site Scripting
    url: «https://target.com«
    evidence: «<script>»

7. Configurar autenticación por formulario

  • En GUI:
    • Crear contexto
    • Añadir autenticación tipo formulario
    • Añadir usuario y credenciales
  • Guardar y usar contexto en el plan YAML

8. Añadir trabajo delay de 30s

– type: delay
  time: 30

9. Importar archivo HAR

  • Menú Importar > Importar HAR
  • Cargar archivo .har
  • Ver tráfico importado en pestaña Historial

10. Ejecutar script “standalone”

– type: script
  action: run
  name: «modificar-cabecera»
  scriptType: «standalone»

El script debe haber sido cargado previamente con action: add.

Despedida — lo que aprendiste y cómo te será útil como hacker

Has aprendido a generar informes profesionales y a automatizar casi todo el ciclo de pruebas con ZAP: desde importar APIs/URLs, explorar (spiders/AJAX), escanear activamente, validar alertas y condiciones, hasta producir reportes estilizados y reutilizables. Esto te permite:

  • Probar de manera repetible (automatizar escaneos en CI/CD).
  • Producir evidencia clara (informes filtrados por riesgo/confianza y plantillas adaptadas).
  • Reducir ruido mediante filtros, alertFilters y políticas afinadas.
  • Verificar correcciones con retests automáticos y jobs de alert/url/monitor.
  • Integrar autenticación y manejar apps modernas (GraphQL, OpenAPI, SPA).

Como hacker ético y profesional, estas capacidades te permiten entregar hallazgos que son accionables, verificables y fácilmente integrables en el ciclo de vida del desarrollo —lo que aumenta el impacto de tu trabajo y facilita que tus recomendaciones se implementen. Usa siempre estas herramientas con autorización y configura políticas/umbrales apropiados para obtener resultados fiables.

Deja una respuesta

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