Seth es una herramienta desarrollada en python y bash que nos permite realizar un ataque MITM man in the middle en conexiones RDP aprovechándose una configuración insegura como es el NO habilitar la autenticación a nivel de red NLA para conexiones de escritorio remoto.
Como requerimiento previo para usar Seth es necesario tener instalado arpspoof por lo que será necesario instalar el paquete dsniff.
apt install dsniff -y
Clonar el reporsitorio de Seth.
git clone https://github.com/SySS-Research/Seth.git
Escenario en un entorno de dominio Active Directory
- Atacante: 1.0.0.38 (Kali)
- Víctima: 10.0.0.50 (Win10)
- Host remoto: 10.0.0.76 (WServer 2019)
Desde la máquina Kali 10.0.0.38 descargamos y previamente ejecutamos el script de seth.sh.
./seth.sh <INTERFACE> <ATTACKER IP> <VICTIM IP> <GATEWAY IP|HOST IP> [<COMMAND>]
Veremos que captura las pulsaciones de teclado DOMINIO\USUARIO:PASSWORD incluso después de que se establezca la conexión RDP.
Figura 1: Seth - MitM en conexiones RDP. |
Haciendo uso del cliente rdesktop nos autenticamos con las credenciales capturadas y vemos como se establece una conexión RDP hacia la máquina remota.
rdesktop -g1024x768 <REMOTE IP> -u <USER> -p <PASSWORD> -d <DOMAIN>
Figura 2: rdesktop - Conexión RDP a la máquina remota víctima. |
Mitigar ataques MITM en conexiones RDP
NLA (Network Level Authentication) requiere que el usuario que se conecta desde un cliente RDP se autentique antes de que se establezca una sesión con el servidor RDP. Utiliza el proveedor de soporte de seguridad, CredSSP, que está disponible a través de SSPI (Security Support Provider Interface).
En sistemas Windows esta opción está habilitada por defecto para mantener una comunicación segura y evitar este tipo de ataques.
Figura 3: Habilitar NLA (Autenticación a nivel de red) en conexiones remotas RDP. |
Configuración del equipo > Plantillas administrativas > Componentes de Windows > Servicios de Escritorio remoto > Host de sesión de Escritorio Remoto > Seguridad > Requerir la autenticación del usuario para las conexiones remotas mediante Autenticación a nivel de red
Figura 4: Habilitar NLA a través de política de grupo GPO. |
Conclusiones
Debido al constante y acelerado cambio tecnológico es una gestión complicada la migración de servicios y sistemas en las empresas. Sería más que necesario implementar medidas de control en el bastionado y configuraciones seguras para cualquier máquina que forme parte de una infraestructura corporativa, independientemente del entorno en el que se esté ejecutando (DES, PRE o PRO).
A día de hoy es muy común encontrarse con este tipo de configuraciones o bien por desconocimiento o bien por mantener una retrocompatibilidad en sistemas legacy ya existentes (anteriores a Windows XP SP3 y Windows Server 2008) que se resisten a ser actualizados por las compañías debido a las complejidades de migración que supone para los servicios que están ejecutando. Por lo que este tipo de técnicas siguen siendo efectivas y deben considerarse como un riesgo alto de seguridad.
Publicación relacionada de interés.
Saludos!