Bureau à distance en trio (limitation des sessions RDP)

Les versions serveurs de Windows 2003 et 2008 permettent aux administrateurs zélés de se connecter, via RDP, à leurs serveurs pour certaines taches d’administration.
Ce mode de fonctionnement de Terminal Server est le mode « Bureau à distance », qui ne permet pas plus de 2 connexions RDP simultanées.

Frustration du troisième administrateur

rdp_frustration
ou en 2008…
rdp_frustration6
Déjà trop de sessions ouvertes en RDP sur le serveur… (2)

Faux réglage du mode « Bureau à distance »

rdp_fakeset
Quoi que cette fenêtre puisse laisser penser, en mode « Bureau à distance », ce réglage graphique ne sert strictement à rien ; il n’y a que deux licences de disponible

Explication

plongé dans termsrv.dll@TermService

.text:760BB42D         lea     esi, [ecx+0Ch]
.text:760BB430         push    esi             ; lpAddend
.text:760BB431         call    ds:__imp__InterlockedIncrement@4 ; InterlockedIncrement(x)
.text:760BB437         cmp     eax, 2
.text:760BB43A         jg      short @@loc_noLicence

Finalement il ne faudrait donc que remplacer un malicieux jg par un nop
Pour les versions 6 de Windows, cela demande un peu plus de subtilité au vu du nombre de vérifications faites autour d’un objet instancié…, un remplacement du nombre de sessions maximales par 0x7fffffff est tout aussi efficace ;)

Il est ici intéressant de manipuler directement ces données dans le service Terminal Server, cela permet d’éviter tout redémarrage et remplacement de fichier.

Résultat

rdp_2k3x64_happy
ou en 2008…
rdp_2k8r2x64_happy

…en plus, ça sera dans mimikatz 1.0, tout administrateur impatient que tu sois.