Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BlueGate-CVE-2020-0609 — BlueGate Exploit validator - Validador de RD Gateway para CVE-2020-0609 y CVE-2020-0610 (BlueGate) usando OpenSSL DTLS sobre UDP/3391. | Kitploit
Herramientas/GitHubGitHub/bhanunamikaze/bluegate-cve-2020-0609
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónSeguridad de RedesPruebas de Penetración
GitHubbhanunamikaze/bluegate-cve-2020-0609

BlueGate-CVE-2020-0609

BlueGate Exploit validator - Validador de RD Gateway para CVE-2020-0609 y CVE-2020-0610 (BlueGate) usando OpenSSL DTLS sobre UDP/3391.

Ver Repositorio
hace 13h 45mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Validador BlueGate de RD Gateway

Herramienta de Validación Remota CVE-2020-0609 / CVE-2020-0610

Una pequeña utilidad Python solo de verificación para validar remotamente el comportamiento del parche asociado con las vulnerabilidades de Microsoft Remote Desktop Gateway:

  • CVE-2020-0609
  • CVE-2020-0610

Las vulnerabilidades, comúnmente asociadas con la investigación BlueGate, afectan a Microsoft Remote Desktop Gateway (RD Gateway) y potencialmente pueden permitir que un atacante remoto no autenticado ejecute código arbitrario en un servidor sin parchear.

Esta utilidad no implementa ejecución remota de código, denegación de servicio, persistencia ni entrega de payloads.

Realiza una única solicitud de validación a nivel de protocolo y evalúa la respuesta del RD Gateway.


Resumen de Vulnerabilidad

PropiedadDetalles
CVEsCVE-2020-0609, CVE-2020-0610
ComponenteMicrosoft Remote Desktop Gateway
Tipo de VulnerabilidadEjecución Remota de Código
Autenticación RequeridaNo
Interacción del UsuarioNo
Vector de AtaqueRed
SeveridadCrítica
CVSS v3.19.8
Vector CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Protocolo PrincipalTransporte UDP de RD Gateway
Puerto UDP Predeterminado3391/UDP
Nombre PúblicoBlueGate

Las familias de Windows Server afectadas incluyen:

root@kitploit:~
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019

Los sistemas que hayan instalado las actualizaciones de seguridad de Microsoft de enero de 2020 o las actualizaciones acumulativas posteriores deberían contener las correcciones relevantes.


¿Por qué UDP/3391 en lugar de HTTPS/443?

Una implementación de RD Gateway puede exponer múltiples servicios relacionados.

Por ejemplo:

root@kitploit:~
                  Microsoft RD Gateway
                         |
            +------------+------------+
            |                         |
        TCP/443                     UDP/3391
            |                         |
      HTTPS / RDWeb             RD Gateway UDP
      RPC-over-HTTPS             transporte DTLS

El portal RDWeb puede ser visible a través de un navegador en:

root@kitploit:~
https://gateway.example/RDWeb/

y la funcionalidad de RD Gateway también puede estar expuesta a través de TCP/443.

Sin embargo, la superficie de ataque probada por este validador estilo BlueGate es el transporte UDP de RD Gateway, que normalmente escucha en:

root@kitploit:~
UDP/3391

El escáner utiliza por lo tanto DTLS sobre UDP/3391, no HTTPS sobre TCP/443.

Cambiar el script al puerto 443 significaría probar:

root@kitploit:~
UDP/443

que no es lo mismo que:

root@kitploit:~
TCP/443

Confirmando el Servicio UDP de RD Gateway

Antes de ejecutar el validador de vulnerabilidades, UDP/3391 puede verificarse con Nmap:

root@kitploit:~
nmap -Pn -sU -p3391 --reason <TARGET>

Ejemplo:

root@kitploit:~
PORT     STATE SERVICE
3391/udp open  savant

La etiqueta de servicio savant es simplemente la asignación de nombre de puerto de Nmap y no necesariamente identifica el servicio real.

El servicio DTLS de RD Gateway puede confirmarse de manera más fiable con OpenSSL.

DTLS 1.0

root@kitploit:~
openssl s_client \
    -dtls1 \
    -connect <TARGET>:3391 \
    -state

DTLS 1.2

root@kitploit:~
openssl s_client \
    -dtls1_2 \
    -connect <TARGET>:3391 \
    -state

Un handshake exitoso confirma que un servicio DTLS está respondiendo en UDP/3391.

La salida exitosa típica incluye:

root@kitploit:~
SSL handshake has read ...
New, SSLv3, Cipher is ...
Protocol: DTLSv1

o:

root@kitploit:~
Protocol: DTLSv1.2

Qué Hace Esta Herramienta

El validador:

  1. Inicia un cliente OpenSSL DTLS.
  2. Se conecta al RD Gateway objetivo a través de UDP/3391.
  3. Espera a que el handshake DTLS se complete.
  4. Envía un único paquete de validación de fragmentación estilo BlueGate.
  5. Espera la respuesta de la aplicación RD Gateway.
  6. Extrae el DWORD de estado final de una respuesta de 16 bytes.
  7. Clasifica la respuesta.

No se requieren credenciales de autenticación para la validación.

La utilidad contiene intencionalmente:

root@kitploit:~
SIN shell inversa
SIN ejecución de comandos
SIN payload de exploit
SIN bucle de denegación de servicio
SIN transmisión repetida de paquetes malformados

Requisitos

Probado con:

root@kitploit:~
Python 3
Cliente de línea de comandos OpenSSL
Linux

Verificar OpenSSL:

