ACTUALIZACIÓN (29 de junio de  2020): Mi colega Ondrej Kubovic publicó un artículo actualizado sobre los ataques dirigidos a RDP identificados mediante la telemetría de ESET durante los últimos seis meses, además de brindar algunas recomendacions a la hora de proteger los sistemas. Para más información, leer el artículo Crecieron los ataques de fuerza bruta dirigidos a RDP durante la pandemia publicado en WeLiveSecurity.  A.G.

Si bien la vulnerabilidad BlueKeep (CVE-2019-0708) no ha causado, hasta la fecha, un caos generalizado, en este artículo explicaremos las razones por las cuales todavía está en una etapa temprana en su ciclo de vida de explotación. El hecho es que muchos sistemas aún no están parcheados, y todavía se puede encontrar una versión completamente susceptible de ser explotada. Debido a estos factores, ESET ha creado una herramienta gratuita para verificar si un sistema es vulnerable.

Hay un viejo dicho en el campo de la seguridad de la información que dice que, si un adversario tiene acceso físico a tu computadora, ya no es tu computadora. La razón de esto es bastante simple: una vez que los atacantes tienen en sus manos una computadora, pueden cambiar lo que quieran. Instalar dispositivos como un keylogger, remover o incluso eliminar unidades de disco además de copiarlas, agregar lo que quieran en el sistema, etc. Es que todo se vuelve exponencialmente más fácil cuando tienes acceso directo a la computadora. Esta no es más que una verdad inevitable. Para los adversarios, esto es solo parte de la descripción de su trabajo.

Sin embargo, las empresas y las escuelas y todo tipo de organizaciones son conscientes de esto, ya que en ninguno de estos lugares colocan sus servidores en el vestíbulo, área de recepción, centro de visitantes, sala de espera u otro espacio al que tenga la posibilidad de acceder el público o, posiblemente, cualquier empleado, estudiante o personal ajeno. Al menos, ningún negocio que quiera permanecer en el negocio lo permite. Por lo general, hay una cierta separación de los servidores, ya sea que se encuentren en su propia sala dedicada o incluso en algún rincón que esté fuera del alcance de la mayoría del personal.

Sin embargo, a pesar de todo este conocimiento común, las lecciones aprendidas sobre seguridad en el mundo físico no siempre se trasladan correctamente al mundo de Internet. Hay una gran cantidad de servidores conectados directamente a Internet que están corriendo varias versiones de los sistemas operativos de Microsoft Windows para servidores, lo que representa poca o ninguna seguridad práctica sobre quién puede acceder a ellos. Y eso nos lleva a la discusión de RDP.

¿Qué es RDP?

RDP, abreviatura de Remote Desktop Protocol, en español Protocolo de Escritorio Remoto, permite que una computadora se conecte a otra computadora a través de una red para usarla de forma remota. En un dominio, las computadoras que ejecutan un sistema operativo Windows Client, como Windows XP o Windows 10, vienen con un software cliente RDP preinstalado como parte del sistema operativo, que les permite conectarse a otras computadoras en la red, incluidos los servidores de la organización. Una conexión a un servidor en este caso significa que podría ser directamente al sistema operativo del servidor, o podría ser a un sistema operativo que esté corriendo dentro de una máquina virtual en ese servidor. Desde esa conexión, una persona puede abrir directorios, descargar y cargar archivos y ejecutar programas, como si estuviera usando el teclado y el monitor conectados a ese servidor.

RDP fue inventado por Citrix en 1995 y vendido como parte de una versión mejorada de Windows NT 3.51 llamada WinFrame. En 1998, Microsoft agregó RDP a la edición Windows NT 4.0 Terminal Server. Desde entonces, el protocolo ha sido parte de todas las versiones de la línea de sistemas operativos Windows Server de Microsoft, además de estar incluido en todas las ediciones para usuarios no domésticos de los sistemas operativos Windows Client desde que se lanzó Windows XP en 2001. Hoy, usuarios comunes de RDP incluyen administradores de sistemas que realizan la administración remota de servidores desde sus cubículos sin tener que ir a la sala de servidores, así como trabajadores remotos que pueden conectarse a máquinas de escritorio virtualizadas dentro del dominio de su organización.

