VMwareCloak
Ein PowerShell-Skript, das Malware-Analysten dabei helfen soll, ihre VMware-Windows-VMs vor Malware zu verstecken, die möglicherweise versucht, der Analyse auszuweichen.
Garantiert, dass Ihre pafish-Werte um zumindest ein paar Punkte sinken ;)
Das Skript erreicht dies durch Folgendes:
- Benennt mehrere Registrierungsschlüssel um, die Malware typischerweise zur VM-Erkennung verwendet.
- Beendet VMware-Prozesse.
- Löscht VMware-Treiberdateien (dies wird Ihre VM nicht zum Absturz bringen, da diese Treiber ohnehin in den Speicher geladen sind!).
- Löscht oder benennt unterstützende VMware-Dateien um.
Weitere Informationen finden Sie in meinem Blogbeitrag hier:
https://securityliterate.com/hiding-virtual-machines-from-malware-introducing-vmwarecloak-vboxcloak/
Hinweis: Dieses Skript deckt nicht ALLE VM-Erkennungstechniken ab! Es gibt viele Möglichkeiten, eine VM zu erkennen, und viele davon können nicht mit einem einfachen PowerShell-Skript behoben werden. Beispielsweise werden Techniken wie RDTSC und Timing-Erkennung nicht abgedeckt, ebenso wenig wie CPUID-Erkennung.
Getestet auf Windows 7 und Windows 10 - funktioniert wahrscheinlich auch unter Windows XP.
Fehler gefunden? Lassen Sie es mich wissen!
Verwendung
Damit dieses Skript funktioniert, müssen Sie es mit Systemrechten ausführen! Administratorrechte reichen normalerweise nicht aus!
So geht's (mit Process Hacker):
- Starten Sie eine PowerShell-Eingabeaufforderung (powershell.exe).
- Öffnen Sie Process Hacker.
- Klicken Sie mit der rechten Maustaste auf den Prozess PowerShell.exe und wählen Sie „Miscellaneous -> Run As“.
- Wählen Sie in der Dropdown-Liste „User Name“ die Option „System“.
Dadurch wird eine System-Shell gestartet. Führen Sie nun das Skript wie gewohnt aus:
- Führen Sie das Skript aus (siehe Verwendungsbeispiele unten).
- Zünden Sie Ihre Malware. Profitieren Sie davon.
- Setzen Sie Ihre VM anschließend auf den sauberen Zustand zurück.
Verwendungsbeispiele:
Registrierungsänderungen vornehmen, VMware-Dateien entfernen und VMware-Prozesse beenden:
Nur Registrierungsänderungen vornehmen:
Nur VMware-Dateien entfernen:
Nur VMware-Prozesse beenden:
Warnungen & Haftungsausschlüsse
- Dieser Code befindet sich in der Beta-Phase. Ich weiß, dass ich ihn besser hätte codieren können, aber manchmal ist schnell und schmutzig am besten.
- Nutzung auf eigene Gefahr! Nur in einer VM verwenden, und NICHT auf Ihrem Host.
- Erstellen Sie unbedingt einen Snapshot Ihrer VM, bevor Sie dies ausführen.
- Die Verwendung der Befehlszeilenargumente "files" und/oder "procs" führt wahrscheinlich zu einer geringeren VM-Leistung. Das liegt daran, dass dieses Skript mehrere Dateien entfernt, die für unterstützende Funktionen wie Grafik, Tastatureingabe usw. erforderlich sind. Setzen Sie die VM einfach auf den sauberen Zustand zurück, falls dadurch etwas durcheinandergebracht wird.
Beiträge und Danksagungen
- Dank an Takashi Matsumoto (Twitter/X: @t_mtsmt) für das Hinzufügen neuer Funktionen und das Beheben einiger Fehler!
- Dank an MMJv3 (https://github.com/MMJv3) für das Hinzufügen neuer Registrierungsschlüssel-Änderungen!