Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/bhanunamikaze/bluegate-cve-2020-0609
Scanners de VulnérabilitésAnalyse des VulnérabilitésExploitationSécurité RéseauTests d'Intrusion
GitHubbhanunamikaze/bluegate-cve-2020-0609

BlueGate-CVE-2020-0609

BlueGate Exploit validator - Validateur de passerelle RD pour CVE-2020-0609 et CVE-2020-0610 (BlueGate) utilisant OpenSSL DTLS sur UDP/3391.

Voir le dépôt
il y a 13h 45mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Validateur BlueGate pour RD Gateway

CVE-2020-0609 / CVE-2020-0610 — Outil de validation à distance

Un petit utilitaire Python de vérification uniquement permettant de valider à distance le comportement des correctifs associés aux vulnérabilités Microsoft Remote Desktop Gateway :

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

Ces vulnérabilités, communément associées aux recherches BlueGate, affectent Microsoft Remote Desktop Gateway (RD Gateway) et peuvent potentiellement permettre à un attaquant distant non authentifié d'exécuter du code arbitraire sur un serveur non corrigé.

Cet utilitaire n'implémente pas d'exécution de code à distance, de déni de service, de persistance ou de livraison de charge utile.

Il effectue une seule requête de validation au niveau du protocole et évalue la réponse du RD Gateway.


Résumé des vulnérabilités

PropriétéDétails
CVECVE-2020-0609, CVE-2020-0610
ComposantMicrosoft Remote Desktop Gateway
Type de vulnérabilitéExécution de code à distance
Authentification requiseNon
Interaction utilisateurNon
Vecteur d'attaqueRéseau
SévéritéCritique
CVSS v3.19.8
Vecteur CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Protocole principalTransport UDP RD Gateway
Port UDP par défaut3391/UDP
Nom publicBlueGate

Les familles de Windows Server concernées incluent :

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

Les systèmes ayant installé les mises à jour de sécurité Microsoft de janvier 2020 ou les mises à jour cumulatives ultérieures devraient contenir les correctifs pertinents.


Pourquoi UDP/3391 plutôt que HTTPS/443 ?

Un déploiement RD Gateway peut exposer plusieurs services associés.

Par exemple :

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

Le portail RDWeb peut être visible via un navigateur à l'adresse :

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

et les fonctionnalités RD Gateway peuvent également être exposées via TCP/443.

Cependant, la surface d'attaque testée par ce validateur de type BlueGate est le transport UDP du RD Gateway, qui écoute normalement sur :

root@kitploit:~
UDP/3391

Le scanner utilise donc DTLS sur UDP/3391, et non HTTPS sur TCP/443.

Modifier le script pour le port 443 reviendrait à tester :

root@kitploit:~
UDP/443

ce qui n'est pas la même chose que :

root@kitploit:~
TCP/443

Confirmation du service UDP RD Gateway

Avant d'exécuter le validateur de vulnérabilités, UDP/3391 peut être vérifié avec Nmap :

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

Exemple :

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

Le libellé de service savant n'est que la correspondance de nom de port de Nmap et n'identifie pas nécessairement le service réel.

Le service DTLS du RD Gateway peut être confirmé plus fiablement avec OpenSSL.

DTLS 1.0

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

DTLS 1.2

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

Une poignée de main réussie confirme qu'un service DTLS répond sur UDP/3391.

Une sortie typique de réussite inclut :

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

ou :

root@kitploit:~
Protocol: DTLSv1.2

Ce que fait cet outil

Le validateur :

  1. Démarre un client DTLS OpenSSL.
  2. Se connecte au RD Gateway cible sur UDP/3391.
  3. Attend la fin de la poignée de main DTLS.
  4. Envoie un unique paquet de validation de fragmentation de type BlueGate.
  5. Attend la réponse applicative du RD Gateway.
  6. Extrait le DWORD de statut final d'une réponse de 16 octets.
  7. Classe la réponse.

Aucun identifiant d'authentification n'est requis pour la validation.

L'utilitaire contient intentionnellement :

root@kitploit:~
AUCUN reverse shell
AUCUNE exécution de commande
AUCUNE charge utile d'exploitation
AUCUNE boucle de déni de service
AUCUNE transmission répétée de paquets malformés

Prérequis

Testé avec :

root@kitploit:~
Python 3
Client en ligne de commande OpenSSL
Linux

Vérifier OpenSSL :

root@kitploit:~
openssl version

Vérifier Python :

root@kitploit:~
python3 --version

Aucun module Python OpenSSL n'est requis car le script lance l'implémentation système openssl s_client.

Cela évite les problèmes de compatibilité rencontrés par les anciennes implémentations BlueGate qui reposaient sur des API Python/OpenSSL obsolètes telles que :

root@kitploit:~
DTLSv1_client_method

Utilisation

Analyse de base :

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

