Files
hacktricks-cloud/src/pentesting-ci-cd/cloudflare-security

Seguridad de Cloudflare

{{#include ../../banners/hacktricks-training.md}}

En una cuenta de Cloudflare hay algunas configuraciones y servicios generales que se pueden configurar. En esta página vamos a analizar las configuraciones relacionadas con la seguridad de cada sección:

Sitios web

Revisa cada uno con:

{{#ref}} cloudflare-domains.md {{#endref}}

Registro de Dominio

  • En Transferir Dominios verifica que no sea posible transferir ningún dominio.

Revisa cada uno con:

{{#ref}} cloudflare-domains.md {{#endref}}

Análisis

No pude encontrar nada para revisar la configuración de seguridad.

Páginas

En cada página de Cloudflare:

  • Verifica si hay información sensible en el Registro de construcción.
  • Verifica si hay información sensible en el repositorio de Github asignado a las páginas.
  • Verifica posibles compromisos del repositorio de github a través de inyección de comandos de flujo de trabajo o compromiso de pull_request_target. Más información en la página de Seguridad de Github.
  • Verifica si hay funciones vulnerables en el directorio /fuctions (si las hay), verifica los redireccionamientos en el archivo _redirects (si los hay) y los encabezados mal configurados en el archivo _headers (si los hay).
  • Verifica si hay vulnerabilidades en la página web a través de blackbox o whitebox si puedes acceder al código.
  • En los detalles de cada página /<page_id>/pages/view/blocklist/settings/functions. Verifica si hay información sensible en las Variables de entorno.
  • En la página de detalles verifica también el comando de construcción y el directorio raíz en busca de inyecciones potenciales que comprometan la página.

Workers

En cada worker de Cloudflare verifica:

  • Los disparadores: ¿Qué hace que el worker se active? ¿Puede un usuario enviar datos que serán utilizados por el worker?
  • En los Ajustes, verifica si hay Variables que contengan información sensible.
  • Verifica el código del worker y busca vulnerabilidades (especialmente en lugares donde el usuario puede gestionar la entrada).
  • Verifica SSRFs que devuelvan la página indicada que puedes controlar.
  • Verifica XSSs que ejecuten JS dentro de una imagen svg.
  • Es posible que el worker interactúe con otros servicios internos. Por ejemplo, un worker puede interactuar con un bucket R2 que almacena información obtenida de la entrada. En ese caso, sería necesario verificar qué capacidades tiene el worker sobre el bucket R2 y cómo podría ser abusado a partir de la entrada del usuario.

Warning

Ten en cuenta que por defecto a un Worker se le asigna una URL como <worker-name>.<account>.workers.dev. El usuario puede configurarlo como un subdominio, pero siempre puedes acceder a él con esa URL original si la conoces.

R2

En cada bucket R2 verifica:

  • Configura la Política de CORS.

Stream

TODO

Imágenes

TODO

Centro de Seguridad

  • Si es posible, ejecuta un escaneo de Insights de Seguridad y un escaneo de Infraestructura, ya que destacarán información interesante desde el punto de vista de la seguridad.
  • Solo verifica esta información en busca de configuraciones de seguridad incorrectas e información interesante.

Turnstile

TODO

Zero Trust

{{#ref}} cloudflare-zero-trust-network.md {{#endref}}

Redireccionamientos Masivos

Note

A diferencia de Redireccionamientos Dinámicos, Redireccionamientos Masivos son esencialmente estáticos: no admiten ninguna operación de reemplazo de cadenas ni expresiones regulares. Sin embargo, puedes configurar parámetros de redireccionamiento de URL que afectan su comportamiento de coincidencia de URL y su comportamiento en tiempo de ejecución.

  • Verifica que las expresiones y requisitos para los redireccionamientos tengan sentido.
  • Verifica también si hay puntos finales ocultos sensibles que contengan información interesante.

Notificaciones

  • Verifica las notificaciones. Estas notificaciones son recomendadas para la seguridad:
  • Facturación Basada en Uso
  • Alerta de Ataque DDoS HTTP
  • Alerta de Ataque DDoS Capa 3/4
  • Alerta de Ataque DDoS HTTP Avanzado
  • Alerta de Ataque DDoS Capa 3/4 Avanzado
  • Monitoreo Basado en Flujo: Ataque Volumétrico
  • Alerta de Detección de Fugas de Ruta
  • Alerta de Expiración de Certificado mTLS de Acceso
  • Alerta de SSL para Nombres de Host Personalizados de SaaS
  • Alerta de SSL Universal
  • Alerta de Detección de Nuevos Cambios de Código en el Monitor de Scripts
  • Alerta de Nuevo Dominio en el Monitor de Scripts
  • Alerta de Nuevo Dominio Malicioso en el Monitor de Scripts
  • Alerta de Nuevo Script Malicioso en el Monitor de Scripts
  • Alerta de Nueva URL Maliciosa en el Monitor de Scripts
  • Alerta de Nuevos Scripts en el Monitor de Scripts
  • Alerta de Nuevo Script Excede la Longitud Máxima de URL en el Monitor de Scripts
  • Alerta de Eventos de Seguridad Avanzados
  • Alerta de Eventos de Seguridad
  • Verifica todos los destinos, ya que podría haber información sensible (autenticación http básica) en las URLs de webhook. Asegúrate también de que las URLs de webhook usen HTTPS.
  • Como verificación adicional, podrías intentar suplantar una notificación de cloudflare a un tercero, tal vez puedas inyectar algo peligroso de alguna manera.

Gestionar Cuenta

  • Es posible ver los últimos 4 dígitos de la tarjeta de crédito, el tiempo de expiración y la dirección de facturación en Facturación -> Información de pago.
  • Es posible ver el tipo de plan utilizado en la cuenta en Facturación -> Suscripciones.
  • En Miembros es posible ver todos los miembros de la cuenta y su rol. Ten en cuenta que si el tipo de plan no es Enterprise, solo existen 2 roles: Administrador y Super Administrador. Pero si el plan utilizado es Enterprise, se pueden usar más roles para seguir el principio de menor privilegio.
  • Por lo tanto, siempre que sea posible, se recomienda utilizar el plan Enterprise.
  • En Miembros es posible verificar qué miembros tienen 2FA habilitado. Cada usuario debería tenerlo habilitado.

Note

Ten en cuenta que afortunadamente el rol Administrador no otorga permisos para gestionar membresías (no puede escalar privilegios ni invitar nuevos miembros).

Investigación de DDoS

Ver esta parte.

{{#include ../../banners/hacktricks-training.md}}