Die RobbinHood-Ransomware verwendet einen veralteten Gigabyte-Treiber als Speerspitze für die Ausschaltung von Antiviren-Produkten.
Die Betreiber der RobbinHood-Ransomware verwenden einen anfälligen, veralteten Treiber des taiwanesischen Motherboard-Herstellers Gigabyte, um den Virenschutz zu umgehen. Die "Bring-your-own-bug"-Taktik wird nach Ansicht von Sicherheitsanalysten wahrscheinlich bei weiteren Angriffen auftauchen.
Laut Untersuchungen von Sophos weist der Treiber eine bekannte Schwachstelle auf (CVE-2018-19320) und wurde 2018 vom Unternehmen eingestellt. Das Verisign-Zertifikat, das zur digitalen Signatur des Treibers verwendet wurde, wurde jedoch nicht widerrufen, so dass die Signatur weiterhin gültig ist.
"Die Gegner setzten einen legitimen, digital signierten Hardware-Treiber ein, um Sicherheitsprodukte von den Zielcomputern zu löschen, kurz bevor der zerstörerische Dateiverschlüsselungsteil des Angriffs durchgeführt wurde", erklärten die Forscher in einer Ende letzter Woche veröffentlichten Analyse.
RobbinHood-Lösegeld ist am bekanntesten als der Schuldige hinter dem Verschlüsselungsangriff auf die Stadt Baltimore im Jahr 2019. Die Bedrohungsakteure haben nun eine neue Taktik.
Konkret aktualisieren sie den Speicher des Windows-Kernels mit dem Gigabyte-Treiber, so die Untersuchung - und der Kernel akzeptiert ihn dank des signierten Zertifikats als "Patch". Sobald dieses geladen ist, können sie diesen Treiber unter Ausnutzung der bekannten Schwachstelle ausnutzen, um ihren eigenen, unsignierten, bösartigen Treiber zu laden.
Die Verwendung des Gigabyte-Treibers erspart den Angreifern Zeit und Kopfschmerzen, stellt Sophos fest.
"64-Bit-Windows...erlaubt nur das Laden von Treibern, die sowohl vom Hersteller als auch von Microsoft ordnungsgemäß signiert wurden", so die Analyse. "Die Malware-Autoren haben sich nicht die Mühe gemacht, ihren bösartigen Treiber zu signieren, da es sich um den Kauf eines Zertifikats handelt. Außerdem kann ein erworbenes Zertifikat von der Zertifizierungsstelle widerrufen werden."
Der ordnungsgemäß signierte Gigabyte-Treiber hingegen wird von Windows problemlos akzeptiert werden. Und er enthält zufällig eine Privilegien-Eskalations-Schwachstelle, da er das Lesen und Schreiben von beliebigem Speicher erlaubt.
"Die Autoren der Malware missbrauchen diese Schwachstelle, um die Durchsetzung der Treibersignatur in Windows (vorübergehend) zu deaktivieren - on-the-fly im Kernel-Speicher. Sie tun dies, indem sie eine einzelne Variable (ein einzelnes Byte) ändern, die im Kernel-Speicher lebt... Wenn die Durchsetzung der Treibersignatur deaktiviert ist, können die Angreifer ihren unsignierten bösartigen Treiber laden", so die Forscher.
Dieser zweite Treiber hat die Aufgabe, Sicherheitsanwendungen aus dem Kernelbereich zu entschärfen. Er "unternimmt große Anstrengungen, Prozesse und Dateien, die zu Endpunkt-Sicherheitsprodukten gehören, unter Umgehung des Manipulationsschutzes zu töten, damit die Lösegeldforderung ungestört angegriffen werden kann", erklärten die Forscher.
Während des Angriffs untergraben die Cyberkriminellen eine Einstellung im Kernel-Speicher von Windows 7, Windows 8 und Windows 10. Dazu nutzt die RobbinHood-Malware einen Prozess namens STEEL.EXE, der seinerseits mehrere verschiedene Dateien verwendet, um seine Aufgabe zu erfüllen - die alle während der Erstinfektion in den Windows-Temp-Ordner extrahiert werden.
Zunächst setzt die STEEL.EXE-Anwendung ROBNR.EXE ein. Dies ist die Anwendung, die sowohl den anfälligen Gigabyte-Treiber (GDRV.SYS) als auch den zweiten, bösartigen Treiber (RBNL.SYS) ablegt und installiert. Danach liest STEEL.EXE eine Textdatei mit dem Namen PLIST.TXT für weitere Anweisungen.
PLIST.TXT enthält eine Liste von Prozessen und den zugehörigen Dateien, die der bösartige Treiber zu zerstören hat, so die Forscher; und da die Textdatei nicht in STEEL.EXE eingebettet ist, kann sie auf die Umgebung des Opfers zugeschnitten sein.
Der böswillige Treiber hat verschiedene Möglichkeiten, Dateien zu löschen, und er führt sie alle nacheinander aus, um alle Grundlagen abzudecken, so die Firma.
"Um in Gebrauch befindliche Dateien zu löschen, gibt der bösartige Treiber ein E/A-Anforderungspaket (oder IRP, eine zwischen Gerätetreibern weitergegebene Nachricht auf niedriger Ebene) direkt auf dem NTFS.SYS-Speichergerät aus", so der Bericht. "Durch das Löschen der ImageSectionObject- und DataSectionObject-Zeiger nimmt das Speichergerät an, dass die Dateien nicht in Verwendung sind und die Datei sicher gelöscht wird, selbst wenn die Datei noch als Prozess läuft.
Nachdem der Löschvorgang der Datei abgeschlossen ist, beendet der bösartige Treiber den STEEL.EXE-Prozess, und der Lösegeldanteil der Malware kann Dateien verschlüsseln, ohne durch Sicherheitsprodukte behindert zu werden.
Das Töten solcher Sicherheitsprozesse vom Kernel-Modus aus bietet den Angreifern viele Vorteile, stellt Sophos fest - und als solche ist es eine Technik, die wahrscheinlich in anderen Kampagnen auftauchen wird.
"Endpoint-Schutzprozesse, die sich auf Objekt-Handle-Filterung als Manipulationsschutz verlassen, können eine Beendigung von Prozessen im Kernel-Modus oder das Löschen von Dateien nicht verhindern", schreiben die Forscher. "Die Prozess-Handles, die von dem bösartigen Treiber geöffnet werden, sind Kernel-Handles, und Kernel-Handles können nicht gefiltert werden", so die Forscher. Daher kann der bösartige Kernel-Treiber diese Prozesse ohne Beeinträchtigung der Endpunkt-Sicherheitskontrollen beenden.
Für die Zukunft stellten die Forscher fest, dass die Technik mit Hilfe einer Reihe von fehlerhaften Treibern repliziert werden kann, solange diese ein beliebiges Lesen/Schreiben im Kernel erlauben.
"Auch wenn die Angreifer heute den GDRV.SYS-Treiber dafür verwenden, gibt es keinen Grund, ihn weiterhin zu verwenden, wenn es unhaltbar wird", schrieben sie. "Es gibt viele andere anfällige Treiber (mit einer ähnlichen Verwundbarkeit) zusätzlich zum Gigabyte-Treiber, die diese oder andere Angreifer später möglicherweise missbrauchen wollen, wie z.B. solche von VirtualBox (CVE-2008-3431), Novell (CVE-2013-3956), CPU-Z (CVE-2017-15302) oder ASUS (CVE-2018-18537). Aber bei diesen Angriffen haben wir nur gesehen, dass der Gigabyte-Treiber auf diese Weise missbraucht wurde".