Páginas

03 noviembre, 2018

Credenciales almacenadas en caché para RDP: Comportamiento por defecto, riesgos de seguridad y mitigación

En el artículo anterior había comentado sobre la Gestión y recuperación de credenciales almacenadas en recursos y servicios de Windows. En relación a esto quiero abordar el caso concreto del almacenamiento de credenciales en caché para el servicio de RDP, su comportamiento por defecto, riesgos de seguridad que esto supone y cómo mitigarlos correctamente.

Windows permite de forma predeterminada que el cliente de Escritorio Remoto (RDP) recuerde las credenciales introducidas en sesiones previamente establecidas. Si el usuario marca la opción "Recordar mis credenciales", el sistema almacena el nombre de usuario y la contraseña de forma cifrada en el Administrador de Credenciales (Credential Manager) bajo entradas como "TERMSRV/<host>", lo que permite reconexiones automáticas sin volver a autenticarse. Además, en el registro de Windows se almacena el historial de hosts conectados y los usuarios utilizados, lo que expone y hace accesible esta información.

Registro del historial de conexiones RDP

En el registro de Windows se guarda el historial de hosts e IPs conectados mediante RDP, además del hostname y el último nombre de usuario utilizado. Aquí podemos ver y borrar la información de sesiones RDP almacenadas.

HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default

Este comportamiento afecta únicamente al cliente RDP, no al servidor (host), y es independiente del tipo de cuenta (local o dominio). Sin embargo, en sistemas unidos a dominio, Windows también almacena hashes de inicio de sesión en caché (por defecto hasta 10) mediante la política "CachedLogonsCount", lo que permite autenticaciones si el cliente pierde la conexión al controlador de dominio. Esta funcionalidad está más relacionada con el inicio de sesión interactivo que con RDP, pero representa otro vector donde se conservan credenciales temporalmente.

Si bien estas funcionalidades están diseñadas para mejorar la experiencia del usuario, también representan riesgos considerables en la seguridad del sistema si no se controlan adecuadamente. La exposición de credenciales guardadas, la persistencia de accesos automáticos en sistemas compartidos o comprometidos, y la falta de visibilidad sobre estos almacenamientos hacen que sea fundamental aplicar medidas de mitigación concretas, como el bloqueo del guardado de contraseñas y el ajuste del número de logons almacenados en caché.

Riesgos identificados en RDP por el almacenamiento de credenciales en caché

Actualizado el 25/09/2024

En el Protocolo de Escritorio Remoto (RDP) Windows permite a los usuarios iniciar sesión incluso con credenciales revocadas debido a un fallo en la validación de contraseñas. Esto ocurre especialmente en equipos unidos a un dominio que, en el momento de la conexión RDP, no tienen acceso o perdieron conexión al controlador de dominio para verificar en tiempo real si las credenciales siguen siendo válidas. Siempre que el usuario haya iniciado sesión previamente en ese host remoto con esas credenciales cuando aún eran vigentes, el sistema permite el acceso utilizando las credenciales almacenadas en caché, aunque hayan sido revocadas o modificadas, lo que puede ser aprovechado por un atacante u otro usuario del sistema para obtener acceso no autorizado a través de un inicio de sesión interactivo a través de RDP.

Mitigar riesgo: Evitar el almacenamiento de credenciales

Ruta GPO:

Configuración del equipo > Plantillas administrativas > Componentes de Windows > Cliente de Conexión de Escritorio remoto

  • No permitir guardar contraseñas > Habilitada

Esto oculta la opción "Recordar mis credenciales" en el cliente RDP y evita que se almacenen nuevas credenciales en el Administrador de credenciales (TERMSRV/<host>). No afecta a credenciales previamente guardadas, por lo que se deben eliminar el histórico de credenciales que ya estuvieran almacenadas.

Equivalente en Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

  • "DisablePasswordSaving" = dword:00000001

Mitigar riesgo: Limitar el almacenamiento de inicios de sesión anteriores

Ruta GPO:
Configuración del equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Opciones de seguridad
  • Inicio de sesión interactivo: Número de inicios de sesión anteriores que se almacenarán en caché > Deshabilitada.
Esta política solo está disponible en plantillas ADMX de equipos unidos a dominio. Controla la cantidad de veces que Windows almacena en caché las credenciales de los usuarios de dominio para permitirles iniciar sesión sin conexión al controlador de dominio.

Equivalente en Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  • "CachedLogonsCount" = "0"
Importante: Esto solo afecta a cuentas de dominio y solo en inicio de sesión interactivo, de forma indirectamente también afecta al acceso RDP solo si la conexión al dominio no está disponible.

Medidas de seguridad adicionales

Actualizado el 25/09/2024

Implementar autenticación multifactor (MFA) a través de herramientas de terceros o nativas como la integración de Microsoft Entra ID MFA con RDP mediante extensión NPS (Network Policy Server), esto añade una capa de seguridad, impidiendo el acceso no autorizado incluso si las credenciales son revocadas. Por otro lado, el se debe realizar un monitoreo y auditoría que permita identificar intentos de acceso sospechosos, intentos de fuerza bruta, ayudando a prevenir ataques y proporcionando visibilidad sobre actividades anómalas en el servicio RDP. Ambas medidas refuerzan la protección y reducen el riesgo de explotación.

Conclusión

Windows guarda por defecto las credenciales de RDP y el historial de conexiones en el equipo cliente. Aunque esto mejora la usabilidad y facilidad operativa del usuario, representa un riesgo alto de seguridad. Desactivar el guardado de contraseñas, limitar la caché de logons y limpiar manualmente los rastros de sesiones previas ayuda a bastionar y fortalecer la postura de seguridad del sistema.

Saludos!

No hay comentarios

Publicar un comentario

Entradas Populares