Cloudflare Tunnel es una solución de tunelización poderosa que brinda a las organizaciones una forma de hacer que las aplicaciones y servicios internos sean accesibles de manera segura para usuarios externos, al tiempo que se benefician de las defensas y políticas de autenticación aplicadas por la red de Cloudflare. Como la mayoría de las herramientas diseñadas para facilitar la administración de la infraestructura y aumentar la seguridad, también pueden ser aprovechadas por los atacantes.
Investigadores de GuidePoint Security informaron que sus equipos han investigado varios incidentes este año en los que los atacantes utilizaron Cloudflare Tunnel para mantener el acceso a las redes de las víctimas. Aunque los ataques no fueron altamente sofisticados, creen que más actores de amenazas adoptarán la herramienta debido a sus características poderosas y facilidad de uso.
"El punto clave es que cloudflared [el demonio de Cloudflare Tunnel] se conecta a los servidores de borde de Cloudflare, creando una conexión saliente a través de HTTPS (HTTP2/QUIC), donde el controlador del túnel hace que los servicios o redes privadas sean accesibles mediante cambios en la configuración de la consola de Cloudflare", dijo Nic Finn, un consultor principal de inteligencia de amenazas en GuidePoint, en un informe. "Estos cambios se gestionan a través del panel de control Zero Trust de Cloudflare y se utilizan para permitir que fuentes externas accedan directamente a servicios importantes, como SSH, RDP, SMB y otros".
En primer lugar, la instalación de Cloudflare Tunnel es muy sencilla. Hay versiones disponibles para Windows, macOS y varias distribuciones de Linux, así como para las arquitecturas de CPU Intel y ARM. Lo único que se requiere es descargar un ejecutable llamado Cloudflared y ejecutarlo. Este demonio de Cloudflare Tunnel es de código abierto y desarrollado por una empresa de confianza, por lo que es probable que las aplicaciones de seguridad lo agreguen a la lista blanca.
El segundo beneficio importante para el atacante es que todas las configuraciones del túnel se pueden realizar desde su panel de control de Cloudflare. Lo único que se requiere para proporcionar al demonio local estas configuraciones es proporcionarle un token generado por el panel de control. Esto también significa que la configuración del túnel se puede actualizar fácilmente y de forma remota en cualquier momento que el atacante lo desee.
Por ejemplo, supongamos que el atacante desea conectarse a la máquina comprometida a través de SSH o Protocolo de Escritorio Remoto (RDP) o acceder a archivos a través de SMB, pero la máquina solo tiene estos servicios habilitados para la red interna. Es posible que el atacante no tenga acceso para exponer estos servicios a conexiones entrantes en el firewall de la red y, incluso si lo tuviera, el hecho de que un sistema reciba de repente conexiones SSH o RDP desde un host en Internet podría activar alertas de seguridad en los productos de monitoreo de la red.
Al utilizar Cloudflare Tunnel, el atacante solo necesita especificar en la configuración de su túnel en el panel de control de Cloudflare que desea acceder a un servicio específico en la máquina local y el demonio configurará el puente para ellos, lo que les permitirá aparecer como si se estuvieran conectando desde la máquina local misma.
El claro beneficio para el atacante es que, desde una perspectiva de monitoreo de la red, el tráfico se tunelizará a través de una conexión cifrada a un servidor de borde de Cloudflare. Las direcciones IP de Cloudflare generalmente son confiables, por lo que tal conexión no necesariamente parecería sospechosa. Además, la conexión aparecería como saliente: la máquina conectada a Cloudflare.
La situación empeora. Cloudflare Tunnel permite a los usuarios enrutar todo un rango de direcciones IP de red a través del túnel, por lo que los atacantes podrían implementarlo en una máquina y luego usarlo para acceder a cualquier servicio en la red local, incluso si se ejecutan en diferentes máquinas, funcionando esencialmente como una VPN. De hecho, un atacante puede implementar Cloudflare WARP, la solución similar a una VPN de Cloudflare, en su propia máquina y luego utilizar el túnel como si estuviera en la misma red que el sistema comprometido.
Una desventaja es que los atacantes necesitarían una cuenta de Cloudflare, que podría suspenderse fácilmente una vez que se descubra el abuso. Sin embargo, Finn señala que Cloudflare ofrece una opción sin cuenta para implementaciones limitadas a un solo túnel a través de una función llamada "Try Cloudflare". Esto creará un subdominio único para el túnel en el subdominio trycloudflare.com. Si bien normalmente solo permitirá la proxyfización de un servicio HTTP, los atacantes podrían usar herramientas adicionales como socat para convertir primero flujos de datos para cualquier servicio TCP, como RDP, en HTTP.
"Intentar obtener inteligencia de amenazas accionable de Cloudflared en una máquina víctima puede ser difícil", dijo Finn. "En primer lugar, Cloudflared no almacena registros en el servidor del túnel de manera predeterminada. Si Cloudflared se ejecuta desde una línea de comandos, la salida del registro se envía a la salida estándar, lo que significa que un defensor podría ver la actividad en tiempo real, pero solo si tiene acceso al proceso en un símbolo del sistema o en un contexto de terminal. Esto se vuelve problemático si el actor de la amenaza ejecuta Cloudflared como un servicio en la máquina víctima.
"Para entornos donde la salida de Cloudflared es accesible para los miembros del equipo SOC y CTI, estos deben revisarla para determinar si se han configurado dominios en la configuración del túnel de Cloudflare del atacante", dijo Finn.
Una forma de detectar el uso de Cloudflare Tunnel es monitorear las consultas DNS para varios hosts, incluidos update.argotunnel.com, protocol-v2.argotunnel.com y *.v2.argotunnel.com. El demonio del túnel intentará conectarse a las direcciones IP devueltas por estas consultas, que generalmente serán los servidores de borde de Cloudflare más cercanos a la víctima en diferentes regiones.
Las conexiones subsiguientes a estas direcciones IP se realizarán mediante el protocolo QUIC en el puerto 7844, por lo que monitorear las conexiones salientes a este puerto podría indicar el uso de Cloudflare Tunnel en una red. Por supuesto, si Cloudflare Tunnel ya se está utilizando en la red de manera autorizada, se deben implementar filtros adicionales, como excluir direcciones IP específicas donde se sabe que Cloudflared está autorizado para ejecutarse.
Otros métodos de detección podrían incluir el monitoreo local en las máquinas de los registros de ejecución de línea de comandos o procesos que contengan los argumentos "tunnel run -token" y variantes relacionadas. También se podrían agregar los valores hash de los lanzamientos binarios de Cloudflared a un sistema de respuesta a incidentes a nivel local.
"Es solo cuestión de tiempo antes de que esta herramienta sea utilizada por muchos actores de amenazas para la persistencia y la exfiltración", dijo Finn. "Los defensores deben adelantarse a esta amenaza y comprender claramente cómo opera la herramienta. Además, deben establecer políticas para evitar la ejecución de esta herramienta sin un proceso de aprobación manual. Los equipos deben hacer consideraciones similares al establecer políticas para todas las herramientas 'living-off-the-land' que pueden ser abusadas por actores de amenazas dentro de una red".
Aviso legal: Este documento ha sido compartido desde la página de CSO On Line con el único propósito de fomentar el discurso sobre el tema de la ciberseguridad y las buenas prácticas de ciberseguridad. Nuestra intención no es difamar a ninguna empresa, persona o entidad legal. Toda la información mencionada en este documento se basa en informes y datos disponibles gratuitamente en línea. Never Off Technology no se atribuye ningún crédito ni responsabilidad por la precisión de cualquier fuente o información compartida en este documento.