jueves, junio 06, 2019

RDPStrip: Cómo atacar Remote Desktop Protocol en Windows. Nota: Activa Network Level Authentication a.s.a.p.!

Sabemos que estamos ante el año del RDP/RDS como elemento vulnerable y BlueKeep nos lo recuerda cada día, ante la amenaza de un nuevo EternalBlue. Pero BlueKeep no es la única amenaza a la que se enfrenta el RDP/RDS. Recuperando algunos ejemplos del pasado, que siguen siendo válidos hoy en día, vemos la herramienta Seth o el script RDPStrip.

Figura 1: RDPStrip: Cómo atacar Remote Desktop Protocol en Windows.
Nota: Activa Network Level Authentication a.s.a.p.!

Lo cierto es que Seth es una herramienta de hace un par de años y RDPStrip es un script de hace tres años. Sea como sea, la configuración del escritorio remoto en cualquier versión de Windows es fundamental para no poner en riesgo la privacidad de las comunicaciones de éstos, y si no se hace correctamente, es un elemento perfecto para tener en cuenta en el Hacking de redes y sistemas Windows.

Figura 2: Libro de Hacking Windows. Ataques a sistemas y redes Microsoft

Para resumir brevemente en qué consiste la técnica implementada en RDPStrip se puede decir que colocarse en medio de la comunicación es la base del ataque. Una vez que estamos en medio de la comunicación, y con la ayuda de iptables, se inyecta un certificado para poder visualizar la comunicación. Además, dependiendo del sistema operativo víctima, se puede forzar un downgrade. Este hecho es utilizado en la herramienta seth. Os dejo por aquí un interesante artículo del investigador Adrian Vollmer, en el que se ve que la configuración del RDP es fundamental para evitar el riesgo.

Figura 3: Artículo sobre "Attacking RDP"

Una de las cosas interesantes que se pueden ver en este artículo, aparte de la realización del ataque, es cómo implementarse un proxy sencillo para poder observar el tráfico RDP que pasará por nosotros. Además, si quieres conocer cómo funciona el protocolo RDP a bajo nivel, de nuevo recomiendo su lectura pausada. Viene con ejemplos e ilustrada de forma sencilla.

Figura 4: Implementación de proxy para capturar tráfico RDP

Ahora, voy a centrarme en el uso de RDPStrip. La herramienta tiene dos modos de ejecución: modo listener y el modo MiTM. En esta ocasión vamos a hacer hincapié en el modo MiTM. Además, RDPStrip automatiza el envenenamiento ARP y la configuración de iptables para la redirección del tráfico.

Figura 5: Remote Desktop Stripping and Sniffing

Si revisamos las opciones de la herramienta vemos algunas cosas importantes:
La opción –m permite activar el modo MiTM. Automáticamente se creará la configuración de iptables y se activa el envenenamiento ARP y el forward. 
• La opción –f permite al atacante fijar la máquina destino u objetivo de la conexión RDP. 
• La opción –i indica la interfaz de red por la que se realizará el ataque. 
• La opción –c indica el certificado que podemos utilizar, si ya lo tenemos generado. 
• La opción –s permite mostrar los datos que van pasando, solo en modo sniffer.
Figura 6: Opciones de rdpstrip

Es muy importante entender en qué entorno o con qué configuración esto va a funcionar. NLA o Network Level Authentication es un mecanismo que protege la comunicación en conexiones RDP. Si ésta está activa, el ataque no funcionará, pero, si por el contrario, no está activo el ataque funcionará.

Figura 7: Network Level Authentication sin activar

El NLA apareció en Windows Vista y Windows Server 2008, precisamente para fortificar las conexiones RDP frente a los ataques de Redes IPv4/IPv6. NLA utiliza CredSSP o Credential Security Support Provider para llevar a cabo el proceso de autenticación fuerte. Utiliza TLS / SSL o Kerberos. Está hecho para proteger específicamente contra ataques de MiTM.

Figura 8: Libro de Ataques en Redes de datos IPv4&IPv6 [3ª Edición]

Lo que ocurre es que, si la configuración es la que vemos en la imagen anterior, podemos tener serios problemas con herramientas como Seth, RDPStrip, nuestras querida Evil FOCA para ataques IPv4 & IPv6 o, el viejo, pero funcional, Cain & Abel.

Lanzando el ataque MiTM para el RDP

Para entender mejor el escenario vamos a suponer las siguientes máquinas en juego, teniendo en cuenta que todas las máquinas están dentro de la misma red, aunque podría llegar a valernos con que una de las dos estuviera en nuestra misma red.
• Un Kali Linux con IP 10.0.0.31. 
• Un Windows 7 que hará de servidor con dirección IP 10.0.0.11. Además, está configurado con una configuración clásica de RDP. 
• Un Windows 7 que hará de cliente con dirección IP 10.0.0.3 que hará de cliente.
Para lanzar el ataque de MiTM y configurar iptables para las redirecciones se debe ejecutar la siguiente instrucción:
rdpstrip.py –m 10.0.0.3 –f 10.0.0.11 –i [interfaz de red]
La primera vez que ejecutamos la herramienta nos indicará que hay que generar un certificado, esto ocurrirá si no hemos importado un certificado generado previamente.

Figura 9: Socket is listening & Forwarding activado

En este instante la herramienta ha hecho el envenenamiento ARP y ha configurado el forward para que sea efectivo. Cuando el cliente comience la conexión RDP empezaremos a ver datos sobre nuestra pantalla. Incluso, podremos ver la información de inicio de sesión (proceso de login) en texto plano y capturar las pulsaciones de teclado que el usuario realice.

Figura 10: Visualizando las pulsaciones de teclado en conexión RDP

Como se puede ver en el siguiente vídeo, aparte del ataque y la captura de credenciales, se puede capturar las pulsaciones de teclado que realiza el usuario durante su sesión. Además, se obtiene una captura de red para que se pueda analizar con herramientas como Wireshark o similares y poder ver más cosas que no se pueden ver con la herramienta. Sin duda, algo realmente interesante.

Figura 11: PoC de RDPStrip para capturar tráfico RDP

Sin duda, una herramienta a conocer y a utilizar en un Ethical Hacking, ya que en muchas ocasiones se puede seguir encontrando configuraciones de RDP como la que se ha comentado en este artículo. No solo de Bluekeep vive el pentester.

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.

No hay comentarios:

Publicar un comentario