root@kitploit:~
openssl version

Verificar Python:

root@kitploit:~
python3 --version

No se requiere módulo Python OpenSSL porque el script lanza la implementación del sistema openssl s_client.

Esto evita los problemas de compatibilidad encontrados por implementaciones BlueGate más antiguas que dependían de APIs Python/OpenSSL obsoletas como:

root@kitploit:~
DTLSv1_client_method

Uso

Escaneo básico:

root@kitploit:~
python3 BlueGate.py <TARGET>

Ejemplo:

root@kitploit:~
python3 BlueGate.py 192.0.2.10

El destino predeterminado es:

root@kitploit:~
UDP/3391

Especificar Puerto

root@kitploit:~
python3 BlueGate.py \
    -P 3391 \
    192.0.2.10

DTLS 1.0

root@kitploit:~
python3 BlueGate.py \
    --dtls 1 \
    192.0.2.10

DTLS 1.2

root@kitploit:~
python3 BlueGate.py \
    --dtls 1.2 \
    192.0.2.10

Probar ambos puede ser útil:

root@kitploit:~
python3 BlueGate.py --dtls 1 192.0.2.10

python3 BlueGate.py --dtls 1.2 192.0.2.10

Ejemplo con Parche Aplicado

Ejemplo de resultado de un RD Gateway parcheado:

root@kitploit:~
[*] Target: 192.0.2.10:3391/udp
[*] DTLS mode: 1.2
[*] Starting OpenSSL DTLS client...
[+] DTLS handshake completed.
[*] Probe (11 bytes): 0500070000004100010041
[*] Sending one validation packet...

[*] Response length: 16
[*] Response hex: 02000c0000000000ffffffffffff0080
[*] Status: 0x8000ffff

[+] PATCHED SIGNATURE RECEIVED
    Server returned 0x8000ffff, which is
    the rejection value used by the public
    CVE detector to identify a patched host.

La misma respuesta de parche también puede devolverse a través de DTLS 1.0:

root@kitploit:~
Response length: 16
Response hex: 02000c0000000000ffffffffffff0080
Status: 0x8000ffff

Entendiendo el Resultado

0x8000ffff

Una respuesta que termina con:

root@kitploit:~
0x8000ffff

es el valor de rechazo utilizado por los escáneres públicos BlueGate/RD Gateway para identificar la condición de fragmentación malformada como rechazada.

La herramienta por lo tanto informa:

root@kitploit:~
PATCHED SIGNATURE RECEIVED

Esto proporciona una fuerte evidencia a nivel de protocolo de que la condición particular probada para CVE-2020-0609/CVE-2020-0610 no es explotable utilizando la técnica de detección pública conocida.


Estado Diferente de 16 Bytes

Si se recibe una respuesta de 16 bytes del RD Gateway pero el DWORD final es algo distinto de:

root@kitploit:~
0x8000ffff

la herramienta informa:

root@kitploit:~
DETECTOR POSITIVE

Esto debe tratarse como:

root@kitploit:~
Potencialmente Vulnerable

en lugar de una prueba inmediata de ejecución remota de código exitosa.

El resultado debería preferiblemente corroborarse utilizando:

root@kitploit:~
Información de compilación de Windows
Información de KB instalados
Inventario de parches de Microsoft
Escaneo de vulnerabilidades con credenciales

antes de informar la vulnerabilidad como definitivamente explotable.


Sin Respuesta

Si no se recibe ninguna respuesta de la aplicación:

root@kitploit:~
INCONCLUSIVE

La herramienta deliberadamente no clasifica un tiempo de espera agotado como vulnerable.

Un tiempo de espera agotado podría ser causado por:

  • comportamiento del firewall
  • pérdida de paquetes UDP
  • incompatibilidad DTLS
  • filtrado de red
  • comportamiento de la aplicación
  • configuración del servicio

Por lo tanto:

root@kitploit:~
Sin respuesta != Vulnerable

Lógica de Detección

El enfoque público de detección BlueGate/RDG utiliza un paquete de fragmentación de RD Gateway que contiene un recuento de fragmentos inusual.

Conceptualmente:

root@kitploit:~
Conexión DTLS
      |
      v
+-----------------------+
| Analizador UDP RD Gateway |
+-----------------------+
      |
      | paquete de validación de fragmentación
      v
+-----------------------+
| Validación de fragmentos |
+-----------------------+
      |
      +---- parcheado ----> rechazo
      |                    0x8000ffff
      |
      +---- inesperado --> requiere investigación

El paquete de validación utilizado por esta utilidad se envía solo una vez.


Aviso Legal

Este proyecto está destinado exclusivamente para:

  • pruebas de penetración autorizadas
  • validación de vulnerabilidades
  • investigación defensiva de seguridad
  • entornos de laboratorio
  • investigación educativa de seguridad

Solo pruebe sistemas para los cuales tenga autorización explícita.

El autor no asume ninguna responsabilidad por uso indebido, acceso no autorizado, interrupción del servicio, pérdida de datos u otras consecuencias resultantes del uso o modificación de este software.


Créditos

La metodología de detección se basa en investigación documentada públicamente sobre las vulnerabilidades de Microsoft RD Gateway CVE-2020-0609 y CVE-2020-0610, incluido el trabajo realizado por la comunidad de investigación de seguridad de BlueGate y RD Gateway.

Este proyecto principalmente moderniza el flujo de trabajo de validación al utilizar la implementación DTLS de OpenSSL del sistema en lugar de los internals DTLS obsoletos de pyOpenSSL.

Descargar herramienta