WMEye
WMEye est un outil expérimental développé lors de l'exploration de Windows WMI. L'outil est conçu pour effectuer un mouvement latéral en utilisant WMI et l'exécution distante de MSBuild. Il télécharge le shellcode encodé/chiffré dans une propriété de classe WMI sur la cible distante, crée un filtre d'événement qui, lorsqu'il est déclenché, écrit une charge utile basée sur MSBuild en utilisant une classe WMI spéciale appelée LogFileEventConsumer et exécute finalement la charge utile à distance.
Cas d'utilisation
Mouvement latéral sans fichier utilisant WMI, peut être utilisé avec Execute-Assembly de Cobalt Strike
Note: Ceci est encore au stade expérimental et loin d'être utilisable dans un engagement réel.
Aperçu

Fonctionnement actuel
- Crée une classe WMI distante
- Écrit le shellcode comme valeur de propriété dans la classe WMI fictive créée ci-dessus
- Crée un filtre d'événement WMI pour se déclencher lors de la création du processus powershell.exe
- Sur déclenchement d'événement, il télécharge la charge utile MSBuild dans le système distant en utilisant LogFileEventConsumer (un type de consommateur WMI pour écrire des fichiers journaux)
- Enfin, invoque
Win32_Process Create pour appeler MSBuild à distance
La charge utile MSBuild récupère le shellcode encodé depuis la propriété de la classe WMI, le décode et l'exécute.
Fonctionnalités à venir
- Remplacer la méthode d'invocation WIN32_Process Create par quelque chose de mieux
- Ajouter la compression GZIP pour le shellcode et les octets du fichier XML
- Ajouter le support NTLM PTH
- Ajouter des fonctions de nettoyage pour supprimer le filtre d'événement après que le logfileeventconsumer a fini d'écrire la charge utile MSBuild
Qu'est-ce qui est unique dans ce projet ?
- Télécharge le shellcode encodé/chiffré dans la propriété WMI de machines distantes sur une classe fictive créée (peut-être modifiable pour écrire du shellcode dans une propriété de classe existante)
- Utilise LogFileEventConsumer pour télécharger le fichier MSBuild, au lieu de se baser sur le lancement de Powershell.exe en utilisant win32_process Create
Crédits
https://www.fireeye.de/content/dam/fireeye-www/global/en/current-threats/pdfs/wp-windows-management-instrumentation.pdf