Die BlackByte Ransomwaregruppe nutzt aktiv eine Schwachstelle in RTCore32.sys und RTCore64.sys aus, den Treibern eines weit verbreiteten Grafikkartenprogramms namens Micro-Star MSI AfterBurner (Version 4.6.2.15658). Erfasst als CVE-2019-16098, ermöglicht die Schwachstelle jedem authentifizierten Benutzer, beliebigen Speicher, I/O-Ports und modellspezifische Register (MSRs) zu lesen und zu beschreiben.
Cyberkriminelle können sie missbrauchen, um ihre Rechte auszuweiten, beliebige Befehle mit hohen Privilegien auszuführen, Daten zu exfiltrieren oder die Microsoft-Richtlinie zur Treibersignierung zu umgehen und Malware einzuschleusen. Forscher beobachteten einen besonders beunruhigenden Exploit, als BlackByte die Schwachstelle kürzlich nutzte, um Sicherheitslösungen wie EDR und Antivirensoftware lahmzulegen.
Die als „Bring Your Own Vulnerable Driver“ (BYOVD) bezeichnete Taktik wurde bereits von verschiedenen Angreifern in freier Wildbahn eingesetzt, darunter APT-Gruppen wie InvisiMole und LoJax. Diese Angriffe zielen auf Windows-Systeme ab.
Da Windows keine unsignierten Treiber zulässt, kapern Cyberkriminelle vorhandene signierte Treiber, um den Windows-Kernel zu erreichen oder einen unsignierten Treiber zu laden. Einen solchen Ansatz verwenden auch Cheater in Spielen, um Anti-Cheat-Systeme zu umgehen, etwa den anfälligen Treiber von Capcom.
Lesen Sie auch: So umgehen Hacker die Erkennung
So führte BlackByte den Angriff aus
Um den Angriff zu verstehen, muss man wissen, was Kernel-Speicher ist. In Windows erhält ein von einem Benutzer gestarteter Prozess seinen eigenen Speicherbereich, der nur diesem Prozess zur Verfügung steht. Im Kernel-Speicher gibt es keine solche Isolierung. Sämtlicher Code, der im Kernelmodus ausgeführt wird, nutzt denselben Speicherbereich.
Daher kann ein anfälliger Treiber andere Treiber kompromittieren, sie zum Absturz bringen oder einige ihrer Routinen entfernen.
Der Begriff „Userland“ bezeichnet Programme, die mit einem kleinen, absichtlich offengelegten Teil des Kernels interagieren, etwa über APIs. „Kernel“ bezeichnet den Bereich, der mit hohen Privilegien und hinter dem Hardwareschutz ausgeführt wird. Im Kernelmodus ausgeführter Code gilt als vertrauenswürdig und wird ausgeführt.
Wenn es Angreifern gelingt, Schadcode in den Kernel einzuschleusen, ist das Spiel vorbei.
Die Sophos-Forscher berichteten, dass die anfälligen Treiber gegen Microsofts Sicherheitsrichtlinien verstoßen, indem sie Prozessen im Benutzermodus den Zugriff auf die I/O-Steuercodes ermöglichen. Dieser riskante Ansatz erlaubt es, den Kernel-Speicher direkt zu lesen oder zu beschreiben – ganz ohne Shellcode oder einen zusätzlichen Exploit.
Nachdem BlackByte die Kernel-Version ermittelt hatte, um Offsets zu bestimmen, die zur Kernel-ID passen, und seinen Dienst installiert hatte, legte es den anfälligen Treiber in AppData\Roaming ab und entfernte die spezifischen Kernel-Notify-Routinen, die von Sicherheitstools verwendet werden.
Notify-Routinen verarbeiten wichtige Interaktionen zwischen dem Kernel von Systemaktivitäten und geladenen Treibern, etwa wenn ein neuer Prozess zur Ausführung einer Aufgabe erstellt werden soll. Eine schnelle Kontrollübertragung kann erfolgen, wenn der Treiber eine bestimmte Callback-Funktion (PsSetCreateProcessNotifyRoutine) registriert hat.
Sicherheitstools verwenden diese Routinen häufig, um Daten über das System zu sammeln, doch Angreifer können sie nicht einfach direkt entfernen. Deshalb verwenden sie vorhandene Treiber, die mit dem Kernel-Speicher interagieren, um den Schutz des Betriebssystems zu umgehen.

Um jedoch festzustellen, ob die Callback-Funktion von EDR-Produkten verwendet wird, muss BlackByte „den wahrscheinlichsten Treiber anhand der Callback-Adresse selbst“ berechnen. Die Sophos-Forscher stellten fest, dass BlackByte ein Verfahren einsetzt, das alle Basisadressen abruft und sie mit der Adresse der Callback-Funktion vergleicht.
Die Basisadresse mit der „kleinsten Differenz zur Callback-Funktion“ wird ausgewählt und an GetDeviceDriverBaseNameW übergeben, um den Namen des Treibers abzurufen. Anschließend wird der Name mit einer Liste von mehr als 1.000 Treibernamen verglichen. Bei einer Übereinstimmung wird der Callback entfernt, indem sein Speicherbereich mit Nullen überschrieben wird.
„Die Umgehungstechnik unterstützt die Deaktivierung einer enorm langen Liste von mehr als 1.000 Treibern, auf die Sicherheitsprodukte für ihren Schutz angewiesen sind“, schrieben die Sophos-Forscher.
So lassen sich BYOVD-Angriffe eindämmen
Die Sophos-Forscher haben Indikatoren für eine Kompromittierung (IoCs) hier aufgeführt und empfohlen, über Schwachstellenmeldungen auf dem Laufenden zu bleiben, um eine Sperrliste aktiv ausgenutzter Treiber zu pflegen.
Es wird dringend empfohlen, alle installierten Treiber aufzulisten und zu überwachen. Selbstverständlich muss das System aktualisiert werden, um bekannte Sicherheitslücken zu schließen.
Jede Schwachstelle, die das Lesen und Schreiben im Kernel-Speicher ermöglicht, sollte so schnell wie möglich behoben werden.
Dabei ist zu beachten, dass BlackByte zusätzliche Maßnahmen zur Umgehung der Erkennung integriert hat. So versucht die Malware beispielsweise, sich vor Debugging-Prozessen zu verbergen, oder beendet sich sogar, wenn ein Debugger aktiv ist, etwa durch Verwendung der IsDebuggerPresent-API.
Außerdem durchsucht sie das System nach DLLs, die von verbreiteten Antivirenprogrammen wie Avast oder Comodo Internet Security verwendet werden, und beendet diese Prozesse, bevor sie erkannt wird.
Die besten Tools für das Schwachstellenmanagement und das Patchmanagement.





