El mundo digital se ha convertido en un escenario de constantes batallas entre los defensores de la ciberseguridad y aquellos que buscan explotar vulnerabilidades en sistemas informáticos. En mayo de 2019, se descubrió una vulnerabilidad crítica bautizada como "BlueKeep" (CVE-2019–0708). Este fallo, presente en ciertas versiones de Windows, repercutió profundamente en el ámbito de la ciberseguridad y demostró, una vez más, la necesidad de mantener actualizados los sistemas y aplicaciones.
La Vulnerabilidad BlueKeep:
BlueKeep afecta al protocolo de escritorio remoto (RDP) de Microsoft Windows, específicamente a las versiones Windows XP, Windows 7, Windows Server 2003 y Windows Server 2008. La vulnerabilidad permite a un atacante ejecutar código arbitrario en el nivel del sistema operativo sin necesidad de autenticación, lo que podría permitirle tomar control completo del sistema vulnerable.
Repercusiones:
- Potencial de propagación masiva: Dada la naturaleza de la vulnerabilidad y su capacidad para propagarse de manera autónoma, muchos expertos la compararon con el infame WannaCry que en 2017 afectó a organizaciones en todo el mundo. El potencial destructivo de BlueKeep llevó a que empresas, organizaciones y gobiernos tomaran medidas preventivas urgentes.
- Respuesta de Microsoft: Debido a la gravedad de la vulnerabilidad, Microsoft lanzó parches de seguridad no solo para las versiones soportadas de Windows, sino también para aquellas que ya no tenían soporte oficial, como Windows XP y Windows Server 2003. Esta acción subrayó la seriedad de la amenaza.
- Ataques y Explotaciones: A pesar de las advertencias y soluciones proporcionadas, muchos sistemas no fueron actualizados rápidamente, lo que llevó a la aparición de exploits y herramientas de ataque que se aprovechaban de esta vulnerabilidad. Algunos meses después de su descubrimiento, se observaron campañas de malware y ransomware que utilizaban BlueKeep para infiltrarse en sistemas no actualizados.
Remediación:
- Parches de Seguridad: La respuesta más directa y efectiva es aplicar los parches de seguridad proporcionados por Microsoft. Estos parches abordan directamente la vulnerabilidad y previenen cualquier explotación.
- Desactivar RDP: Si el servicio de escritorio remoto no es esencial, desactivarlo es una buena medida de precaución.
- Uso de Redes Privadas Virtuales (VPN): En lugar de exponer el RDP al internet, es recomendable que los usuarios accedan a través de VPNs, lo que añade una capa adicional de seguridad.
- Autenticación de Doble Factor: Implementar soluciones de autenticación de doble factor (2FA) para servicios críticos puede disuadir y complicar los intentos de acceso no autorizado.
- Monitoreo de la red: Establecer sistemas de monitoreo para detectar intentos de acceso o actividades sospechosas relacionadas con RDP puede ayudar a identificar y responder rápidamente a intentos de explotación.
Disclaimer
Cómo ya fue indicado en el post Metasploit Framework: Explotar vulnerabilidades puede ser bastante fácil, este cuenta con una serie de herramientas y exploits listos para ser utilizados en entornos de prueba y con propósitos meramente educativos. La finalidad de este post es únicamente demostrar el potencial con el que cuenta el Framework, sin intención de que sea empleado en entornos reales.
Prueba de Concepto (PoC): Explotación de BlueKeep a través de Metasploit
Ambientes
Para realizar la PoC, se contarán con 2 equipos:
- Máquina Virtual de Windows Serve 2008 Datacenter R2 de 64 bits vulnerable (importante): No cuenta con los parches de mayo del 2019, fecha que la cual Microsoft lanzó los parches para corregir la vulnerabilidad en equipos de Windows 7 Service Pack 1, Windows 2008 Service Pack 1 y 2, por último, Windows Vista respectivamente (KB4499175 y KB4499180).
- Máquina Virtual de Kali Linux 2023.3: Con Metasploit en su versión 6.3.27-dev
Preparando ambos equipos
Windows Server 2008 Datacenter R2 x64 (máquina víctima)
Se puede observar en la siguiente imagen que el último parche actualizado es el KB976902 con la instrucción "systeminfo".
Al no contar con los parches que mitigan la vulnerabilidad de BlueKeep, el sistema operativo es vulnerable.
Es importante habilitar el protocolo RDP para el Windows Server 2008 R2 Datacenter.
Kali Linux 2023.3 (máquina atacante)
Carga del módulo de BlueKeep en Metasploit mediante el comando "use exploit/windows/rdp/cve_2019_0708_bluekeep_rce" y posterior la opción "show info".
Uso de Metasploit para la vulnerabilidad BlueKeep
De las opciones que el módulo de Metasploit indica, únicamente será necesario incluir el siguiente parámetro:
- RHOSTS: Aquí se pondrá la IP de la máquina víctima.
Para poder tener un Shell inversa, es decir, que el atacante disponga de una máquina y, en ella, se envíe el payload a la máquina víctima, quedando en escucha de solicitudes de conexión, en el puerto predeterminado. Una vez explotada la vulnerabilidad, la máquina víctima se conectará hacia el servidor montado por el atacante y tendrá acceso al equipo vulnerado.
Importante: Se puede dejar la configuración por defecto del módulo de Metasploit llamado "reverser_tcp de meterpreter".
Dentro de la documentación del módulo, se indica que para las versiones superiores a Windows 7, la siguiente llave de registro tiene que valer "0". Además, para el Windows Server 2008 R2 se debe configurar manualmente.
HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer\Winstations\RDP-Tcp\fDisableCam
Para ello, en Windows Server 2008 R2, buscamos el editor de llaves de registro con la palabra "regedit".
Y localizamos la llave antes mencionada colocando el valor "0".
Utilizando el exploit
Una vez identificada la víctima y configurados ambos ambientes, se procede con la explotación de la vulnerabilidad cargando el módulo en la máquina atacante y seleccionando a la víctima como se muestra a continuación:
Otra configuración para tomar en cuenta es identificar el software donde se está virtualizando el equipo víctima, es decir si se está utilizando VMware, Virtualbox, AWS o QEMU porque de ahí dependerá el éxito de la explotación con la instrucción "show targets" y posterior colocar "set target ID" donde ID será el número del software donde se virtualiza al equipo víctima.
Por último, con la instrucción "exploit", se envía el payload a la víctima para poder ejecutar una shell inversa en el equipo atacante y así poder tomar el control total del equipo vulnerado.
Una Shell con permisos de SYSTEM
Una vez obtenida la Shell inversa, se puede observar que los permisos que logran obtenerse son los más altos para un sistema Windows (permisos de SYSTEM)
Importante: Al tener permisos de SYSTEM significa que se tiene prácticamente el control total sobre el sistema.
Conclusión:
Metasploit es una poderosa herramienta de código abierto que se utiliza principalmente con fines de pruebas de penetración y evaluación de seguridad en los sistemas. Su propósito principal es ayudar a los expertos en ciberseguridad y a los investigadores a identificar y corregir vulnerabilidades en sistemas y redes antes de que los ciberdelincuentes puedan explotarlas. Al ofrecer una variedad de módulos de explotación, escaneo de vulnerabilidades, pruebas de penetración y herramientas de gestión de exploits, Metasploit se ha convertido en una herramienta esencial para fortalecer la ciberseguridad, es decir, proteger sistemas y datos contra amenazas potenciales. Sin embargo, es importante destacar que Metasploit debe utilizarse con responsabilidad y siempre con el permiso adecuado, ya que su uso indebido puede ser ilegal y perjudicial.
Además, se demuestra que la vulnerabilidad llamada BlueKeep (CVE-2019–0708) sirve como un recordatorio crítico de la importancia de la ciberseguridad proactiva, debido a que las organizaciones y usuarios individuales deben tomar en serio las advertencias y recomendaciones de los expertos en ciberseguridad.
En un mundo donde las vidas de los usuarios están cada vez más interconectadas digitalmente, la prevención y la educación son fundamentales para garantizar un ciberespacio seguro para todos.