RDP: debilidades del protocolo y experimento de implementación de honeypot

RDP es uno de los protocolos más populares para conectarse de forma remota a máquinas Windows. Pero si no se configura correctamente, puede convertirse en el talón de Aquiles de cualquier infraestructura.









Cuando las empresas se mudaron a ubicaciones remotas, las empresas optaron por RDP debido a su facilidad de configuración y uso. Pero la transición fue urgente y no todos prestaron la atención necesaria a la seguridad. Como resultado, los ciberdelincuentes se han dirigido a organizaciones.



En este artículo, decidimos analizar los puntos débiles del protocolo RDP y contarte cómo proteger la infraestructura de la empresa. También realizamos un experimento mediante la implementación de un honeypot RDP en varios servidores y describimos artefactos forenses que pueden detectarse en caso de conexión no autorizada de intrusos.



▍ Debilidades de RDP



Casi 4 millones de servidores RDP en todo el mundo son accesibles desde la red externa en la actualidad. Lo más probable es que no haya menos de ellos disponibles solo en redes internas.



Los atacantes a menudo buscan específicamente debilidades en los servidores RDP para explotarlos para sus propios fines. Por ejemplo, RDP a menudo está sujeto a ataques de fuerza bruta. Además, durante los últimos dos años, los expertos han descubierto graves vulnerabilidades de RCE relacionadas con RDP.



Ataques de fuerza bruta



Los ataques más comunes a RDP son los ataques de fuerza bruta. Se pueden dividir aproximadamente en varios grupos.



  1. Los ataques más simples , que consisten en adivinar contraseñas elementales sin utilizar herramientas de automatización.
  2. Ataques de diccionario , durante los cuales se lanza un ataque de fuerza bruta de todas las contraseñas posibles para el nombre de usuario deseado.
  3. , ,       ,    .
  4. Password spraying,   ,   .
  5. Credential stuffing, .


Habiendo obtenido un par de nombre de usuario y contraseña, los atacantes obtienen acceso completo al sistema comprometido.



Las organizaciones suelen considerar y proteger los ataques más simples y de diccionario. Por ejemplo, a menudo se planea bloquear una cuenta después de varios intentos fallidos de inicio de sesión.



Al mismo tiempo, los ataques de rociado de contraseñas y relleno de credenciales a menudo se olvidan. Sin embargo, estos ataques ahora no son infrecuentes, sino que, por el contrario, se han convertido en algo común. El bloqueo de las direcciones IP desde las que se realizan varios intentos fallidos de iniciar sesión a través de RDP ayuda a combatirlas. Además, no será superfluo prohibir la reutilización de contraseñas. Además, no debe utilizar la misma contraseña en varios recursos.



Vulnerabilidades



Desde 2019, se han descubierto varias vulnerabilidades graves relacionadas con RCE con respecto a RDP. Su explotación conduce a la ejecución remota de código en el sistema de destino.



La vulnerabilidad CVE-2019-0708, denominada BlueKeep, no se descubrió en el protocolo RDP en sí, sino en la implementación del Servicio de escritorio remoto. Esta vulnerabilidad permite a un usuario no autenticado ejecutar de forma remota código arbitrario en el sistema de destino. Las vulnerabilidades afectan a versiones anteriores de Windows, desde Windows XP (Windows Server 2003) hasta Windows 7 (Windows Server 2008 R2). Para que funcione correctamente, solo necesita acceso de red a una computadora con una versión vulnerable de Windows y un servicio RDP en ejecución. Para hacer esto, el atacante envía una solicitud RDP especialmente diseñada al servicio, que permite al atacante ejecutar de forma remota código arbitrario en el sistema de destino. La información sobre BlueKeep se publicó en mayo de 2019, pero más de 289 mil servidores RDP siguen siendo vulnerables.



Las vulnerabilidades CVE-2019-1181 / 1182/1222/1226 son casi similares a BlueKeep. Sin embargo, aunque la vulnerabilidad anterior solo afectaba a las versiones anteriores de Windows, ahora todas las versiones nuevas del sistema operativo están en riesgo. Para aprovechar las vulnerabilidades, un atacante también debe enviar una solicitud especialmente diseñada al Servicio de escritorio remoto de los sistemas de destino utilizando el protocolo RDP, lo que permitiría la ejecución de código arbitrario. Estas vulnerabilidades se publicaron en agosto de 2019.



Otra vulnerabilidad, BlueGate (CVE-2020-0609 / 0610), se encontró en el componente Windows Remote Desktop Gateway en Windows Server (2012, 2012 R2, 2016 y 2019). También permite a los atacantes ejecutar código de forma remota en el sistema de destino a través de RDP y solicitudes especialmente diseñadas. BlueGate se publicó a principios de 2020.