Exemple :

root@kitploit:~
python3 BlueGate.py 192.0.2.10

La destination par défaut est :

root@kitploit:~
UDP/3391

Spécifier le port

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

Tester les deux peut être utile :

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

python3 BlueGate.py --dtls 1.2 192.0.2.10

Exemple de système corrigé

Exemple de résultat d'un RD Gateway corrigé :

root@kitploit:~
[*] Cible : 192.0.2.10:3391/udp
[*] Mode DTLS : 1.2
[*] Démarrage du client DTLS OpenSSL...
[+] Poignée de main DTLS terminée.
[*] Sonde (11 octets) : 0500070000004100010041
[*] Envoi d'un paquet de validation...

[*] Longueur de la réponse : 16
[*] Hex de la réponse : 02000c0000000000ffffffffffff0080
[*] Statut : 0x8000ffff

[+] SIGNATURE DE SYSTÈME CORRIGÉ REÇUE
    Le serveur a renvoyé 0x8000ffff, qui est
    la valeur de rejet utilisée par le détecteur
    CVE public pour identifier un hôte corrigé.

La même réponse de système corrigé peut également être renvoyée via DTLS 1.0 :

root@kitploit:~
Longueur de la réponse : 16
Hex de la réponse : 02000c0000000000ffffffffffff0080
Statut : 0x8000ffff

Comprendre le résultat

0x8000ffff

Une réponse se terminant par :

root@kitploit:~
0x8000ffff

est la valeur de rejet utilisée par les scanners publics BlueGate/RD Gateway pour identifier la condition de fragmentation malformée comme rejetée.

L'outil rapporte donc :

root@kitploit:~
SIGNATURE DE SYSTÈME CORRIGÉ REÇUE

Cela fournit une preuve solide au niveau du protocole que la condition particulière testée pour CVE-2020-0609/CVE-2020-0610 n'est pas exploitable en utilisant la technique de détection publique connue.


Statut de 16 octets différent

Si une réponse RD Gateway de 16 octets est reçue mais que le DWORD final est autre chose que :

root@kitploit:~
0x8000ffff

l'outil rapporte :

root@kitploit:~
DÉTECTEUR POSITIF

Cela doit être traité comme :

root@kitploit:~
Potentiellement vulnérable

plutôt que comme une preuve immédiate d'exécution de code à distance réussie.

Le résultat devrait de préférence être corroboré en utilisant :

root@kitploit:~
Les informations de build Windows
Les informations sur les KB installés
L'inventaire des correctifs Microsoft
L'analyse de vulnérabilités avec identifiants

avant de signaler la vulnérabilité comme définitivement exploitable.


Aucune réponse

Si aucune réponse applicative n'est reçue :

root@kitploit:~
NON CONCLUSIF

L'outil ne classe délibérément pas un délai d'attente comme vulnérable.

Un délai d'attente pourrait être causé par :

  • le comportement du pare-feu
  • la perte de paquets UDP
  • une incompatibilité DTLS
  • le filtrage réseau
  • le comportement de l'application
  • la configuration du service

Par conséquent :

root@kitploit:~
Aucune réponse != Vulnérable

Logique de détection

L'approche de détection publique BlueGate/RDG utilise un paquet de fragmentation RD Gateway contenant un nombre de fragments inhabituel.

Conceptuellement :

root@kitploit:~
Connexion DTLS
      |
      v
+-----------------------+
| Analyseur UDP RD Gateway |
+-----------------------+
      |
      | paquet de validation de fragmentation
      v
+-----------------------+
| Validation des fragments |
+-----------------------+
      |
      +---- corrigé ------> rejet
      |                    0x8000ffff
      |
      +---- inattendu -----> nécessite une investigation

Le paquet de validation utilisé par cet utilitaire n'est envoyé qu'une seule fois.


Avertissement légal

Ce projet est destiné exclusivement à :

  • les tests d'intrusion autorisés
  • la validation de vulnérabilités
  • la recherche défensive en sécurité
  • les environnements de laboratoire
  • la recherche pédagogique en sécurité

Ne testez que les systèmes pour lesquels vous disposez d'une autorisation explicite.

L'auteur décline toute responsabilité en cas d'utilisation abusive, d'accès non autorisé, d'interruption de service, de perte de données ou d'autres conséquences résultant de l'utilisation ou de la modification de ce logiciel.


Crédits

La méthodologie de détection est basée sur des recherches publiquement documentées sur les vulnérabilités Microsoft RD Gateway CVE-2020-0609 et CVE-2020-0610, y compris les travaux réalisés par la communauté de recherche en sécurité BlueGate et RD Gateway.

Ce projet modernise principalement le flux de validation en utilisant l'implémentation DTLS OpenSSL du système plutôt que les internes DTLS obsolètes de pyOpenSSL.

Télécharger l’outil