¿Qué hacen los atacantes con RDP?

Durante los últimos años, ESET ha visto un número cada vez mayor de incidentes en los que los atacantes se han conectado remotamente a un servidor de Windows desde Internet utilizando RDP e iniciado sesión como administrador de la computadora. Una vez que los atacantes inician sesión en el servidor como administrador, generalmente realizarán un reconocimiento para determinar para qué se utiliza el servidor, por quién y cuándo se está utilizando.

Una vez que los atacantes conocen qué tipo de servidor es el que controlan pueden comenzar a realizar acciones maliciosas. Algunas de las actividades maliciosas más comunes que hemos visto incluyen:

  • borrar archivos de registro que contienen evidencia de su presencia en el sistema
  • deshabilitar las copias de seguridad programadas y las shadow copies
  • deshabilitar el software de seguridad o configurar exclusiones en él (lo cual está permitido para los administradores)
  • descargar e instalar varios programas en el servidor
  • borrar o sobrescribir copias de seguridad antiguas, si están accesibles

Si bien esta no es una lista completa de todas las cosas que un atacante puede hacer, tampoco significa que un atacante necesariamente va a realizar todas estas actividades. Por lo tanto, si bien la naturaleza exacta de lo que harán los atacantes puede variar mucho, dos de las acciones más comunes que realizan son:

  • Instalar programas para criptominería con el objetivo de generar criptomonedas, tales como Monero
  • Instalar ransomware para extorsionar con dinero a la organización (a menudo solicitan realizar un pago con criptomonedas, como bitcoin).

En algunos casos, los atacantes pueden instalar adicionalmente algún software para el control remoto con el objetivo de mantener el acceso (persistencia) a un servidor comprometido en caso de que se descubra y finalice su actividad RDP.

No hemos visto ningún servidor comprometido tanto para extorsionar a través de un ransomware como para minar criptomonedas, pero hemos visto casos en que un atacante comprometió un servidor para minar criptomonedas y que luego otros atacantes comprometieron ese mismo servidor para luego cambiar el minero para que los ingresos fueron a ellos. Parece que hay pocos escrúpulos entre los ladrones.

El conocimiento acerca de los ataques RDP ha llegado a un punto en el que incluso quienes realizan estafas de sextorsión están haciendo mención a este tipo de ataques en las notas de rescate que envían a sus víctimas en un intento de hacer que sus estafas suenen más legítimas.

Figura 1. Imagen de estafa de sextorsión que llega a través del correo electrónico que menciona RDP

Ataques masivos de RDP con la llegada de BlueKeep

Los ataques realizados con RDP han sido lentos, pero constantes, en aumento y sujetos a una serie de avisos gubernamentales del FBI, el NCSC del Reino Unido, el CCCS de Canadá y el ACSC de Australia, por nombrar algunos.

Sin embargo, en mayo de 2019, las compuertas se abrieron con la llegada de CVE-2019-0708, también conocida como "BlueKeep", una vulnerabilidad que radica en el RDP y que afecta a Windows 2000, Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 y Windows Server 2008 R2. En equipos de escritorio, Windows 8 y versiones posteriores no se ven afectadas, al igual que en servidores las versiones Windows Server 2012 y posteriores.

La vulnerabilidad BlueKeep permite a los atacantes ejecutar código de manera arbitraria en las computadoras de sus víctimas. Si bien incluso los atacantes individuales pueden ser una amenaza generalizada porque pueden usar herramientas automatizadas para los ataques, esta vulnerabilidad presenta características de “gusano”, lo que significa que un ataque podría propagarse automáticamente a través de las redes sin ninguna intervención de los usuarios, al igual que hicieron en el pasado amenazas conocidas como los gusanos Win32/Diskcoder.C (más conocido como NotPetya) y Conficker.

