Un investigador de 16 años ha descubierto una vulnerabilidad crítica en los sistemas de Microsoft, específicamente en su servicio interno de análisis llamado Titan. Utilizando un token manipulado con un identificador de usuario estándar, logró ejecutar consultas SQL y acceder a metadatos de aproximadamente 25.000 cuentas, que incluían cerca de 18.000 direcciones de correo electrónico de empleados y miles de dashboards. Este caso resalta una serie de deficiencias en la verificación de tokens, lo que tiene implicaciones serias para la seguridad de los datos.
El joven, conocido como Faav, llevó a cabo su investigación en agosto utilizando su herramienta de inteligencia artificial, Antares. En cuestión de días, identificó que la API de Titan, aunque diseñada para ser privada, estaba expuesta en un host de Azure. Faav logró sortear el sistema al probar variaciones de un token hasta que descubrió que el servidor aceptaba tokens sin firma digital. Luego, simplemente cambió el nombre de usuario a “admin”, lo que le dio acceso como administrador.
Este incidente pone de relieve la importancia de validar adecuadamente la firma de los tokens, un aspecto que Microsoft asegura que debe ser una prioridad, según su propia documentación. Sin embargo, en este caso, Titan omitió este paso crítico, lo que permitió el acceso no autorizado. Aunque Faav no utilizó este acceso para causar daño, el potencial de una explotación más peligrosa era evidente.
Este tipo de vulnerabilidad no es nuevo. Desde 2015, se ha documentado que varias librerías hacen caso omiso de la necesaria validación de tokens. A pesar de contar con recomendaciones de buenas prácticas emitidas por el Grupo de Trabajo de Ingeniería de Internet, varias empresas, incluida Microsoft, siguen enfrentándose a problemas similares.
Faav subraya que, aunque la inteligencia artificial fue clave en su proceso de búsqueda, la idea de utilizar “admin” fue completamente suya. Este caso demuestra que incluso los ataques menos sofisticados pueden tener un impacto significativo si no se implementan las medidas de seguridad adecuadas. Finalmente, la lección es clara: siempre se debe verificar la firma de los tokens y no suponer que las APIs son seguras solo porque no son visibles públicamente.
