Añadir un objetivo de red o un sitio web

  1. Hacer clic en Gestión de activos > Objetivos de red y sitios web
  2. Hacer clic en el botón Añadir
  3. Completar el formulario:

    • “Origen” corresponde al nodo desde el que se lanzarán los análisis
    • “Objetivo” corresponde al objetivo de red o al sitio web a analizar. Puede indicar un objetivo de red en forma de nombre de dominio o dirección IP, o un sitio web en forma de URL; en ambos casos, se realiza un escaneo de puertos sobre el objetivo y un reconocimiento de los servicios utilizados para determinar las versiones de los servicios expuestos
    • “Alcance del escaneo” define el alcance del escaneo a partir del objetivo:
      • Por defecto: usa el alcance por defecto (Carpeta)
      • URL: escanea únicamente la URL base exacta proporcionada
      • Página: escanea cada URL correspondiente a la ruta de la URL base (cada variación de cadena de consulta)
      • Carpeta: escanea cada URL comenzando por el valor de la URL base. Esta URL base debe tener una barra oblicua final (sin nombre de archivo)
      • Dominio: escanea cada URL cuyo nombre de dominio corresponde al de la URL base
      • Subdominio: escanea cada URL cuyo subdominio corresponde al de la URL base
      • Punk: escanea cada URL encontrada cualquiera que sea el dominio
    • “URL de Swagger” especifica la ubicación del archivo de descripción de las API (YAML o JSON) para añadir las URL que allí se describen al escaneo
    • “URLs excluidas del escaneo” especifica la lista de URL (una por línea) a excluir del escaneo; las URL pueden contener comodines
    • “URLs adicionales a escanear” especifica la lista de URL adicionales (una por línea) a incluir en el escaneo
    • “Tipo de autenticación” especifica el método utilizado para autenticarse ante la aplicación web objetivo
      • Ninguno: no se realiza ninguna autenticación
      • Basic: utiliza la autenticación HTTP Basic, donde el nombre de usuario y la contraseña se envían en claro, codificados en base64, en las cabeceras de solicitud HTTP
      • Digest: una forma más segura que la autenticación Basic, usando una respuesta cifrada para autenticar la solicitud
      • NTLM: utilizado principalmente en entornos Windows, NTLM es un protocolo de seguridad para la autenticación
      • POST: envía los datos de autenticación al servidor mediante una solicitud HTTP POST, permitiendo una autenticación del lado del servidor
      • HTTP Bearer: permite indicar un token JWT de autenticación para transmitir en cada solicitud HTTP en la cabecera Authorization, en el formato Authorization: Bearer <token>. Solo debe indicarse el token en el campo asociado en Cyberwatch
      • Selenium: se utiliza para realizar una autenticación ejecutando acciones automatizadas especificadas en un archivo .side. Una vez realizadas estas acciones, las cookies capturadas se usan para el resto del escaneo. Las acciones aceptadas son open, type y click. Para cada acción, la definición del elemento objetivo debe comenzar por id=, css= o xpath=
      • Cookie: especifica una o varias cookies a añadir en cada solicitud HTTP para permitir una autenticación continua en el sitio web objetivo. Si se especifican varias cookies, es posible separarlas con un punto y coma, siguiendo el formato cookie=valor;cookie=valor

    Debido a la expiración periódica de las cookies, se recomienda asociar los activos que usan este método de autenticación a una política de análisis manual, para poder garantizar la validez de las cookies antes de cada análisis.

  4. Validar haciendo clic en “Guardar”

Configurar los parámetros de escaneo

Ciertos parámetros avanzados se configuran por política de análisis, incluyendo la Duración máxima del escaneo web por módulo y la duración máxima de rastreo web. Para ello, acceda a Configuración > Políticas de análisis y edite las políticas de los objetivos y sitios web correspondientes. Los parámetros del escaneo se encuentran en la sección “Parámetros avanzados”.

Con respecto al escaneo de aplicaciones web, se pueden configurar varias opciones:

  • Duración máxima de rastreo: es el tiempo máximo asignado a la exploración de la superficie de ataque, como el descubrimiento de páginas, parámetros y formularios presentes

  • Duración máxima de escaneo por módulo: una vez finalizada la fase de exploración, se ejecutarán módulos específicos que prueban vulnerabilidades potenciales. Este valor controla el tiempo máximo de ejecución asignado a cada uno de estos módulos

  • Headless: el modo headless utilizará un navegador sin interfaz para probar las vulnerabilidades de seguridad simulando acciones de usuario en aplicaciones web, en particular las construidas con frameworks JavaScript como Angular, React o Vue

Algunas aplicaciones a escanear en modo headless pueden requerir más tiempo y obtener resultados parciales con las duraciones máximas por defecto. En este tipo de casos, los valores recomendados en la política de escaneo son 600 segundos para la duración máxima de rastreo y 300 segundos para la duración máxima de escaneo por módulo.

Escaneos web autenticados

Al añadir o editar un objetivo de red, es posible especificar un conjunto de credenciales y un método de autenticación. Estos parámetros solo se aplican cuando el objetivo es un sitio web, o al menos a un puerto HTTP abierto.

Para activar la autenticación, es necesario crear previamente un conjunto de credenciales de tipo Escaneo web desde el menú Credenciales registradas.

Los métodos de autenticación corresponden a los tipos soportados por la cabecera HTTP Authorization, con la excepción del método post que simula un usuario que introduce sus credenciales en un formulario de acceso. La URL del formulario de acceso solo se aplica al método post.

Productos soportados por los objetivos de red o sitios web

Cyberwatch soporta cualquier dirección IP, así como cualquier URL o nombre de dominio válido y resuelto.

