- Hola, soy Daniel. Soy un estudiante de último año de secundaria de 15 años. En mi tiempo libre hackeo grandes empresas y construyo cosas geniales. Hace 3 meses, descubrí un ataque 0-click de desanonimización que permite a un atacante rastrear la ubicación de un objetivo dentro de un radio de 250 millas a través de dispositivos con ciertas apps instaladas. Quiero advertir a periodistas, activistas y hackers a través de esta investigación.
Cloudflare
- Cloudflare es uno de los CDN más populares del mercado y supera a Sucuri, Amazon CloudFront, Akamai y Fastly, entre otros.
- Una de las funciones principales de Cloudflare es el caché, que almacena contenido de acceso frecuente para reducir la carga del servidor y mejorar el rendimiento del sitio web.
- Cloudflare tiene centros de datos en 330 ciudades de todo el mundo, lo que representa un 273% más que Google.
- Como los datos en caché de Cloudflare se almacenan cerca del usuario, surgió la idea de si esto podría explotarse para un ataque de desanonimización.
Cloudflare Teleport
- No se pueden enviar solicitudes HTTP directamente a los centros de datos de Cloudflare, pero descubrí una forma de enviar solicitudes a un centro de datos específico usando Cloudflare Workers.
- Cloudflare Teleport es una herramienta proxy que redirige solicitudes HTTP a centros de datos específicos a través de Cloudflare Workers.
- Esta herramienta fue parchada posteriormente por Cloudflare, pero se usó en las pruebas iniciales.
Primer ataque de desanonimización
- Usé la herramienta Cloudflare Teleport para verificar la teoría, y mediante un programa CLI sencillo envié solicitudes HTTP GET a una URL específica y enumeré el caché del recurso y su antigüedad.
- La prueba se realizó con el favicon de Namecheap y confirmó la teoría.
Aplicación práctica: Signal
- Signal es un servicio de mensajería cifrada de código abierto ampliamente usado por periodistas y activistas.
- Las URL de archivos adjuntos de Signal tienen configurado el caché de Cloudflare, por lo que se puede rastrear la ubicación del receptor usando un método de geolocalización del caché.
- El ataque 0-click es posible mediante notificaciones push, y el archivo adjunto se descarga automáticamente aunque el usuario no abra la conversación.
Aplicación práctica: Discord
- Discord es una app gratuita orientada a gamers que recientemente ha llamado la atención por filtraciones gubernamentales y ciberdelito.
- Las URL de avatares de usuario de Discord tienen configurado el caché de Cloudflare, lo que permite un ataque 0-click mediante notificaciones push.
- Se puede realizar un ataque automatizado con un bot de Discord llamado GeoGuesser y ver los resultados directamente en Discord.
Reporte de bug bounty
- Reporté los hallazgos de la investigación a Signal y Discord, pero en su mayoría recibí respuestas decepcionantes.
- Cloudflare parchó el bug que permitía moverse entre centros de datos, pero el problema de fondo no quedó resuelto.
Cómo protegerte
- Este ataque puede representar un gran riesgo, especialmente para periodistas, activistas y personas que valoran la privacidad.
- Cualquier app que use un CDN puede seguir siendo vulnerable si no toma las medidas preventivas adecuadas.
Reflexiones finales
- Los CDN mejoran el rendimiento y la escalabilidad, pero también introducen riesgos que pueden explotarse de nuevas maneras.
- Los usuarios con roles sensibles o que valoran la privacidad deben mantenerse informados y alerta.
1 comentarios
Opiniones de Hacker News
Cuando un usuario de Signal envía una foto, esta se almacena en caché en un centro de datos a través de Cloudflare. Rastrear la ubicación del usuario es una afirmación exagerada y, a menos que el usuario esté en un lugar remoto, no compromete el anonimato. Aun así, es un análisis interesante
Signal y Discord no ofrecen anonimato. Afirman que no pueden leer los mensajes, pero eso no significa que sean perfectos
Algunos usuarios creen que esta técnica sí compromete el anonimato. Con ataques repetidos, se puede rastrear la ruta de movimiento de un usuario
Rastrear la ubicación dentro de un radio de 250 millas no compromete el anonimato. Se necesita OSINT adicional
Este ataque podría ser usado por las fuerzas del orden o actores maliciosos para determinar la ubicación de un usuario
Hay dudas sobre por qué Signal habilitó el almacenamiento en caché de URL. Desactivarlo probablemente resolvería el problema
Así es como funciona internet en esencia, y es la razón por la que se necesitan proxies de anonimización. No es una gran amenaza para la mayoría de los usuarios
Este es un ataque no tradicional que no implica ejecución de código. Permite determinar la ubicación aproximada de un usuario a través de los centros de datos de Cloudflare