Comment établir plusieurs connexions simultanées en ’bureau à distance’ (RDP)
Préambule
Si vous avez déjà essayé de vous connecter à plusieurs utilisateurs en même temps sur un même poste en bureau à distance, vous avez dû remarquer que cela n’est pas possible...
En fait, ce n’est pas une restriction matérielle mais bien logicielle. Ce qu’il faut comprendre c’est que c’est un bridage pour couvrir les cas où votre configuration matérielle serait un peu faible. Nous allons voir comment on peut y remédier ;)
Le protocole RDP
Le protocole de bureau à distance (RDP) fournit des fonctionnalités d’affichage et d’entrée à distance sur les connexions réseau. C’est ce protocole qui nous permet de nous connecter à distance et avec lequel nous allons travailler pour qu’il nous permette de multiples connexions.
À la manière du Hacker [1]
Une première manière d’agir c’est de modifier directement une librairie du système (termsrv.dll).
Le fichier “termsrv.dll” se trouve dans le dossier C :\Windows\System32.
Il faut impérativement créer une copie de sauvegarde par précaution. Vous pourrez facilement rétablir la configuration d’origine du fichier en cas de problème.
copy C:\Windows\System32\termsrv.dll termsrv.dll_origin
If faut changer les droits du groupe, actuellement “TrustedInstaller”, par le groupe d’administrateurs local :
takeown /F C:\Windows\System32\termsrv.dll /A
On attribut au groupe d’administrateurs local le “Contrôle total” sur le fichier “termsrv.dll” :
icacls C:\Windows\System32\termsrv.dll /grant Administrators:F
On termine le service de bureau à distance (TermService) avec la commande suivante :
Net stop TermService
Et enfin on modifie le fichier “termsrv.dll” avec un éditeur hexadécimal.
Vous cherchez la ligne suivante :
39 81 3C 06 00 00 0F 84 XX XX XX XX
et vous la remplacez par :
B8 00 01 00 00 89 81 38 XX XX XX XX
Les 4 dernières paires déterminent la version de Windows.
Relancez TermService après avoir enregistré le fichier modifié :
Net start TermService
L’avantage de cette méthode réside dans le fait qu’elle permet d’ouvrir plusieurs sessions RDP sur Windows 10 en remplaçant le fichier termsrv.dll sans être détectée par les antivirus, contrairement à RDPWrap que nous allons voir, qui est considéré comme un malware/HackTool/cheval de Troie par de nombreux antivirus.
Le principal inconvénient est que vous devez modifier manuellement le fichier termsrv.dll à chaque fois que vous mettez Windows 10 à jour (ou à chaque fois que le fichier termsrv.dll est mis à jour lors de l’installation des mises à jour cumulatives mensuelles).
À la manière de l’utilisateur lambda
La seconde façon de procéder est d’installer un utilitaire nommé "RDPWrap"
Rendez vous sur la page https://github.com/stascorp/rdpwrap/releases pour télécharger le fichier RDPWrap-v1.6.2.zip ou sa version la plus récente.
Cette archive contient le nécessaire pour permettre aux utilisateurs de se connecter simultanément à plusieurs sessions RDP sans avoir à remplacer/modifier le fichier termsrv.dll.
Décompressez l’archive pour y trouver :
• RDPWinst.exe : le programme d’installation/désinstallation de la bibliothèque RDP Wrapper).
• RDPConf.exe : l’utilitaire de configuration de RDP Wrapper).
• RDPCheck.exe : l’utilitaire de vérification du RDP).
• install.bat, uninstall.bat, update.bat : les fichiers utilisés pour l’installation, la désinstallation et la mise à jour de RDP Wrapper).
Exécutez le fichier install.bat avec les droits d’administrateur. Il se peut que, durant l’installation, l’utilitaire accède au site du dépôt pour récupérer une version la plus récente des fichiers de configuration.
Vous retrouverez les fichiers installés sous le dossier C :\Program Files\RDP Wrapper.
Une fois l’installation terminée, vous exécuter le fichier RDPConfig.exe pour vérifier que dans la section “Diagnostics” tous les éléments sont en vert.
• L’option “Cacher les utilisateurs sur l’écran de connexion” permet aux administrateurs de masquer les listes d’utilisateurs sur l’écran de connexion Windows.
• Si vous désactivez l’option “Une seule session par utilisateur”, plusieurs sessions RDP pourront être établies simultanément depuis un même compte d’utilisateur (le paramètre du registre “fSingleSessionPerUser = 0” est défini sous la clé “HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser”).
• Vous pouvez remplacer le numéro de port RDP (3389) par celui de votre choix.
• La section “Session Shadowing Mode” vous permet de reconfigurer les droits de connexion du contrôle à distance (shadow) pour les remplacer par ceux des sessions RDP de Windows 10.
Pour tester, exécutez le fichier RDPCheck.exe, puis essayez de démarrer une deuxième session RDP (ou connectez plusieurs sessions RDP depuis des ordinateurs distants).
À ce stade, vous avez terminé. Votre machine devrait à présent permettre à plusieurs utilisateurs d’y accéder simultanément en utilisant de multiples sessions RDP.