La explotación de vulnerabilidades con características de gusano generalmente se consideran un problema grave. Microsoft ha catalogada a la vulnerabilidad como “Crítica”, que es el nivel de gravedad más alto de acuerdo a su guía published guidance for customers , y en la National Vulnerability Database del gobierno de EE. UU., la entrada para CVE-2019-0708 tiene un puntaje de 9.8 de 10. Microsoft publicó un comunicado a través del cual recomienda encarecidamente a los usuarios que instalen sus parches, incluidos aquellos para sistemas operativos que no son compatibles, como Windows XP y Windows Server 2003. Las preocupaciones sobre una vulnerabilidad explotable eran tan altas que, a principios de junio, la Agencia de Seguridad Nacional (NSA) en los Estados Unidos emitió un aviso poco frecuente recomendando la instalación de los parches que lanzó Microsoft para reparar la falla.

A principios de septiembre, Rapid7, el desarrollador de la herramienta de pentesting Metasploit, anunció el lanzamiento de un exploit para BlueKeep. Si bien no se informaron escaladas importantes en la actividad de BlueKeep durante los meses siguientes, esto ha cambiado recientemente. A principios de noviembre, informes masivos acerca de la explotación de BlueKeep se hicieron públicos, como lo señalaron ZDNet y WIRED, entre otros medios de comunicación. Según los informes, los ataques no tuvieron éxito, con aproximadamente el 91% de las computadoras vulnerables que crashearon con un error de detención (también conocido como pantalla azul de la muerte o en inglés “Blue Screen of Death”) cuando el atacante intenta explotar la vulnerabilidad BlueKeep. Sin embargo, en el 9% de las computadoras vulnerables restantes, estos atacantes instalaron con éxito software para minar Monero. Entonces, si bien no se trató de los ataques más temibles, parece que un grupo criminal tiene una explotación automatizada, aunque sin una alta tasa de éxito.

Cuando originalmente comencé a escribir este artículo, mi intención no era hacer una una descripción detallada de la vulnerabilidad, ni era proporcionar un cronograma de su explotación: mi objetivo era proporcionar a los lectores una comprensión de lo que se debe hacer para protegerse contra esta amenaza. Entonces, echemos un vistazo a lo que hay que hacer.

Defensa contra ataques vía RDP

Entonces, con todo eso en mente, ¿qué se puede hacer? Bueno, lo primero, obviamente, es evitar conectarse a los servidores propios de forma directa a través de Internet utilizando RDP. Esto puede ser problemático para algunas empresas, ya que puede haber algunas razones aparentemente legítimas para esto. Sin embargo, con el soporte para Windows Server 2008 y Windows 7 que finaliza en enero de 2020, tener computadoras que las ejecuten y sean directamente accesibles mediante RDP a través de Internet representa un riesgo para su negocio que ya debería planear mitigar.

Esto no significa que deba dejar de usar RDP de inmediato, sino que debe tomar medidas adicionales para asegurarlo lo antes y lo más rápido posible. Con este fin, hemos creado una tabla con los diez pasos principales que puede seguir para comenzar a proteger sus computadoras de los ataques basados ​​en RDP.