▍Malware y RDP



Las debilidades de RDP no quedan fuera de la vista de los operadores de malware. No es raro que los ciberdelincuentes utilicen las credenciales de RDP publicadas en ataques dirigidos.



Después de obtener acceso RDP al sistema de destino, los atacantes desactivan manualmente la protección antivirus y lanzan malware. Estos ataques suelen ejecutar ransomware como Dharma (también conocido como Crysis) en un sistema infectado.



▍ Cebo para intrusos, o cómo desplegamos honeypot



Decidimos realizar un experimento y comprobar qué pasaría con un servidor RDP accesible desde una red externa. Para ello, se desplegaron dos honeypots. Usamos la implementación del protocolo RDP en Python - RDPY, que se puede encontrar en el  dominio público .



Un honeypot se implementó en el servidor público de DigitalOcean y el otro en un servidor de la red de nuestra organización. Había tres puertos disponibles en Internet:



  • el puerto estándar es 3389;
  • dos puertos no estándar: 36 y 25300.


La ventana que se muestra al conectarse se muestra en la captura de pantalla siguiente.







El puerto estándar 3389 atrajo la máxima atención en la Red. Durante el mes y medio que estuvieron funcionando los honeypots, se registraron un total de 15 intentos de fuerza bruta y 237 intentos de escribir datos inválidos en un socket en un servidor público; y, respectivamente, 16 y 135 intentos, en un servidor de la red de la organización.



Además, como era de esperar, el puerto estándar 3389 se sometió a numerosos escaneos desde la red. Al mismo tiempo, el servidor público se escaneó en promedio 2,5 veces más a menudo que el servidor en la red de la organización.



La velocidad de escaneo se puede ver en el siguiente gráfico. Las líneas verticales aquí indican los sábados y domingos, que cayeron durante el período del honeypot. En la mayoría de los casos, hubo una disminución en los escaneos de red al final de la semana laboral.





Horizontalmente - días de trabajo de honeypots, verticalmente - el número de conexiones.

La curva azul es el norte público, la curva naranja es el servidor en la red de la organización.

Línea vertical: sábado y domingo
.




Prácticamente no hubo intentos de escanear puertos no estándar. Por lo tanto, trasladar RDP a un puerto no estándar ayudará a proteger contra la mayoría de los ataques.



▍Seguridad



Resumiendo todo lo anterior, puede deducir varias reglas que ayudarán a proteger la infraestructura cuando se conecte de forma remota a través de RDP.


  1.  RDP. ,     .       .
  2.   VPN. ,  VPN -.
  3. ,   , , ,   , .   .   password spraying  credential stuffing.
  4. IP-,    RDP.   password spraying  credential stuffing.
  5. .   -.
  6. Configure auditorías para eventos de RDP y revise periódicamente los registros de conexión para detectar actividades sospechosas a tiempo.







▏Dónde buscar rastros de conexión RDP▕



Si tiene alguna sospecha de comprometer su sistema a través de RDP, puede intentar varios pasos usted mismo.



  1. Registros. En primer lugar, debe verificar inmediatamente los registros de eventos:

    • % SystemRoot% \ System32 \ Winevt \ Logs \ Microsoft-Windows-TerminalServices-RemoteConnectionManager% 4Operational.evtx



      Evento 1149 para una conexión exitosa antes del inicio de sesión y la autenticación de contraseña, pero después de la autenticación de la dirección IP de origen de la conexión. Es importante buscar conexiones desde direcciones IP inusuales; las contraseñas de fuerza bruta también pueden obtener aquí.
    • %SystemRoot%\System32\Winevt\Logs\Security.evtx



      4624 — , 4625 — , 4778 — , 4634 — .  «LogonType». 3, 10  7.   IP-,    — .
    • %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx



       21, 22  25 — , 23 — .   IP-.



        IP-,     . ,   (,  .).


    . Security.evtx,  — Security.evtx  Microsoft-Windows-TerminalServices-RemoteConnectionManager%4Operational.evtx .   ,    SIEM-.
  2. . , , .     RDP-,   . , ,    TCP (, RDP).      . ,   ,   X,    X+N    .     ,      .


Si se encuentran rastros



Si encuentra rastros de penetración exitosa a través de RDP, primero debe:



  • intente aislar al atacante (o desconecte completamente la infraestructura de Internet o desconecte los servidores críticos de la red local);
  • compruebe el controlador de dominio en busca de signos de piratería, así como verifique los volcados de archivos y otros posibles objetivos del atacante.


Existe una gran posibilidad de que la infección ya se haya propagado a través de recursos internos. Si esto sucede, debe verificar los eventos de inicio de PowerShell, los activadores de antivirus y otros. Y lo mejor es contactar inmediatamente a un especialista en informática forense.



All Articles