Cada vez que inicias sesión en un servicio o una app, lo que pasa de un lado a otro es un token que detalla quiénes somos y qué podemos hacer. Su fiabilidad no es tanto lo que dice sino su firma digital, que garantiza que lo emitió quien debía y que nadie lo ha modificado. Desde hace años se sabe que este procedimiento es manifiestamente mejorable pero aún así, sigue pasando en las mejores familias: sin ir más lejos, acaba de sucederle a Microsoft.
En Xataka
Ese botón de 'Resumir con IA te puede estar manipulando en secreto, y Microsoft da las claves para protegerse
Qué ha pasado. Faav es un investigador de seguridad y también un chaval de 16 años. Pues bien, con un token manipulado y el usuario "admin" (todo un clásico de las configuraciones por defecto), el joven logró ejecutar consultas SQL como administrador de Titan, el servicio interno de analítica de Microsoft.
Así accedió a metadatos de la plataforma, más concretamente a unas 25.000 cuentas, 17.990 emails de empleados, 24.569 dashboards. Además, comprobó que el servicio conectaba con 17 bases de datos de analítica que, según su estimación, suman unos 17,3 billones de filas. Lo reportó al Microsoft Security Response Center ese mismo día, el 5 de septiembre. La compañía cerró el acceso el 9 y le pagó 5.000 dólares el 17, como cuenta en su blog.
Cómo lo hizo. El 25 de agosto, Faav y su herramienta de IA llamada Antares lograron encontrar la API de Titan. Al parecer, la web del servicio solo era accesible para el personal, pero la API estaba expuesta en un host de Azure. Durante diez días, Antares fue probando variaciones de un token hasta comprobar que el servidor aceptaba tokens sin firma. Lo que no logró fue dar con un usuario que Titan reconociera.
Así que se le ocurrió todo un clásico: cambió el campo de usuario por "admin". Bingo: Titan lo trató como un nombre de usuario local con rol de administrador y la consulta se ejecutó.
Por qué importa. Porque no hizo falta un ataque sofisticado. Titan comprobaba el contenido del token (tenant, audiencia, aplicación y usuario), pero nunca su firma, y eso dejaba sin efecto todo lo demás. Paradójicamente, la documentación de Azure Application Gateway explica que hay que validar la firma, el emisor, el destinatario y la caducidad del token. En casa del herrero, cuchillo de palo.
Además, es un buen ejemplo de caza de vulnerabilidades asistida por IA, donde la máquina no es el cerebro sino el aliado del criterio humano. Según Faav, Antares aportó la constancia durante diez días, pero la idea de probar "admin" fue suya.
Ni es sofisticado ni es nuevo. Ya hemos visto que más allá de la persistencia, lo que hizo falta fue probar con un clásico, pero es que este tipo de acceso está documentado desde 2015, cuando el investigador Tim McLean mostró que varias librerías los daban por válidos los tokens declarados sin algoritmo. Cinco años después, el Grupo de Trabajo de Ingeniería de Internet (IETF) publicó unas buenas prácticas de seguridad para el estándar SON Web Token.
Podría haber sido una escabechina. Faav aclara que el impacto de este ataque quedó en el plano hipotético porque no tocó datos de clientes y se limitó a metadatos y a dos muestras de una fila de datos de Bing. Los 17,3 billones de filas son una estimación a partir de metadatos que probablemente incluye datos históricos, duplicados y derivados. No obstante, Microsoft revisó el texto antes de su publicación y recortó secciones y cifras, pero todo el detalle técnico procede del propio investigador.
Qué hemos aprendido. La lección aprendida tampoco es nueva, pero conviene recordarla porque sigue sucediendo: hay que comprobar siempre la firma de los tokens, fijar en el servidor qué algoritmo se acepta independientemente de lo que declare el token y no dar por segura una API solo porque su web esté oculta.
En Xataka | Un joven de 19 años hackeó el iPhone, fue contratado por Apple y terminó despedido por no contestar a un correo
En Xataka | Han secuestrado agentes de Anthropic, Google y Microsoft por el bien de la ciencia. Las tres empresas acabaron pagando
Portada | Ed Hardie
-
La noticia
17,3 billones de filas y usar "admin"como usuario: el agujero de Microsoft que descubrió un chaval de 16 años
fue publicada originalmente en
Xataka
por
Eva R. de Luis
.
17,3 billones de filas y usar "admin"como usuario: el agujero de Microsoft que descubrió un chaval de 16 años
Diez días de pruebas, una IA y una corazonada: la clave fue probar "admin" donde ninguna máquina lo hizo
Cada vez que inicias sesión en un servicio o una app, lo que pasa de un lado a otro es un token que detalla quiénes somos y qué podemos hacer. Su fiabilidad no es tanto lo que dice sino su firma digital, que garantiza que lo emitió quien debía y que nadie lo ha modificado. Desde hace años se sabe que este procedimiento es manifiestamente mejorable pero aún así, sigue pasando en las mejores familias: sin ir más lejos, acaba de sucederle a Microsoft.
Qué ha pasado. Faav es un investigador de seguridad y también un chaval de 16 años. Pues bien, con un token manipulado y el usuario "admin" (todo un clásico de las configuraciones por defecto), el joven logró ejecutar consultas SQL como administrador de Titan, el servicio interno de analítica de Microsoft.
Así accedió a metadatos de la plataforma, más concretamente a unas 25.000 cuentas, 17.990 emails de empleados, 24.569 dashboards. Además, comprobó que el servicio conectaba con 17 bases de datos de analítica que, según su estimación, suman unos 17,3 billones de filas. Lo reportó al Microsoft Security Response Center ese mismo día, el 5 de septiembre. La compañía cerró el acceso el 9 y le pagó 5.000 dólares el 17, como cuenta en su blog.
Cómo lo hizo. El 25 de agosto, Faav y su herramienta de IA llamada Antares lograron encontrar la API de Titan. Al parecer, la web del servicio solo era accesible para el personal, pero la API estaba expuesta en un host de Azure. Durante diez días, Antares fue probando variaciones de un token hasta comprobar que el servidor aceptaba tokens sin firma. Lo que no logró fue dar con un usuario que Titan reconociera.
Así que se le ocurrió todo un clásico: cambió el campo de usuario por "admin". Bingo: Titan lo trató como un nombre de usuario local con rol de administrador y la consulta se ejecutó.
Por qué importa. Porque no hizo falta un ataque sofisticado. Titan comprobaba el contenido del token (tenant, audiencia, aplicación y usuario), pero nunca su firma, y eso dejaba sin efecto todo lo demás. Paradójicamente, la documentación de Azure Application Gateway explica que hay que validar la firma, el emisor, el destinatario y la caducidad del token. En casa del herrero, cuchillo de palo.
Además, es un buen ejemplo de caza de vulnerabilidades asistida por IA, donde la máquina no es el cerebro sino el aliado del criterio humano. Según Faav, Antares aportó la constancia durante diez días, pero la idea de probar "admin" fue suya.
Ni es sofisticado ni es nuevo. Ya hemos visto que más allá de la persistencia, lo que hizo falta fue probar con un clásico, pero es que este tipo de acceso está documentado desde 2015, cuando el investigador Tim McLean mostró que varias librerías los daban por válidos los tokens declarados sin algoritmo. Cinco años después, el Grupo de Trabajo de Ingeniería de Internet (IETF) publicó unas buenas prácticas de seguridad para el estándar SON Web Token.
Podría haber sido una escabechina. Faav aclara que el impacto de este ataque quedó en el plano hipotético porque no tocó datos de clientes y se limitó a metadatos y a dos muestras de una fila de datos de Bing. Los 17,3 billones de filas son una estimación a partir de metadatos que probablemente incluye datos históricos, duplicados y derivados. No obstante, Microsoft revisó el texto antes de su publicación y recortó secciones y cifras, pero todo el detalle técnico procede del propio investigador.
Qué hemos aprendido. La lección aprendida tampoco es nueva, pero conviene recordarla porque sigue sucediendo: hay que comprobar siempre la firma de los tokens, fijar en el servidor qué algoritmo se acepta independientemente de lo que declare el token y no dar por segura una API solo porque su web esté oculta.