Recomendación para asegurar RDP Razón
1. Deshabilite conexiones externas a máquinas locales en el puerto 3389 (TCP / UDP) en el firewall perimetral. * Bloquea el acceso RDP desde Internet.
2. Pruebe e implemente parches para la vulnerabilidad CVE-2019-0708 (BlueKeep) y habilite la Autenticación de nivel de red lo más rápido posible. Instalar el parche de Microsoft y seguir sus pautas ayuda a garantizar que los dispositivos estén protegidos contra la vulnerabilidad BlueKeep.
3. Para todas las cuentas que puedan iniciar sesión a través de RDP, se requieren contraseñas complejas (es obligatoria una contraseña larga que contenga más de 15 caracteres sin palabras relacionadas con la empresa, los nombres de productos o los usuarios). Protege contra ataques que buscan adivinar contraseñas y rellenar credenciales. Es increíblemente fácil automatizarlos, y aumentar la longitud de una contraseña los hace exponencialmente más resistentes a tales ataques.
4. Instale el doble factor de autenticación (2FA) y, como mínimo, exíjalo en todas las cuentas que puedan iniciar sesión a través de RDP. Requiere una segunda capa de autenticación solo disponible para los empleados a través del teléfono móvil, token u otro mecanismo para iniciar sesión en las computadoras.
5. Instale una red privada virtual (VPN) para gestionar todas las conexiones RDP desde fuera de su red local. Evita las conexiones RDP entre Internet y su red local. Sirve para robustecer los requisitos de identificación y autenticación para el acceso remoto a computadoras.
6. Proteger con contraseña el software de seguridad para endpoint utilizando una contraseña segura no relacionada con cuentas administrativas y de servicio. Proporciona una capa adicional de protección si un atacante obtiene acceso de administrador a su red.
7. Activar en el software de seguridad para endpoint el bloqueo de explotación. Muchos programas de seguridad para endpoint también pueden bloquear las técnicas de explotación. Verifique que esta funcionalidad esté habilitada.
8. Aísle cualquier computadora insegura a la que deba accederse desde Internet utilizando RDP. Implemente el aislamiento de la red para bloquear las computadoras vulnerables del resto de la red.
9. Reemplace las computadoras inseguras. Si no se puede reparar una computadora contra la vulnerabilidad de BlueKeep, planifique su reemplazo oportuno.
10. Considere establecer el bloqueo de geoIP en la puerta de enlace VPN. Si el personal y los vendedores están en el mismo país, o en una lista corta de países, considere bloquear el acceso de otros países para evitar conexiones de atacantes extranjeros.

*Por defecto, RDP opera en el puerto 3389. Si ha cambiado este puerto a un valor diferente, entonces ese es el puerto que deberá ser bloqueado.

Esta tabla se basa en el orden de importancia y la facilidad de implementación, pero puede variar según su organización. Algunos de estos pueden no ser aplicables a la suya, o puede ser más práctico hacerlo en un orden diferente, o puede haber pasos adicionales que su organización deba tomar.

Debe verificar que su software de seguridad detecte la vulnerabilidad de BlueKeep. Dicha vulnerabilidad es detectada como RDP/Exploit.CVE-2019-0708 por el módulo Network Attack Protection de ESET, que es una extensión de la tecnología de firewall de ESET presente en ESET Internet Security y ESET Smart Security Premium para consumidores, y en los programas de protección de endpoints de ESET para empresas.

Figura 2. Tecnología Antimalware de ESET explicada: protección contra ataques de red

Sin embargo, debe tenerse en cuenta que hay escenarios en los que la detección puede no ocurrir, como es en el caso del exploit que primero crashea el sistema porque no es confiable. Para que sea más eficaz, debería emparejarse con otro exploit, como una vulnerabilidad de divulgación de información que revela las direcciones de memoria del kernel para que ya no sea necesario adivinarlas. Esto podría reducir la cantidad de crasheos, ya que el exploit actual realiza un gran heap spray.

Si está utilizando software de seguridad de otro proveedor, consulte con ellos para ver si detecta BlueKeep y cómo.

Tenga en cuenta que estos pasos representan solo el comienzo de lo que puede hacer para protegerse contra los ataques RDP. Si bien contar con detección de ataques es un buen comienzo, esto no sustituye la importancia del parche o de reemplazar las computadoras vulnerables. Los miembros de su equipo de seguridad de la información y sus socios confiables en cuanto a seguridad pueden brindarle orientación adicional específica para su entorno.

Utilizando el verificador de BlueKeep (CVE-2019-0708) de ESET para detectar equipos vulnerables

ESET ha lanzado una herramienta gratuita para verificar si una computadora con Windows es vulnerable a la explotación de BlueKeep (CVE-2019-0708). En el momento de la publicación, la herramienta se puede descargar desde:

Programa ESET BlueKeep (CVE-2019-0708) vulnerability checker
Versión 1.0.0.1
Ubicación https://download.eset.com/com/eset/tools/diagnosis/bluekeep_checker/latest/esetbluekeepchecker.exe
Hash SHA-1 C0E66EA2659D2EA172950572FDB5DE881D3882D8

