Exécution de commande via WinRM

WinRM (pour Windows Remote Management) est l'équivalent Powershell de SSH sous Windows. Concrètement c'est une console d'administration qui va vous permettre d'administrer vos serveurs Windows à distance via Powershell.

WinRM tourne sur les ports 5985 (HTTP) et 5986 (HTTPS). Étant donné que des identifiants de connexion sont nécessaires pour accéder à l'interface de management il sera préférable d'utiliser le port HTTPS.

Alors pourquoi parle-t-on d'HTTP et HTTPS ? Eh bien parce que WinRM repose sur un webservice SOAP. L'interaction client-serveur se fait donc via l'envoie de requêtes SOAP. Là où ça devient intéressant du point de vue d'un attaquant c'est qu'il est possible de mettre en place un shell semi interactif via WInRM.

Pour pouvoir accéder à l'interface WinRM il faudra disposer d'un compte faisant partie du groupe "Utilisateurs de gestion à distance" (en anglais Remote Management Users):

net localgroup "Utilisateurs de gestion à distance" /add victime

Si c'est le cas nous pourrons utiliser l'outil Evil-WinRM afin d'obtenir un shell semi interactif: