Defensa contra ataques de protocolo de escritorio remoto

Al 5 de febrero de 2019, shodan.io muestra un total de 2,430,941 computadoras conectadas a Internet a través de un escritorio remoto. De estos, 507,957 pertenecen a computadoras en los Estados Unidos. Esta gran cantidad de servidores y estaciones de trabajo, que se muestran en la figura siguiente, están cada vez más sujetos a ciberataques.

Desde 2016, los ataques contra el protocolo de escritorio remoto han ido en aumento. En 2018, el Centro de Quejas de Delitos en Internet (IC3) emitió una alerta de seguridad específica con respecto al protocolo de Escritorio Remoto de Windows (RDP).

Los ataques relacionados con RDP incluyeron ransomware, robo corporativo, instalación de puertas traseras, pivotamiento y lanzamiento de ataques adicionales. A partir de 2016, las ventas en el mercado negro de cuentas RDP también estuvieron disponibles, incluidas las identidades y las credenciales de inicio de sesión, por tan solo $ 6.00 por servidor.

Obviamente, la mejor forma de proteger un servidor es deshabilitar RDP. Sin embargo, a veces, esta no es una opción. Si su servidor es uno de los muchos que requieren un escritorio remoto para funcionar, es fundamental conocer los tipos de ataques que pueden imponerse contra este protocolo y los diversos métodos a disposición de un ingeniero para prevenir estos ataques.

Metodologías de ataque RDP

Un ataque que puede utilizar un pirata informático es la fuerza bruta de las credenciales RDP. En este ataque, un actor malintencionado escaneará un rango de direcciones IP, buscará puertos abiertos utilizados por RDP (por ejemplo, 3389) y finalmente utilizará un método de fuerza bruta como un ataque de diccionario para intentar determinar la contraseña.

Desafortunadamente, las credenciales no solo están sujetas a pérdida en este tipo de ataque, sino que además, este ataque de fuerza bruta puede servir como una denegación de servicio contra la memoria o el almacenamiento del sistema operativo debido al llenado.

Afortunadamente, RDP está encriptado de forma predeterminada a través de TLS. Sin embargo, un atacante aún puede utilizar a un hombre en el medio del ataque para obtener credenciales RDP. Como ocurre con cualquier hombre en el medio del ataque, el atacante se ubica en un dominio de transmisión compartido con el cliente o con el servidor RDP.

Una de esas metodologías utiliza una herramienta basada en Python llamada Seth para aprovechar la suplantación de ARP para redirigir el tráfico a través de un proxy RDP. Esto permite al atacante degradar el cifrado de la conexión y extraer las credenciales de texto sin cifrar.

Al igual que con cualquier servicio de escucha, los ataques pueden aprovecharse contra código vulnerable. RDP no es una excepción a la regla. Se dio a conocer al público un ejemplo de una vulnerabilidad específica de RDP como parte de CVE-2018-0976.

Este CVE notificó a los usuarios de una vulnerabilidad en el servicio de escritorio remoto que hacía que el sistema operativo fuera vulnerable a una denegación de servicio cuando se enviaban paquetes especialmente diseñados a un servidor de escucha que ejecutaba RDP.

Un atacante también puede utilizar su conexión a través de RDP para realizar acciones maliciosas adicionales, como la implementación de ransomware, la instalación de una puerta trasera o incluso la rotación en todo el entorno.

En algunos casos, los atacantes pueden canalizar las conexiones RDP a través de otro protocolo, como SSH, para evitar los cortafuegos y otras protecciones de límites.

Defensa contra ataques RDP

Hay varias contramedidas que un administrador puede utilizar para defenderse de los ataques basados ​​en RDP y la mayoría son muy simples.

Contraseñas y bloqueos

Primero, para defenderse de los ataques de fuerza bruta, es fundamental utilizar contraseñas complejas o autenticación de dos factores, así como implementar una política de bloqueo. Para implementar una política de bloqueo como parte de su dominio de Windows, vaya a la siguiente configuración en el editor de políticas de grupo.

Computer ConfigurationPolicies Windows Settings Security Settings Account Policies Account Lockout

Establecer su Umbral de bloqueo de cuenta al número de intentos no válidos que elija.

Utilice un puerto alternativo para RDP

Para cambiar el puerto utilizado para RDP, modifique la siguiente clave de registro.

HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-TcpPortNumber

Instale las últimas actualizaciones de seguridad y de Windows

Hay varios ejemplos de vulnerabilidades en el propio software de Escritorio remoto. Desde 2002, ha habido más de 20 actualizaciones de seguridad y 24 CVE independientes. Algunos ejemplos incluyen:

Al igual que con cualquier servicio de escucha, es fundamental mantener el servicio parcheado y actualizado para evitar estos problemas. Rapid7 publicó una lista completa de vulnerabilidades relacionadas con RDP. Está disponible en el siguiente enlace.

https://blog.rapid7.com/2017/08/09/remote-desktop-protocol-exposure/

Restrinja las sesiones de RDP por dirección IP con el Firewall de Windows

El firewall de Windows se puede utilizar para restringir las conexiones entrantes solo a direcciones IP específicas. Si crea una regla de firewall a través del Asistente para reglas de entrada, verá un conjunto de reglas predefinidas disponibles para RDP. Utilice las reglas de TCP y UDP.

A continuación, deberá modificar las propiedades de su regla para restringir el tráfico entrante. Para hacerlo, vaya a propiedades y abra la pestaña de alcance. En esta pestaña, agregue las direcciones IP permitidas en remoto. Finalmente, no olvide modificar el puerto de destino al puerto de su elección si corresponde.

Activar la autenticación de nivel de red

En Windows Vista / 2008 y superior, hay una nueva tecnología, introducida con RDP 6.0, que ayuda a proteger las conexiones RDP. Esta tecnología se conoce como autenticación de nivel de red.

La autenticación de nivel de red protege una conexión RDP al no establecer una sesión completa hasta que se autorizan las credenciales. En versiones anteriores de Windows, la pantalla de inicio de sesión se cargaba antes de que ocurriera una autorización completa.

Esto utilizó recursos y abrió el servidor RDP a un posible DoS. Al configurar RDP, habilite NLA marcando “Permitir conexiones solo desde computadoras que ejecutan Escritorio remoto con autenticación de nivel de red. En Windows 7 y versiones posteriores, esta configuración está marcada de forma predeterminada.

Limitar usuarios de escritorio remoto

Otro mecanismo de protección disponible para los usuarios de escritorio remoto es la opción de política de grupo para el acceso al terminal. Desde esta ubicación, es posible limitar el escritorio remoto a usuarios específicos.

Se recomienda utilizar un grupo de usuarios específico de escritorio remoto separado, en lugar de permitir el acceso remoto a todos los usuarios administrativos. Para bloquear usuarios remotos a través de la política de grupo, haga lo siguiente:

  1. Haga clic en Inicio → Programas → Herramientas administrativas → Política de seguridad local.
  2. En Políticas locales, haga clic en Asignación de derechos de usuario, vaya a Permitir el inicio de sesión a través de Terminal Services. O Permita el inicio de sesión a través de Servicios de escritorio remoto.
  3. Elimine el grupo Administradores y salga del grupo Usuarios de escritorio remoto.
  4. Utilice el panel de control del sistema para agregar usuarios al grupo de usuarios de escritorio remoto.

Usar puertas de enlace RDP

Una puerta de enlace RDP actúa como proxy de todas las conexiones a través de un único servidor de puerta de enlace. Este servicio está integrado en Windows 2008 y 2012. La puerta de enlace escuchará las solicitudes de servicios de terminal a través de https y luego conectará el cliente al servidor RDP.

Esto obliga a que todas las conexiones se controlen a través de una ubicación central. Las instrucciones para configurar una puerta de enlace remota están disponibles en el siguiente enlace:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc770601(v=ws.11)

Conexiones de túnel de escritorio remoto a través de IPSec o SSH

Se puede tomar una precaución de seguridad adicional mediante la tunelización de las sesiones RDP a través de IPSec o SSH. Una forma sencilla de lograr esto es con masilla. Primero, conéctese a un servidor ssh remoto local al servidor RDP.

A continuación, configure la sesión de cliente putty ssh como se muestra a continuación. Debajo Conexión | SSH | Túneles, configurará el reenvío de puertos desde 127.0.0.2:3388 (o el puerto de su elección) a la IP y el puerto del servidor RDP.

Finalmente, conecte su servidor RDP a la dirección y al puerto local. Esto reenviará el puerto a través de un túnel SSH hasta el destino final.

Resumen

Los ataques a escritorios remotos aumentan anualmente. En la actualidad, existen varias metodologías de ataque RDP utilizadas por los actores malintencionados, incluida la fuerza bruta, el hombre en el medio y la explotación de código vulnerable.

Los piratas informáticos también utilizan RDP como mecanismo de implementación para otros ataques como el ransomware. A pesar de los diversos vectores de ataque, cuando se implementa correctamente, RDP aún se puede utilizar de manera segura.

Las formas de proteger RDP incluyen limitar las conexiones a direcciones IP y usuarios específicos, mantener RDP actualizado y parcheado, utilizar puertas de enlace RDP, implementar túneles sobre SSH, utilizar la autenticación de nivel de red y ocultar el puerto RDP.

También es importante utilizar contraseñas complejas, autenticación de dos factores y bloqueos de cuentas. RDP puede ser una herramienta útil cuando se usa correctamente. Se puede implementar de forma bastante segura si se cumplen todas las precauciones anteriores.

Deja un comentario