Windows unterstützt sogenannte Co-Installer, die beim Anschluss eines neuen USB-Geräts automatisch Herstellersoftware und Treiber nachladen und installieren. Genau dieser privilegierte Pfad ist laut den Forschern das Kernproblem: Wird neue Hardware erkannt, kann Windows ein zugehöriges signiertes Paket abrufen und vom Hersteller gelieferte Komponenten als SYSTEM ausführen. Dazu zählen Co-Installer, Dienste, Hilfsprogramme und Treiber, ohne dass das Betriebssystem eine UAC-Abfrage anzeigt.

BleepingComputer hatte bereits 2021 beschrieben, wie sich dieses Verhalten zusammen mit einer Schwachstelle in Razer Synapse ausnutzen ließ. Damals startete Windows nach dem Anschluss einer Razer-Maus oder -Tastatur automatisch den Installer mit SYSTEM-Rechten. Ein Fehler darin erlaubte es einem normalen Benutzer, aus der Installationsoberfläche PowerShell zu starten, wodurch die Shell dieselben Rechte erbte. BleepingComputer testete die Schwachstelle damals selbst und bestätigte eine Rechteausweitung zu SYSTEM in ungefähr zwei Minuten. Der Schwachstellenanalyst Will Dormann hatte schon damals gewarnt, dass ähnliche Probleme wahrscheinlich auch in anderer Software auftreten, die Windows über Plug and Play automatisch installiert.

Für ihre neue Forschung nutzten Hernando und Martínez nach eigenen Angaben FaceDancer zusammen mit Cynthion- und GreatFET-Hardware, angeschlossen an einen kleinen Linux-Rechner. FaceDancer ist ein Software-Framework zur Emulation von USB-Geräten. Damit lassen sich Deskriptoren, Schnittstellen, Geräteklassen und Endpunkte so definieren, dass ein Computer die emulierte Hardware als konkretes USB-Gerät identifiziert. Einige Angriffsketten erfordern dabei, dass das emulierte Gerät getrennt und anschließend mit einer anderen Identität erneut erkannt wird. Hernando erklärte gegenüber BleepingComputer, mehrere Ketten seien darauf angewiesen, das Gerät als zusammengesetztes Gerät auszugeben, damit Windows usbccgp.sys lädt und jede Schnittstelle einzeln auflistet. Erst so werde das Herstellerpaket statt des mitgelieferten Standardtreibers gewählt.

In einer physischen Zero-Click-Demonstration kombinierten die Forscher Installationspakete von Sierra Wireless und Sony FeliCa. Zunächst gibt sich die Hardware als Sierra-Wireless-Gerät aus, wodurch Windows Software installiert, die sich zur Änderung der DNS-Einstellungen des Rechners missbrauchen lässt. Anschließend folgt die Emulation eines Sony-FeliCa-Geräts. Das veranlasst Windows, zusätzliche Sony-Software zu installieren, die Dateien über eine unverschlüsselte Verbindung herunterlädt. Durch die kontrollierten DNS-Einstellungen können die Forscher diese Downloads auf einen eigenen Server umleiten und einen Fehler in der Sony-Software ausnutzen, um eine schädliche Datei mit SYSTEM-Rechten auf dem System abzulegen. Danach wird erneut ein Sierra-Gerät vorgetäuscht, wodurch Windows die Datei lädt und eine Reverse Shell mit SYSTEM-Rechten öffnet. Nach Angaben der Forscher funktionierte diese Kette auf einem vollständig aktualisierten Windows-11-Rechner ohne angemeldeten Benutzer und dauerte ungefähr fünf Minuten.

Zusätzlich demonstrierten sie „NoPlug & Pwn“, eine Variante ohne physische Hardware-Emulation. Diese nutzt die USB-Umleitung über RDP aus, bei der lokal angeschlossene USB-Geräte in einer entfernten Windows-Sitzung verfügbar gemacht werden. Statt ein reales Gerät durchzureichen, entwickelten die Forscher einen Python-RDP-Client, der beim Verbindungsaufbau gezielt USB-Deskriptoren über diese Funktion sendet. Der entfernte Windows-Host behandelt diese gefälschten Angaben dann wie ein tatsächlich angeschlossenes USB-Gerät, legt das entsprechende Plug-and-Play-Gerät auf dem Host an und installiert die passenden Treiber und Herstellerpakete. In der Vorführung gaben sich die Forscher als Intel-RealSense-Kamera aus, deren Windows-Update-Paket einen Co-Installer enthält, der sich per DLL-Hijacking für SYSTEM-Rechte missbrauchen lässt. Laut Hernando funktioniert dieser Angriff nur auf Systemen mit aktivierter USB-Umleitung, was in virtuellen Desktop-Umgebungen verbreitet sei.

Als Gegenmaßnahme verwies Will Dormann auf den Registrierungswert „DisableCoInstallers“, der verhindert, dass Treiberpakete bei der Geräteinstallation Co-Installer ausführen. Hernando sagte BleepingComputer, das störe einige der gezeigten Angriffe, darunter die Sony-FeliCa-Kette und den Intel-RealSense-Angriff über RDP. Die zugrunde liegende Angriffsfläche beseitige das jedoch nicht. Als Beispiel nannten die Forscher eine weitere Kette mit Wacom- und Atheros-Paketen, die eine Schwachstelle in einem über eine INF-Datei installierten Atheros-Treiberdienst ausnutzt: CVE-2019-10617. Für sensible Umgebungen empfiehlt Hernando deshalb die Kombination aus „DisableCoInstallers“, zusätzlichen Einschränkungen bei der Geräteinstallation oder Zulassungslisten für Hardware-IDs sowie das Abschalten der Plug-and-Play-Geräteumleitung auf RDP- und VDI-Hosts, die diese Funktion nicht benötigen.