WMEye
WMEye ist ein experimentelles Tool, das bei der Erkundung von Windows WMI entwickelt wurde. Das Tool wurde für die Durchführung von Lateral Movement mittels WMI und remote MSBuild-Ausführung entwickelt. Es lädt den kodierten/verschlüsselten Shellcode in die WMI-Klasseneigenschaft des entfernten Ziels hoch, erstellt einen Event-Filter, der beim Auslösen ein MSBuild-basiertes Payload mithilfe einer speziellen WMI-Klasse namens LogFileEventConsumer schreibt, und führt schließlich das Payload remote aus.
Anwendungsfall
Dateiloses Lateral Movement mittels WMI, kann mit Cobalt Strike's Execute-Assembly verwendet werden
Hinweis: Dies befindet sich noch in der experimentellen Phase und ist noch lange nicht für einen echten Einsatz geeignet.
Vorschau

Aktueller Funktionsumfang
- Erstellt eine entfernte WMI-Klasse
- Schreibt Shellcode als Eigenschaftswert in die oben erstellte Fake-WMI-Klasse
- Erstellt einen WMI-Event-Filter zum Auslösen bei Erstellung des powershell.exe-Prozesses
- Bei Event-Auslösung lädt es das MSBuild-Payload mit LogFileEventConsumer (einem WMI-Consumer-Typ zum Schreiben von Log-Dateien) in das entfernte System hoch
- Schließlich wird
Win32_Process Create aufgerufen, um MSBuild remote zu starten
Das MSBuild-Payload ruft den kodierten Shellcode aus der WMI-Klasseneigenschaft ab, decodiert und führt ihn aus.
Geplante Funktionen
- Die WIN32_Process Create-Methode des Aufrufs durch etwas Besseres ersetzen
- GZIP-Komprimierung für Shellcode und XML-Datei-Bytes hinzufügen
- NTLM PTH-Unterstützung hinzufügen
- CleanUp-Funktionen hinzufügen, um den Event-Filter zu entfernen, nachdem der LogFileEventConsumer das Schreiben des MSBuild-Payloads abgeschlossen hat
Was ist einzigartig an diesem Projekt?
- Lädt den kodierten/verschlüsselten Shellcode in die WMI-Eigenschaft einer erstellten Fake-Klasse auf entfernten Maschinen hoch (kann möglicherweise angepasst werden, um Shellcode in eine vorhandene Klasseneigenschaft zu schreiben)
- Verwendet LogFileEventConsumer zum Hochladen der MSBuild-Datei, anstatt sich auf das Spawnen von Powershell.exe mittels win32_process Create zu verlassen
Danksagungen
https://www.fireeye.de/content/dam/fireeye-www/global/en/current-threats/pdfs/wp-windows-management-instrumentation.pdf