(Asegúrese de revisar la página ESET’s Tools and Utilities para versiones más nuevas)

Este programa ha sido probado en versiones de 32 bits y 64 bits de Windows XP, Windows Vista, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 y Windows Server 2008 R2 antes y después de aplicar las actualizaciones de Microsoft para BlueKeep. Para usar el programa, corra el ejecutable. No hay argumentos de command-line para usar con la versión inicial.

Cuando se ejecute, el programa informará si el sistema es vulnerable a la explotación, si el sistema está parcheado contra la explotación o si el sistema no es vulnerable a la explotación de BlueKeep. En caso de que el sistema sea vulnerable, la herramienta llevará al usuario a la página web para descargar el parche apropiado en el sitio web de Microsoft.

Si bien esta es una herramienta de propósito único destinada para uso personal y no está destinada a implementarse para uso masivo en un entorno automatizado, tiene informes de error limitados. Para las secuencias de comandos, la herramienta devuelve un ERRORLEVEL de cero si el sistema está protegido, y uno si es vulnerable o se ha producido un error.

Figura 3. Ejemplo de la herramienta corriendo en un sistema Windows 7 sin parchear

Figura 4. Ejemplo de la herramienta corriendo en un sistema Windows 7 parcheado

Figura 5. Ejemplo de la herramienta corriendo en un sistema Windows 7 no vulnerable

Ideas finales y lecturas adicionales

Si bien la explotación de BlueKeep puede que nunca se concrete de manera generalizará, su inclusión en herramientas de pentesting significa que se convertirá en una parte permanente de las pruebas de seguridad internas. Entonces, la solución real para evitar la explotación de BlueKeep es eliminar los dispositivos vulnerables de la red de su empresa.

Sin embargo, no siempre es posible hacerlo porque un dispositivo vulnerable ocupa un papel crítico en el negocio, por el costo o por otras razones. Hace tiempo que abogamos por adoptar un enfoque de seguridad en capas, y la protección contra BlueKeep no es una excepción. De hecho, algunos de los pasos descritos anteriormente, por ejemplo, instalar una aplicación de doble factor de autenticación como ESET Secure Authentication, también puede ayudar a proteger sus redes de intrusos y otras amenazas.

Un agradecimiento especial a mis colegas Alexis Dorais-Joncas, Bruce P. Burrell, Nick FitzGerald, Matúš P., Peter R., Peter Stančík, Štefan S., y otros colegas de ESET por asistirme con este artículo.

Técnicas de MITRE ATT&CK

Táctica ID Nombre Descripción
Initial Access T1076 Remote Desktop Protocol BlueKeep leverages a vulnerability in Remote Desktop Protocol.
T1133 External Remote Services BlueKeep exploits public-facing RDP servers on the Internet.
Command and Control T1071 Standard Application Layer Protocol BlueKeep uses port 3389 by default for command and control.
T1043 Commonly Used Port BlueKeep uses port 3389 by default for attack targeting.
Lateral Movement T1210 Exploitation of Remote Services BlueKeep exploits public-facing RDP servers on the Internet.
Mitigation M1035 Limit Access to Resource Over network Prevent BlueKeep ingress though use of VPN gateway.
M1050 Exploit Protection Prevent BlueKeep ingress through use of exploit protection in endpoint security.
M1032 Multi-factor Authentication Use MFA for all logins performed via RDP.
M1031 Network Intrusion Prevention Prevent BlueKeep ingress through use of network protection in endpoint security.
M1051 Update Software Prevent BlueKeep exploitation via install of CVE-2019-0708 patch or upgrade to non-vulnerable operating system version.
M1049 Antivirus/Antimalware Prevent BlueKeep attack code from running through use of endpoint security.

¿Aún estás utilizando computadoras vulnerables a BlueKeep? ¿Te ha resultado de utilidad la herramienta de ESET para analizar equipos contra BlueKeep (CVE-2019-0708)? En caso de que lo haya sido, ¿qué pasos has tenido que dar para mitigar la explotación? ¡Cuéntanos en los comentarios!