Restricted Admin Mode (RDP)

Le protocole RDP (Remote Desktop Protocol) permet à un utilisateur de se connecter sur une machine distante (port 3389 par défaut) pour y effectuer différentes actions. Cela va ainsi permettre par exemple à une équipe d’administrateurs se trouvant sur un site central de pouvoir administrer des serveurs se trouvant sur différents lieux géographiques.

Le protocole RDP vise initialement le transport des entrées utilisateurs et des données d’affichage du système distant au système locale. Additionnellement, d’autres fonctionnalités peuvent être utilisées :

  • Projeter les ports séries et parallèle de l’ordinateur local vers l’ordinateur distant.
  • Transférer des fichiers locaux vers l’ordinateur distant par l’intermédiaire du protocole RDP.
  • Echange entre presse papier locale et presse papier distant.
  • Etc…

Historiquement, lorsque nous utilisions le client « mstsc.exe » pour se connecter sur une machine distante, le hash de notre mot de passe était stocké sur la machine distante. De ce fait, si notre machine distante était compromise, alors nous aurions pu être victime d’une attaque de type Pass-The-Hash ou Pass-The-Ticket et risqué la compromission de l’ensemble de notre environnement.

Dorénavant, avec l’utilisation du « Restricted Admin mode » ou « Mode d’administration Restreint » aucune informations d’identification ne sera stocké sur la machine distante qui peut potentiellement être compromise. De plus, il sera impossible de se connecter sur une autre machine de notre environnement sans saisir de nouveau le couple (identifiant + mot de passe).

Le mode d’administration restreint va donc nous permettre de nous connecter de manière interactive à une machine distante sans pour autant y stocker nos informations d’identifications.

Prérequis

Windows 8.1, Windows 2012 R2 ou versions ultérieures.

Windows 7 et Windows Server 2008R2 supportés si la kb 2984972 est installé.

Démonstration

Lors de cette démonstration, nous verrons comment utiliser le mode d’administration restreint d’une machine Windows 10 vers un serveur avec l’OS Windows Server 2016.

Nous allons d’abord nous connecter sans utiliser le mode d’administration restreint afin de pouvoir comparer une fois que celui-ci sera utilisé.

Une fois connecté, nous pouvons voir les informations suivantes sur le serveur :

Une fois connecté en RDP sur le serveur, nous essayons de rebondir sur une autre machine de l’environnement :

Nous pouvons voir que nous avons accès à la machine sans entrer de nouveau nos informations d’identification.

Nous allons maintenant activer la possibilité d’utiliser le mode d’administration restreint sur notre serveur en 2016. Pour cela, nous devons nous éditer une clé de registre sur le serveur :

« 0 » pour activer le mode d’administration restreint. « 1 » pour désactiver ce mode.

Le chemin complet vers la clé est HKLM\SYSTEM\CurrentControlSet\Control\LSA

La modification prend effet immédiatement ! Aucun redémarrage n’est nécessaire.

Nous allons maintenant utiliser le mode d’administration restreint pour nous connecter. Pour cela, depuis la machine Windows 10 nous allons ajouter le paramètre :

Une fois la connexion établie, nous pouvons voir que nous utilisons bien le mode d’administration restreint :

Nous allons donc essayer de nous connecter sur une autre machine depuis cette connexion en RDP.

Contrairement à l’exemple précédent nous pouvons voir que la connexion est refusée et que nos informations d’identifications nous sont de nouveau demandés. Ainsi, si notre serveur de destination était compromis, l’attaquant n’aurait « en théorie » pas pu rebondir sur un autre serveur en utilisant nos informations d’identifications utilisées lors de la connexion RDP.

Sources

https://www.ssi.gouv.fr/uploads/IMG/pdf/Securite_de_RDP_article.pdf
https://blogs.technet.microsoft.com/kfalde/2015/01/10/restricted-admin-mode-for-rdp-in-windows-7-2008-r2/
https://blogs.technet.microsoft.com/kfalde/2013/08/14/restricted-admin-mode-for-rdp-in-windows-8-1-2012-r2/
https://support.microsoft.com/fr-fr/kb/2984972