
wsb-detect ermöglicht es Ihnen zu erkennen, ob Sie in Windows Sandbox ("WSB") ausgeführt werden.
wsb-detect ermöglicht es Ihnen zu erkennen, ob Sie in einer Windows-Sandbox ("WSB") ausgeführt werden. Die Sandbox wird von Windows Defender für dynamische Analysen verwendet und häufig manuell von Sicherheitsanalysten und ähnlichen Personen. Ende 2019 führte Microsoft eine neue Funktion namens Windows Sandbox (kurz WSB) ein. Die Techniken zur Identifizierung von WSB werden unten im Abschnitt "Techniken" beschrieben. Zögern Sie nicht, einen Pull-Request einzureichen, wenn Sie Ideen zur Identifizierung haben 🎉. Ich habe mich gelegentlich damit beschäftigt, weitere Informationen zu Windows Sandbox folgen bald.
Windows Sandbox ermöglicht es Ihnen, schnell, innerhalb von 15 Sekunden, eine einmalige Hyper-V-basierte virtuelle Maschine zu erstellen, die alle Eigenschaften einer vertrauten VM aufweist, wie z. B. gemeinsame Zwischenablage, zugeordnete Verzeichnisse usw. Die Sandbox ist auch die Grundlage für Microsoft Defender Application Guard (WDAG) für dynamische Analysen auf Hyper-V-fähigen Hosts und kann auf jedem Windows 10 Pro- oder Enterprise-Computer aktiviert werden. Es ist nicht besonders interessant, könnte sich jedoch als nützlich für die Entwicklung von Implantaten erweisen. Vielen Dank an meinen Freund Jonas L für die Unterstützung, als ich die Interna der Sandbox erkundet habe (mehr dazu folgt).
Die detect.h-Header-Datei exportiert alle Funktionen, die kombiniert werden können, um zu erkennen, ob
#include <stdio.h>
#include "detect.h"
int main(int argc, char** argv)
{
// example vmsmb & username check
if (wsb_detect_dev() || wsb_detect_username())
{
puts("We're in Windows Sandbox!");
return 0;
}
return 1;
}
wsb_detect_procÜberprüft auf CExecSvc.exe, den Containerausführungsdienst, der intern viele der schweren Aufgaben erledigt.
wsb_detect_timeDas Image der Sandbox scheint am Saturday, December 7, 2019, 9:14:52 AM erstellt worden zu sein - dies ist etwa der Zeitpunkt, als Windows Sandbox der Öffentlichkeit vorgestellt wurde. Diese Prüfung vergleicht den Erstellungszeitstempel des mountmgr-Treibers.
wsb_detect_usernameDiese Methode überprüft, ob der aktuelle Benutzername WDAGUtilityUserAccount ist, das standardmäßig in der Sandbox verwendete Konto.
wsb_detect_suffixDiese Methode verwendet GetAdaptersAddresses, durchläuft die Liste der Adapter und vergleicht das DNS-Suffix mit mshome.net - das standardmäßig in der Sandbox verwendet wird.
wsb_detect_devÜberprüft, ob das Raw-Gerät \\.\GLOBALROOT\device\vmsmb geöffnet werden kann, das für die Kommunikation mit dem Host über SMB verwendet wird.
wsb_detect_cmdBeim Start wird unter dem Schlüssel RunOnce in HKEY_LOCAL_MACHINE nach einem Befehl gesucht, der das Passwort auf "nie ablaufen" setzt.
wsb_detect_genuineEine allgemeinere Methode zur Sandbox-Erkennung, jedoch scheint Windows in den VMs laut Tests nicht als legitim verifiziert zu sein.
Wenn Sie mich schneller kontaktieren möchten, können Sie mich gerne auf Twitter oder per E-Mail kontaktieren. Es ist außerdem auf dem Host möglich zu erkennen, ob die Sandbox läuft, indem überprüft wird, ob ein Mutex namens WindowsSandboxMutex erstellt werden kann. Dies begrenzt die Sandbox auf eine virtuelle Maschine pro Host, jedoch können Sie diesen Mutex freigeben, indem Sie einfach das Handle duplizieren und ReleaseMutex aufrufen - viola, Sie können mehrere Instanzen haben.