En todos los casos, Cyberwatch verifica qué puertos están abiertos entre los 3000 puertos más comúnmente utilizados. En los puertos abiertos, se utilizan dos estrategias de análisis.

  • Un escaneo pasivo, que detecta las versiones de los servicios expuestos en cada puerto del objetivo, e identifica las vulnerabilidades asociadas. Cuando se trata de un puerto web, también se ejecuta un escaneo adicional que permite identificar defectos de configuración del top 10 OWASP. Este último cubre, entre otros, fallos de configuración en los headers y detecta las bibliotecas utilizadas.

  • Un escaneo activo, que es un examen más profundo en función de las especificidades de cada puerto. Si el puerto soporta TLS, se realiza una auditoría TLS para identificar si se aceptan suites criptográficas débiles, el uso de protocolos obsoletos o una invalidez del certificado. Si el puerto responde a solicitudes http/https, Cyberwatch realiza un segundo escaneo cuyo objetivo es identificar otros defectos de configuración del top 10 OWASP, como por ejemplo la posibilidad de realizar inyecciones XSS/SQL…

Los dos análisis OWASP se describen a continuación.

Análisis OWASP (Wapiti)

Wapiti le permite auditar la seguridad de las aplicaciones web. Realiza escaneos externos de la aplicación web (autenticados o no, según el modo de escaneo utilizado) explorando las páginas web de la aplicación desplegada en busca de problemas de seguridad. Una vez obtiene la lista de URL, formularios y sus entradas, Wapiti actúa como un fuzzer, inyectando cargas útiles y evaluando distintos retornos de la aplicación.

Para que el escaneo log4j pueda funcionar, es necesario que Cyberwatch tenga acceso al DNS siguiente: dns.cyberwatch.app

Para más información sobre este proyecto, puede visitar su página de GitHub.

Información general

El escaneo Wapiti puede dividirse en dos grandes etapas consecutivas:

  • El “escaneo pasivo”: esta etapa se compone de módulos que realizan un estudio estático de los posibles problemas de seguridad
  • El “escaneo activo”: esta etapa se compone de módulos de ataque que prueban activamente la superficie de exposición para identificar ciertos problemas de seguridad

Estas dos etapas van precedidas de una reconstrucción de la lista de URL disponibles.

Wapiti propone dos tipos distintos de escaneo:

  • El “modo normal”: este modo realiza directamente solicitudes (similares a solicitudes cURL) al objetivo
  • El “modo headless”: con este modo, Wapiti lanza un navegador sin interfaz gráfica para analizar aplicaciones web, en particular las basadas en JavaScript. Permite una mejor interacción con las Single Page Applications (SPAs) y una detección óptima de los problemas de seguridad relacionados con la ejecución dinámica de JavaScript

El escaneo pasivo

Lista no exhaustiva de las acciones realizadas por el escaneo pasivo:
  • Análisis de los flags de las cookies para detectar configuraciones no seguras
  • Análisis de la política de seguridad de contenido (CSP) para detectar posibles debilidades
  • Análisis de los headers HTTP para detectar configuraciones no seguras
  • Detección de las tecnologías web utilizadas por el sitio
  • Enumeración de los módulos de WordPress

Para más información, encontrará la lista de módulos aquí.

El escaneo activo

Lista no exhaustiva de las acciones realizadas por el escaneo activo:
  • Búsqueda de problemas de seguridad relacionados con la inyección CRLF (Carriage Return Line Feed)
  • Búsqueda de problemas de seguridad CSRF (Cross-Site Request Forgery)
  • Identificación de posibles puntos de inyección
  • Búsqueda de problemas de seguridad de inyección SQL
  • Descubrimiento de archivos de copia de seguridad que podrían divulgar información sensible
  • Intentos de fuerza bruta sobre formularios de acceso
  • Búsqueda de configuraciones erróneas o de archivos .htaccess accesibles que podrían ser explotados
  • Intentos de inyecciones SQL
  • Evaluación de los métodos HTTP permitidos por el servidor
  • Búsqueda de problemas de seguridad de redirección abierta
  • Identificación de problemas de seguridad de tipo Server-Side Request Forgery (SSRF)
  • Búsqueda de problemas de seguridad de tipo Cross-Site Scripting (XSS)
  • Verificación de la presencia de la vulnerabilidad Log4Shell

Para más información, encontrará la lista de módulos aquí.

Metadatos

Los metadatos pueden dar indicaciones sobre el estado del escaneo realizado. Se muestran en dos columnas llamadas “Clave” y “Valor”.

Páginas rastreadas

La clave se presenta de la siguiente forma: crawled_pages.[active|passive]. La columna "Valor" indicará el número de páginas rastreadas en modo activo o pasivo, en el puerto indicado.

Para conocer la lista de URL rastreadas por los escaneos activo y pasivo, abra desde la pestaña “Análisis” de la ficha del activo correspondiente los detalles del script “Escaneo de aplicación web (OWASP) - Modo [pasivo/activo]”.

Valor en 1 o 0

  • Si la columna “Valor” indica “0”, esto puede significar que hubo un problema durante la autenticación hacia la página solicitada
  • Si la columna “Valor” indica “1”, cuando ha seleccionado un alcance de escaneo más amplio, son posibles varias interpretaciones

Es posible que la dirección objetivo utilice varias redirecciones, lo que perturba el buen funcionamiento del escaneo.

Por ejemplo, si el objetivo indicado comienza por http, mientras que el sitio usa https, la redirección del puerto 80 al 443 puede interferir con el escaneo. Otro ejemplo común, si el objetivo es https://www.example.com, mientras que el sitio es https://www.example.com, esto también provocará una redirección.

La dirección de un objetivo de red debe ser obligatoriamente la dirección a escanear sin redirección. El uso de una dirección que responda con una redirección hará que el escaneo falle.


Volver arriba

English Français Español