El RDP de Windows permite iniciar sesión con contraseñas revocadas. Microsoft lo acepta
Desde el departamento de dolores de cabeza llega esta noticia contra-intuitiva: Microsoft dice que no tiene planes de cambiar un protocolo de inicio de sesión remoto en Windows que permite a las personas iniciar sesión en máquinas usando contraseñas que han sido revocadas.
Cambiar la contraseña es uno de los primeros pasos que se deben dar en caso de una filtración o una cuenta comprometida. Se espera que, una vez hecho esto, no se pueda acceder a ninguno de los dispositivos que dependían de la contraseña.
No es solo un error
Sin embargo, el Protocolo de Escritorio Remoto (el mecanismo propietario integrado en Windows que permite a un usuario remoto iniciar sesión y controlar una máquina como si estuviera directamente frente a ella) en muchos casos seguirá confiando en una contraseña incluso después de que el usuario la haya cambiado. Microsoft afirma que este comportamiento es una decisión de diseño para garantizar que los usuarios nunca queden bloqueados.
El investigador de seguridad independiente Daniel Wade reportó el comportamiento a principios de este mes al Centro de Respuesta de Seguridad de Microsoft. En el informe, proporcionó instrucciones paso a paso para reproducirlo. Advirtió además que el diseño contradice las expectativas casi universales de que, una vez cambiada una contraseña, ya no se puede acceder a ningún dispositivo o cuenta asociada a ella.
"Esto no es solo un error. Es una pérdida de confianza", escribió Wade en su informe. "La gente confía en que cambiar su contraseña impedirá el acceso no autorizado". Continuó:
Es lo primero que hace cualquiera tras sospechar una vulneración. Y, sin embargo:
Las credenciales antiguas continúan funcionando para RDP, incluso desde máquinas nuevas.
Defender, Entra ID y Azure no generan ninguna alarma.
No existe una forma clara para que los usuarios finales detecten o solucionen el problema.
Ninguna documentación o guía de Microsoft aborda este escenario directamente.
Incluso las contraseñas más nuevas pueden ignorarse mientras las más antiguas continúan funcionando.
¿El resultado? Millones de usuarios —en casa, en pequeñas empresas o en entornos de trabajo híbridos— corren un riesgo sin saberlo.
En respuesta, Microsoft afirmó que el comportamiento es una "decisión de diseño para garantizar que al menos una cuenta de usuario siempre pueda iniciar sesión, independientemente del tiempo que el sistema haya estado desconectado". Por lo tanto, Microsoft indicó que el comportamiento no cumple con la definición de vulnerabilidad de seguridad y que los ingenieros de la compañía no tienen previsto modificarlo.
La posibilidad de usar una contraseña revocada para iniciar sesión mediante RDP se produce cuando un equipo Windows que ha iniciado sesión con una cuenta de Microsoft o Azure está configurado para habilitar el acceso a escritorios remotos. En ese caso, los usuarios pueden iniciar sesión mediante RDP con una contraseña dedicada validada con una credencial almacenada localmente. Como alternativa, pueden iniciar sesión con las credenciales de la cuenta en línea que se usó para iniciar sesión en el equipo.

Incluso después de que los usuarios cambien la contraseña de su cuenta, esta sigue siendo válida para los inicios de sesión RDP indefinidamente. En algunos casos, según informó Wade, varias contraseñas antiguas funcionan, mientras que las nuevas no. El resultado: un acceso RDP persistente que elude la verificación en la nube, la autenticación multifactor y las políticas de acceso condicional.
Wade y otro experto en seguridad de Windows afirmaron que este comportamiento poco conocido podría resultar costoso en casos donde una cuenta de Microsoft o Azure se ha visto comprometida, por ejemplo, cuando sus contraseñas se han filtrado públicamente. En tal caso, la primera medida es cambiar la contraseña para evitar que un atacante la use para acceder a recursos confidenciales. Si bien el cambio de contraseña impide que el atacante inicie sesión en la cuenta de Microsoft o Azure, la contraseña anterior le otorgará acceso al equipo del usuario a través de RDP indefinidamente.
«Esto crea una puerta trasera remota y silenciosa en cualquier sistema donde la contraseña se haya almacenado en caché», escribió Wade en su informe. «Incluso si el atacante nunca tuvo acceso a ese sistema, Windows seguirá confiando en la contraseña».
Will Dormann, analista senior de vulnerabilidades de la empresa de seguridad Analygence, estuvo de acuerdo.
"Desde el punto de vista de la seguridad, no tiene sentido", escribió en una entrevista en línea. "Si fuera administrador de sistemas, esperaría que, al cambiar la contraseña de una cuenta, las credenciales antiguas de esa cuenta no se pudieran usar en ningún sitio. Pero no es así".
El almacenamiento en caché de credenciales es un problema
El mecanismo que hace posible todo esto es el almacenamiento en caché de credenciales en el disco duro del equipo local. La primera vez que un usuario inicia sesión con las credenciales de una cuenta de Microsoft o Azure, RDP confirmará la validez de la contraseña en línea. Windows almacena la credencial en un formato criptográfico seguro en el equipo local. A partir de entonces, Windows validará cualquier contraseña introducida durante un inicio de sesión RDP comparándola con la credencial almacenada localmente, sin necesidad de búsqueda en línea. De esta forma, la contraseña revocada seguirá permitiendo el acceso remoto a través de RDP.
En respuesta al informe de Wade, Microsoft afirmó haber actualizado la documentación en línea aquí para que los usuarios estuvieran mejor informados sobre este comportamiento. La actualización añade las siguientes frases:
Precaución
Cuando un usuario inicia sesión localmente, sus credenciales se verifican localmente con una copia en caché antes de autenticarse con un proveedor de identidad a través de la red. Si la verificación en caché es correcta, el usuario puede acceder al escritorio incluso si el dispositivo está sin conexión. Sin embargo, si el usuario cambia su contraseña en la nube, el verificador en caché no se actualiza, lo que significa que aún puede acceder a su equipo local con su contraseña anterior.
Dormann afirmó que la actualización no es fácil de detectar para la mayoría de los administradores y no es lo suficientemente explícita. Además, no indica a los usuarios qué pasos deben seguir para bloquear RDP en caso de que su cuenta de Microsoft o Azure se vea comprometida. Dormann indicó que la única opción es configurar RDP para que se autentique únicamente con credenciales almacenadas localmente.
Un portavoz de Microsoft afirmó que la compañía se pondría en contacto con ellos si Microsoft tuviera algo que compartir. Nunca hicieron seguimiento.
Microsoft le dijo a Wade que no era la primera persona en reportar el comportamiento como una vulnerabilidad de seguridad, indicando que los ingenieros de seguridad de la compañía han estado al tanto del comportamiento durante casi dos años.
"Hemos determinado que este es un problema que ya nos reportó otro investigador en agosto de 2023, por lo que este caso no es elegible para una recompensa", informaron empleados de la compañía a Wade. "Inicialmente, consideramos un cambio de código para este problema, pero tras una revisión más exhaustiva de la documentación de diseño, se descubrió que los cambios en el código podrían afectar la compatibilidad con la funcionalidad utilizada por muchas aplicaciones".



