Procedimientos de escaneo dinámico

ZAP

Herramienta de escaneo Web Mobile Local API Extension Serverless Instrucciones
OWASP® Zed Attack Proxy (ZAP)

Usa el ZAP de OWASP; el contenedor de Docker de ZAP para realizar análisis dinámicos automatizados (DAST) en tu aplicación. Los archivos de configuración predefinidos ya tienen todos los CWE necesarios. Lo único que debes hacer es agregarlo al entorno y al comando de ejecución de Docker.

Para ver la definición de cada tipo Haz clic aquí Tipos de aplicaciones

Se puede realizar un análisis completo de aplicaciones internas, web o para dispositivos móviles mediante los siguientes pasos:

  1. Los análisis de la DAST y la API se ejecutarán mediante la imagen de Docker de ZAP. Para aplicaciones internas, web o para dispositivos móviles, el análisis completo de ZAP debe ejecutarse en un entorno de producción o etapa de pruebas. 

  2. Descarga el archivo de configuración zap-casa-config.conf y navega a su directorio. 

  1. Genera un archivo de contexto para el análisis. Consulta las instrucciones de “Autenticación” que aparecen a continuación para obtener más detalles.

  1. Ejecute el siguiente comando: 

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py 
-t https://example.com -P 8080 
-c zap-casa-config.conf 
-x results-full.xml -n example.context -U username
  1. El resultado se guardará en un archivo XML (ejemplo adjunto aquí: zap-results-full.xml)

Para realizar un análisis de la API, sigue estos pasos:

  1. Para los análisis de API, usa el archivo de configuración zap-casa-api-config.conf

  1. Navega a su directorio y ejecuta el siguiente comando

docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
-t owasp/zap2docker-stable zap-api-scan.py 
-t https://example.com -f openapi-P 8080 
-c zap-casa-api-config.conf 
-x results-full.xml
  1. El resultado se guardará en un archivo XML (ejemplo adjunto aquí: zap-results-api.xml).

Autenticación

Los análisis de ZAP se deben realizar con autenticación para comprender dónde se almacenan los datos del usuario y cómo se accede a ellos. Esto requiere configuración antes de ejecutar tus análisis. La imagen de Docker de ZAP permite dos argumentos relacionados con la autenticación:

-n contexto_archivo

Archivo de contexto que se cargará antes de analizar el destino

-U usuario

Nombre de usuario que se usará para los análisis autenticados. El usuario debe definirse en el archivo de contexto determinado. 

Para establecer estos parámetros, se debe crear un archivo de contexto. Esto se puede hacer con mayor facilidad mediante la IU de escritorio de ZAP.

contexto de zap
  1. Configura el mecanismo de autenticación. Actualmente, ZAP admite cinco enfoques de autenticación:

    • Autenticación manual

    • Autenticación basada en formularios

    • Autenticación HTTP/NTLM

    • Autenticación basada en secuencias de comandos

    • Autenticación basada en JSON

zap Authentication
  1. Define tus parámetros de autenticación. Esto generalmente incluye la URL de acceso y el formato de carga útil (nombre de usuario y contraseña). Los parámetros obligatorios son específicos de los métodos de autenticación que se usan.
zap Configurar la autenticación
  1. Agrega un usuario y una contraseña válidos. Crear varios usuarios si la aplicación expone diferentes funcionalidades según las funciones
zap Configurar usuarios

Una vez que hayas configurado estas opciones, puedes exportar el contexto como un archivo para analizarlo.

Contexto de exportación de zap

Asegúrate de guardar el contexto en un lugar que sea fácil de consultar, ya que deberás incluir la ruta del archivo como argumento para el comando de análisis. Ahora, podrás ejecutar un análisis autenticado con el acceso del usuario especificado en el contexto. Ejemplo:

Crear usuario de zap
  docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw 
  -t owasp/zap2docker-stable zap-full-scan.py 
  -t https://example.com -P 8080 
  -c zap-casa-config.conf -x results-full.xml 
  -n /Users/DemoUser/Documents/Context.context -U test@example.com