Das erste frei verfügbare UEFI-Bootkit, das UEFI Secure Boot auf vollständig aktualisierten UEFI-Systemen umgeht, ist jetzt Realität
Die Anzahl der in den letzten Jahren entdeckten UEFI-Schwachstellen und die Fehler beim Patchen oder Widerrufen anfälliger Binärdateien innerhalb eines angemessenen Zeitfensters sind von Bedrohungsakteuren nicht unbemerkt geblieben. Als Ergebnis ist das erste öffentlich bekannte UEFI-Bootkit, das die wesentliche Plattform-Sicherheitsfunktion – UEFI Secure Boot – umgeht, nun Realität. In diesem Blogpost stellen wir die erste öffentliche Analyse dieses UEFI-Bootkits vor, das sogar auf aktuellen Windows 11-Systemen mit aktiviertem UEFI Secure Boot lauffähig ist. Die Funktionalität des Bootkits und seine einzelnen Features lassen uns vermuten, dass es sich um ein Bootkit handelt, das als bekannt ist Schwarzer Lotus, das UEFI-Bootkit wird in Hacking-Foren verkauft für 5,000 $ seit mindestens Oktober 2022.
UEFI-Bootkits sind sehr mächtige Bedrohungen, die die volle Kontrolle über den Startvorgang des Betriebssystems haben und daher in der Lage sind, verschiedene Sicherheitsmechanismen des Betriebssystems zu deaktivieren und ihre eigenen Payloads im Kernelmodus oder Benutzermodus in frühen Phasen des Betriebssystemstarts bereitzustellen. Dadurch können sie sehr heimlich und mit hohen Privilegien agieren. Bisher wurden nur wenige in freier Wildbahn entdeckt und öffentlich beschrieben (z schädliche EFI-Beispiele wir im Jahr 2020 entdeckt haben, oder voll ausgestattete UEFI-Bootkits wie unsere Entdeckung im letzten Jahr – die ESPecter-Bootkit - oder die FinSpy-Bootkit entdeckt von Forschern von Kaspersky).
UEFI-Bootkits können im Vergleich zu Firmware-Implantaten an Tarnung verlieren – wie z LoJax; das erste UEFI-Firmware-Implantat in freier Wildbahn, das 2018 von unserem Team entdeckt wurde – da sich Bootkits auf einer leicht zugänglichen FAT32-Festplattenpartition befinden. Die Ausführung als Bootloader bietet ihnen jedoch fast die gleichen Fähigkeiten wie Firmware-Implantate, ohne jedoch die mehrstufigen SPI-Flash-Abwehrmaßnahmen wie die BWE-, BLE- und PRx-Schutzbits oder die von Hardware bereitgestellten Schutzmaßnahmen (wie Intel Boot Guard) überwinden zu müssen ). Sicher, UEFI Secure Boot steht UEFI-Bootkits im Weg, aber es gibt eine nicht zu vernachlässigende Anzahl bekannter Schwachstellen, die es ermöglichen, diesen wesentlichen Sicherheitsmechanismus zu umgehen. Und das Schlimmste daran ist, dass einige von ihnen selbst zum Zeitpunkt des Schreibens dieses Artikels noch leicht auf aktuellen Systemen ausnutzbar sind – einschließlich des von BlackLotus ausgenutzten.
Unsere Untersuchung begann Ende 2022 mit einigen Treffern in unserer Telemetrie, die sich als BlackLotus-Benutzermoduskomponente – ein HTTP-Downloader – herausstellte. Nach einer ersten Bewertung führten uns die in den Beispielen gefundenen Codemuster zur Entdeckung von sechs BlackLotus Installer (sowohl auf VirusTotal als auch in unserer eigenen Telemetrie). Dies ermöglichte uns, die gesamte Ausführungskette zu untersuchen und zu erkennen, dass wir es hier nicht nur mit normaler Malware zu tun hatten.
Im Folgenden finden Sie die wichtigsten Punkte zu BlackLotus und eine Zeitleiste, die die damit verbundenen Ereignisse zusammenfasst:
- Es kann auf den neuesten, vollständig gepatchten Windows 11-Systemen mit aktiviertem UEFI Secure Boot ausgeführt werden.
- Es nutzt eine mehr als ein Jahr alte Schwachstelle aus (CVE-2022-21894), um UEFI Secure Boot zu umgehen und Persistenz für das Bootkit einzurichten. Dies ist der erste öffentlich bekannte Missbrauch dieser Sicherheitsanfälligkeit.
- Obwohl die Schwachstelle in Microsofts Update vom Januar 2022 behoben wurde, ist ihre Ausnutzung weiterhin möglich, da die betroffenen, gültig unterschrieben Binärdateien wurden immer noch nicht hinzugefügt UEFI-Widerrufsliste. BlackLotus nutzt dies aus und bringt seine eigenen Kopien von legitimen – aber anfälligen – Binärdateien in das System ein, um die Schwachstelle auszunutzen.
- Es ist in der Lage, Betriebssystem-Sicherheitsmechanismen wie BitLocker, HVCI und Windows Defender zu deaktivieren.
- Nach der Installation besteht das Hauptziel des Bootkits darin, einen Kernel-Treiber (der unter anderem das Bootkit vor dem Entfernen schützt) und einen HTTP-Downloader bereitzustellen, der für die Kommunikation mit dem C&C verantwortlich ist und in der Lage ist, zusätzliche Benutzermodus- oder Kernelmodus-Nutzlasten zu laden .
- BlackLotus wird mindestens seit dem 6. Oktober in Untergrundforen beworben und verkauftth, 2022. In diesem Blogpost präsentieren wir Beweise dafür, dass das Bootkit echt ist und die Werbung nicht nur ein Betrug ist.
- Interessanterweise fahren einige der von uns analysierten BlackLotus-Installationsprogramme nicht mit der Bootkit-Installation fort, wenn der kompromittierte Host eine der folgenden Locales verwendet:
- Rumänisch (Moldawien), ro-MD
- Russisch (Moldawien), ru-MD
- Russisch (Russland), ru-RU
- Ukrainisch (Ukraine) , uk-UA
- Weißrussisch (Weißrussland), be-BY
- Armenisch (Armenien), hy-AM
- Kasachisch (Kasachstan), kk-KZ
Die Zeitleiste einzelner Ereignisse im Zusammenhang mit BlackLotus ist in Abbildung 1 dargestellt.
Wie bereits erwähnt, wird das Bootkit seit mindestens dem 6. Oktober in Underground-Foren verkauftth, 2022. Zu diesem Zeitpunkt konnten wir anhand unserer Telemetrie den genauen Vertriebskanal nicht identifizieren, der verwendet wurde, um das Bootkit für die Opfer bereitzustellen. Die geringe Anzahl von BlackLotus-Samples, die wir sowohl aus öffentlichen Quellen als auch aus unserer Telemetrie erhalten konnten, lässt uns glauben, dass noch nicht viele Bedrohungsakteure begonnen haben, es zu verwenden. Aber bis zum Widerruf der anfälligen Bootloader, von denen BlackLotus abhängig ist, befürchten wir, dass sich die Dinge schnell ändern werden, sollte dieses Bootkit in die Hände der bekannten Crimeware-Gruppen gelangen, basierend auf der einfachen Bereitstellung des Bootkits und den Fähigkeiten der Crimeware-Gruppen zur Verbreitung Malware mit ihren Botnets.
Ist das wirklich BlackLotus?
Es gibt mehrere Artikel oder Posts, die Informationen über BlackLotus zusammenfassen (hier, hier und hier und viele mehr…), alles basierend auf den Informationen, die der Bootkit-Entwickler in Underground-Hacking-Foren bereitgestellt hat. Bisher hat niemand diese Behauptungen bestätigt oder widerlegt.
Hier ist unsere Zusammenfassung der Behauptungen aus den verfügbaren Veröffentlichungen im Vergleich zu dem, was wir beim Reverse Engineering der Bootkit-Beispiele entdeckt haben:
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass es über eine integrierte Secure Boot-Umgehung verfügt. Das Hinzufügen anfälliger Treiber zur UEFI-Sperrliste ist derzeit nicht möglich, da die Schwachstelle Hunderte von Bootloadern betrifft, die noch heute verwendet werden. ✅
- Richtig: Es nutzt aus CVE-2022-21894 um Secure Boot zu unterbrechen und Persistenz auf UEFI-Secure-Boot-fähigen Systemen zu erreichen. Verwundbare Treiber, die es verwendet, werden immer noch nicht widerrufen dbx, zum Zeitpunkt des Schreibens.
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass das Bootkit einen eingebauten Ring0/Kernel-Schutz gegen Entfernen hat. ✅
- Richtig: Sein Kernel-Treiber schützt Handles, die zu seinen Dateien auf der EFI-Systempartition (ESP) gehören, vor dem Schließen. Als zusätzliche Schutzebene werden diese Handles kontinuierlich überwacht und ein Blue Screen Of Death (BSOD) ausgelöst, wenn eines dieser Handles geschlossen wird, wie in beschrieben Schützen von Bootkit-Dateien auf dem ESP vor dem Entfernen .
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass es mit Anti-Virtual-Machine (Anti-VM), Anti-Debug- und Code-Obfuscation-Funktionen ausgestattet ist, um Malware-Analyseversuche zu blockieren. ✅
- Richtig: Es enthält verschiedene Anti-VM-, Anti-Debug- und Verschleierungstechniken, um die Replikation oder Analyse zu erschweren. Wir sprechen hier jedoch definitiv nicht von irgendwelchen bahnbrechenden oder fortschrittlichen Anti-Analyse-Techniken, da sie mit wenig Aufwand leicht überwunden werden können.
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass sein Zweck darin besteht, als HTTP-Downloader zu fungieren. ✅
- True: Seine letzte Komponente fungiert als HTTP-Downloader, wie in beschrieben HTTP-Downloader Abschnitt
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass der HTTP-Downloader läuft unter dem SYSTEM-Konto innerhalb eines legitimen Prozesses. ✅
- True: Sein HTTP-Downloader läuft innerhalb der winlogon.exe Kontext verarbeiten.
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass dies der Fall ist ein winziges Bootkit mit einer On-Disk-Größe von nur 80 kB. ✅
- Richtig: Samples, die wir bekommen konnten, sind wirklich um die 80 kB groß.
- Die Werbung von BlackLotus in Hacking-Foren behauptet, dass dies möglich ist Deaktivieren Sie integrierte Windows-Sicherheitsmechanismen wie HVCI, Bitlocker, Windows Defender und umgehen Sie die Benutzerkontensteuerung (UAC). ✅
Basierend auf diesen Fakten glauben wir mit großer Zuversicht, dass das Bootkit, das wir in freier Wildbahn entdeckt haben, das BlackLotus UEFI-Bootkit ist.
Angriffsübersicht
Ein vereinfachtes Schema der BlackLotus-Kompromisskette ist in Abbildung 2 dargestellt. Sie besteht aus drei Hauptteilen:
- Es beginnt mit der Ausführung eines Installationsprogramms (Schritt 1 in Abbildung 2), das für die Bereitstellung der Bootkit-Dateien auf der EFI-Systempartition, die Deaktivierung von HVCI und BitLocker und den anschließenden Neustart des Computers verantwortlich ist.
- Nach dem ersten Neustart, Ausnutzung von CVE-2022-21894 und anschließender Einschreibung der Angreifer Maschineninhaberschlüssel (MOK) auftritt, um Persistenz auch auf Systemen mit aktiviertem UEFI Secure Boot zu erreichen. Die Maschine wird dann erneut neu gestartet (Schritte 2–4 in Abbildung 2).
- Bei allen nachfolgenden Bootvorgängen wird das selbstsignierte UEFI-Bootkit ausgeführt und stellt sowohl seinen Kerneltreiber als auch die Nutzlast im Benutzermodus, den HTTP-Downloader, bereit. Zusammen sind diese Komponenten in der Lage, zusätzliche Benutzermodus- und Treiberkomponenten vom C&C-Server herunterzuladen und auszuführen und das Bootkit vor dem Entfernen zu schützen (Schritte 5–9 in Abbildung 2).
Interessante Artefakte
Obwohl wir glauben, dass dies das BlackLotus UEFI-Bootkit ist, haben wir in den von uns analysierten Proben keinen Hinweis auf diesen Namen gefunden. Stattdessen ist der Code voller Verweise auf die Higurashi, wenn sie weinen Anime-Serien, zum Beispiel in einzelnen Komponentennamen, wie z higurashi_installer_uac_module.dll und higurashi_kernel.sys, und auch im selbstsignierten Zertifikat, das zum Signieren der Bootkit-Binärdatei verwendet wird (siehe Abbildung 3).
Darüber hinaus entschlüsselt der Code verschiedene Zeichenfolgen, die Nachrichten des BlackLotus-Autors enthalten (wie in Abbildung 4 gezeigt – beachten Sie, dass hasherezade ist ein bekannter Forscher und Autor verschiedener Malware-Analyse-Tools), oder einfach nur einige zufällige Zitate aus verschiedenen Songs, Spielen oder Serien.
Installationsprozess
Wir beginnen mit der Analyse der BlackLotus-Installer. Das Bootkit scheint in Form von Installern verteilt zu werden, die in zwei Versionen erhältlich sind – offline und online. Der Unterschied zwischen diesen beiden besteht in der Art und Weise, wie sie legitime (aber anfällige) Windows-Binärdateien erhalten, die später zum Umgehen von Secure Boot verwendet werden.
- In Offline-Versionen sind Windows-Binärdateien in das Installationsprogramm eingebettet
- In Online-Versionen werden Windows-Binärdateien direkt aus dem Microsoft-Symbolspeicher heruntergeladen. Bisher haben wir gesehen, dass die folgenden Windows-Binärdateien vom BlackLotus-Bootkit missbraucht wurden:
- https://msdl.microsoft.com/download/symbols/bootmgfw.efi/7144BCD31C0000/bootmgfw.efi
- https://msdl.microsoft.com/download/symbols/bootmgr.efi/98B063A61BC000/bootmgr.efi
- https://msdl.microsoft.com/download/symbols/hvloader.efi/559F396411D000/hvloader.efi
Das Ziel des Installationsprogramms ist klar – es ist für die Deaktivierung von Windows-Sicherheitsfunktionen wie BitLocker-Festplattenverschlüsselung und HVCI sowie für die Bereitstellung mehrerer Dateien, einschließlich des schädlichen Bootkits, auf dem ESP verantwortlich. Nach Abschluss wird der kompromittierte Computer neu gestartet, damit die abgelegten Dateien ihre Arbeit erledigen können – um sicherzustellen, dass das selbstsignierte UEFI-Bootkit bei jedem Systemstart unbemerkt ausgeführt wird, unabhängig vom UEFI Secure Boot-Schutzstatus.
Schritt 0 – Initialisierung und (potenzielle) Erhöhung
Wenn das Installationsprogramm ausgeführt wird, prüft es, ob es über ausreichende Berechtigungen verfügt (mindestens Administrator erforderlich), um den Rest der Dateien auf dem ESP bereitzustellen und andere Aktionen auszuführen, die einen erhöhten Prozess erfordern – wie das Deaktivieren von HVCI oder das Deaktivieren von BitLocker. Wenn dies nicht der Fall ist, versucht es, es zu erhöhen, indem es das Installationsprogramm erneut ausführt, indem es die UAC-Bypass-Methode verwendet, die hier im Detail beschrieben wird: UAC-Umgehung über den Programmkompatibilitätsassistenten.
Mit den erforderlichen Rechten fährt es fort, überprüft den UEFI Secure Boot-Status, indem es den Wert der SecureBoot UEFI-Variablen mithilfe einer verfügbaren Windows-API-Funktion liest, und ermittelt die Windows-Version durch direkten Zugriff auf die KUSER_SHARED_DATA Strukturfelder NtMajorVersion und NtMinorVersion in Erinnerung. Dies geschieht, um zu entscheiden, ob das Umgehen von UEFI Secure Boot erforderlich ist, um das Bootkit auf dem System des Opfers bereitzustellen (da die Unterstützung für Secure Boot erstmals in Windows 8 hinzugefügt wurde und möglicherweise nicht auf einem bestimmten Computer aktiviert ist).
Bevor Sie mit den nächsten Schritten fortfahren, benennt es den legitimen Windows-Start-Manager um (bootmgfw.efi) binär befindet sich in der ESP:EFIMicrosoftBoot Verzeichnis zu winload.efi. Diese umbenannt bootmgfw.efi Backup wird später vom Bootkit verwendet, um das Betriebssystem zu starten oder um die ursprüngliche Boot-Kette wiederherzustellen, wenn der Befehl „uninstall“ vom C&C-Server empfangen wird – mehr dazu im C&C-Kommunikation .
Schritt 1 – Bereitstellen von Dateien
Wenn UEFI Secure Boot aktiviert ist, fährt das Installationsprogramm damit fort, mehrere Dateien in die ESP:/EFI/Microsoft/Boot/ und ESP:/system32/ Verzeichnisse. Während Ersteres ein Standardverzeichnis ist, das von Windows verwendet wird, ist Letzteres ein vom Installationsprogramm erstellter benutzerdefinierter Ordner.
Eine Liste der vom Installationsprogramm gelöschten Dateien mit einer kurzen Erläuterung der Rolle jeder Datei in der Ausführungskette finden Sie in Tabelle 1. Wir werden später im Detail erklären, wie die Ausführungskette funktioniert; Beachten Sie jetzt nur, dass mehrere legitime, von Microsoft signierte Dateien zusammen mit den bösartigen gelöscht werden.
Tabelle 1. Vom BlackLotus-Installationsprogramm bereitgestellte Dateien auf Systemen mit aktiviertem UEFI Secure Boot
Mappe | Dateiname | Beschreibung |
---|---|---|
ESP:EFIMicrosoftBoot | grubx64.efi | BlackLotus Bootkit, bösartige selbstsignierte UEFI-Anwendung. |
bootload.efi | Legitim von Microsoft signiert Unterlegscheibe binär (vorläufiger Name, später ersetzt bootmgfw.efi nachdem CVE-2022-21894 Ausbeutung). | |
bootmgfw.efi | Legitim, aber verwundbar (CVE-2022-21894) Windows Boot Manager-Binärdatei, eingebettet in das Installationsprogramm oder direkt aus dem Microsoft Symbol Store heruntergeladen. | |
BCD | Gewohnheit der Angreifer Boot Configuration Data (BCD) Speicher verwendet in CVE-2022-21894 Verwertungskette. | |
BCDR | Sicherung des ursprünglichen BCD-Speichers des Opfers. | |
ESP:system32 | hvloader.efi | Legitim, aber verwundbar (CVE-2022-21894) Windows Hypervisor Loader-Binärdatei, eingebettet in ein Installationsprogramm oder direkt aus dem Microsoft Symbol Store heruntergeladen. |
bootmgr.efi | Legitim, aber verwundbar (CVE-2022-21894) Windows Boot Manager-Binärdatei, eingebettet in ein Installationsprogramm oder direkt aus dem Microsoft Symbol Store heruntergeladen. | |
mcupdate_AuthenticAMD.dll | Schädliche selbstsignierte native PE-Binärdatei. Diese Datei wird von der ausgeführt hvloader.efi nach erfolgreicher Ausnutzung von CVE-2022-21894 (auf Systemen mit AMD-CPU). | |
mcupdate_GenuineIntel.dll | Schädliche selbstsignierte native PE-Binärdatei. Diese Datei wird von der ausgeführt hvloader.efi nach erfolgreich CVE-2022-21894 Exploitation (auf Systemen mit Intel-CPU). | |
BCD | Das benutzerdefinierte BCD von Angreifern, das in verwendet wird CVE-2022-21894 Verwertungskette. |
In Fällen, in denen das Opfer eine Windows-Version ausführt, die UEFI Secure Boot nicht unterstützt, oder in dem Fall, in dem es deaktiviert ist, ist die Bereitstellung recht einfach. Das Einzige, was zum Bereitstellen des schädlichen Bootkits erforderlich ist, ist das Ersetzen des vorhandenen Windows-Start-Managers (bootmgfw.efi) binär in der ESP:EFIMicrosoftBoot Verzeichnis, mit der eigenen selbstsignierten bösartigen UEFI-Anwendung der Angreifer. Da UEFI Secure Boot deaktiviert ist (und daher keine Integritätsprüfung während des Bootvorgangs durchgeführt wird), ist eine Ausnutzung nicht erforderlich und die UEFI-Firmware führt einfach den schädlichen Bootmanager aus, ohne Sicherheitsverletzungen zu verursachen.
Schritt 2 – Hypervisor-geschützte Codeintegrität (HVCI) deaktivieren
Um später benutzerdefinierten unsignierten Kernelcode ausführen zu können, muss der Installer dies sicherstellen HVCI ist auf dem System deaktiviert. Einer unserer ESET-Kollegen hat 2022 einen sehr informativen Blogpost zu diesem Thema geschrieben (Signierte Kernel-Treiber – Unbewachtes Gateway zum Windows-Kern):
Virtualisierungsbasierte Sicherheit (VBS) bietet mehrere Schutzfunktionen, wobei die bekannteste die Hypervisor-Protected Code Integrity (HVCI) ist, die auch als eigenständige Funktion verfügbar ist. HVCI erzwingt die Codeintegrität im Kernel und lässt nur die Ausführung von signiertem Code zu. Es verhindert effektiv, dass anfällige Treiber missbraucht werden, um nicht signierten Kernel-Code auszuführen oder bösartige Treiber zu laden (unabhängig von der verwendeten Exploit-Methode), und es scheint, dass Malware, die anfällige Treiber missbraucht, um bösartigen Code zu laden, eine davon war Hauptgründe für die Implementierung dieser Funktion durch Microsoft.
Wie in Abbildung 5 gezeigt, legt das Installationsprogramm zum Deaktivieren dieser Funktion den Registrierungswert Enabled unter fest HypervisorEnforcedCodeIntegrity Registrierungsschlüssel auf Null.
Schritt 3 – BitLocker deaktivieren
Das nächste vom Installer deaktivierte Feature ist BitLocker Drive Encryption. Der Grund dafür ist, dass BitLocker in Kombination mit verwendet werden kann Trusted Platform Module (TPM) um sicherzustellen, dass verschiedene Startdateien und Konfigurationen, einschließlich Secure Boot, nicht manipuliert wurden, seit die BitLocker-Laufwerkverschlüsselung auf dem System konfiguriert wurde. In Anbetracht der Tatsache, dass das Installationsprogramm die Windows-Startkette auf einem kompromittierten Computer ändert, würde das Belassen von BitLocker auf Systemen mit TPM-Unterstützung beim nächsten Start zu einem BitLocker-Wiederherstellungsbildschirm führen und das Opfer darauf hinweisen, dass das System kompromittiert wurde.
Um diesen Schutz zu deaktivieren, führt das BlackLotus-Installationsprogramm Folgendes aus:
- geht durch alle Bände unter der RootCIMV2SecurityMicrosoftVolumeEncryption WMI-Namespace und überprüft deren Schutzstatus durch Aufrufen der GetProtectionStatus Methode der Win32_EncryptableVolume WMI-Klasse
- für diejenigen, die durch BitLocker geschützt sind, nennt es die KeyProtectors deaktivieren Methode mit der Anzahl deaktivieren Parameter auf Null gesetzt, was bedeutet, dass der Schutz ausgesetzt wird, bis er manuell aktiviert wird
Wenn die erforderlichen Schutzmaßnahmen deaktiviert und alle Dateien bereitgestellt sind, registriert sich das Installationsprogramm, um beim nächsten Systemneustart gelöscht zu werden, und startet den Computer neu, um mit der Ausnutzung von CVE-2022-21894 fortzufahren.
Umgehen von Secure Boot und Einrichten von Persistenz
In diesem Teil sehen wir uns genauer an, wie BlackLotus Persistenz auf Systemen mit aktiviertem UEFI Secure Boot erreicht. Da die Ausführungskette, die wir gleich beschreiben, ziemlich komplex ist, werden wir zuerst grundlegende Prinzipien erklären und dann tiefer in technische Details eintauchen.
Kurz gesagt besteht dieser Prozess aus zwei Hauptschritten:
- Ausnutzen von CVE-2022-21894, um die Secure Boot-Funktion zu umgehen und das Bootkit zu installieren. Dies ermöglicht die Ausführung beliebigen Codes in frühen Boot-Phasen, in denen die Plattform noch im Besitz der Firmware ist und die Funktionen der UEFI Boot Services noch verfügbar sind. Dadurch können Angreifer viele Dinge tun, die sie auf einem Computer mit aktiviertem UEFI Secure Boot ohne physischen Zugriff nicht tun sollten, z. B. das Ändern von NVRAM-Variablen nur für Boot-Dienste. Und das machen sich Angreifer zunutze, um im nächsten Schritt eine Persistenz für das Bootkit einzurichten. Weitere Informationen zur Verwertung finden Sie im Ausnutzen von CVE-2022-21894 .
- Festlegen der Persistenz durch Schreiben eines eigenen MOK in die MokList, NVRAM-Variable nur für Boot-Dienste. Auf diese Weise kann es eine legitime von Microsoft signierte verwenden Unterlegscheibe zum Laden seiner selbstsignierten (signiert durch den privaten Schlüssel, der zu dem Schlüssel gehört, in den geschrieben wurde MokList) UEFI-Bootkit, anstatt die Schwachstelle bei jedem Start auszunutzen. Mehr dazu im Bootkit-Persistenz .
Um die detaillierte Analyse in den nächsten beiden Abschnitten zu vereinfachen, folgen wir den Schritten, die im Ausführungsdiagramm, Abbildung 6, dargestellt sind.
Ausnutzen von CVE-2022-21894
Um Secure Boot zu umgehen, verwendet BlackLotus die Baton Drop (CVE-2022-21894): Schwachstelle zur Umgehung der Sicherheitsfunktion für den sicheren Start. Trotz ihrer großen Auswirkungen auf die Systemsicherheit erhielt diese Schwachstelle nicht so viel öffentliche Aufmerksamkeit, wie sie verdient hätte. Obwohl die Schwachstelle in Microsofts Update vom Januar 2022 behoben wurde, ist ihre Ausnutzung immer noch möglich, da die betroffenen Binärdateien immer noch nicht hinzugefügt wurden UEFI-Widerrufsliste. Infolgedessen können Angreifer ihre eigenen Kopien anfälliger Binärdateien auf die Computer ihrer Opfer bringen, um diese Schwachstelle auszunutzen und Secure Boot auf aktuellen UEFI-Systemen zu umgehen.
Darüber hinaus ist seit August 2022 ein Proof of Concept (PoC)-Exploit für diese Schwachstelle öffentlich verfügbar. In Anbetracht des Datums der ersten BlackLotus VirusTotal-Einreichung (siehe Abbildung 1) hat der Malware-Entwickler den verfügbaren PoC wahrscheinlich nur an seine Bedürfnisse angepasst, ohne jedes Bedürfnis nach tiefem Verständnis dafür, wie dieser Exploit funktioniert.
Beginnen wir mit einer kurzen Einführung in die Schwachstelle, wobei wir hauptsächlich die wichtigsten Punkte aus der zusammen mit der veröffentlichten Beschreibung zusammenfassen PoC auf GitHub:
- Betroffene Windows-Startanwendungen (wie z bootmgr.efi, hvloader.efi, winload.efi…) ermöglichen das Entfernen einer serialisierten Secure Boot-Richtlinie aus dem Speicher – bevor sie von der Anwendung geladen wird – mithilfe von Speicher abschneiden BCD-Startoption.
- Dadurch können Angreifer andere gefährliche BCD-Optionen wie z Bootdebug, Testsignierung, oder nointegritychecks, wodurch Secure Boot gebrochen wird.
- Es gibt verschiedene Möglichkeiten, diese Schwachstelle auszunutzen – drei davon sind im PoC-Repository veröffentlicht.
- Als Beispiel zeigt einer der PoCs, wie er ausgenutzt werden kann, um das legitim zu machen hvloader.efi Laden Sie eine beliebige, selbstsignierte mcupdate_ .dll binär (wo kann sein GenuineIntel or Authentisch AMD, basierend auf der CPU der Maschine.).
Nun fahren wir mit der Beschreibung fort, wie BlackLotus diese Schwachstelle ausnutzt (Nummern in der Liste unten beschreiben die entsprechenden Schritte in Abbildung 6):
- Nachdem das Installationsprogramm den Computer neu gestartet hat, fährt die UEFI-Firmware mit dem Laden einer ersten Startoption fort. Bei Windows-Systemen ist die erste Startoption standardmäßig bootmgfw.efi der sich in der ESP:/EFI/Microsoft/Boot Ordner auf dem ESP. Dieses Mal, anstatt die des ursprünglichen Opfers hinzurichten bootmgfw.efi (die zuvor umbenannt wurde winload.efi durch das Installationsprogramm), führt die Firmware die anfällige aus – bereitgestellt durch das Installationsprogramm.
- Nach der bootmgfw.efi ausgeführt wird, lädt es die BCD-Startoptionen, die zuvor vom Installationsprogramm geändert wurden. Abbildung 7 zeigt einen Vergleich des legitimen BCD und des modifizierten.
- Wie Sie in Abbildung 7 sehen können (grün unterstrichener Pfad), würde der legitime Windows-Start-Manager normalerweise den Windows-OS-Loader laden (WINDOWSsystem32winload.efi) als Standardstartanwendung. Aber diesmal geht es mit dem modifizierten BCD weiter mit dem Laden der Schwachstellen ESP:system32bootmgr.efi, Mit dem Vermeiden Sie wenig Speicher BCD-Element auf Wert gesetzt 0x10000000 und für Benutzerdefiniert: 22000023 BCD-Element, das auf die BCD eines anderen Angreifers verweist, die darin gespeichert ist ESP:system32bcd. Die Erläuterung zur Verwendung dieser Elemente finden Sie in der veröffentlichten PoC:
Der Angreifer muss sicherstellen, dass die serialisierte Secure Boot Policy über einer bekannten physischen Adresse zugewiesen wird.
[...]
Das Vermeiden Sie wenig Speicher -Element kann verwendet werden, um sicherzustellen, dass alle Zuweisungen von physischem Speicher über einer angegebenen physischen Adresse liegen.
• Seit Windows 10 ist dieses Element nicht zulässig, wenn VBS aktiviert ist, aber da es während der Initialisierung der Startanwendung verwendet wird, bevor die serialisierte Secure Boot-Richtlinie aus dem Speicher gelesen wird, wird geladen Bootmgr und Angeben eines benutzerdefinierten BCD-Pfads (mithilfe von bcdfilepath Element aka Benutzerdefiniert: 22000023) kann verwendet werden, um dies zu umgehen.
- Im nächsten Schritt wird die ausgeführt ESP:system32bootmgr.efi lädt das zusätzliche BCD, das sich darin befindet ESP:system32bcd. Der geparste Inhalt dieser zusätzlichen BCD ist in Abbildung 8 dargestellt.
- Aufgrund von Optionen, die aus der in Abbildung 8 gezeigten BCD-Datei geladen wurden, bootmgr.efi fährt mit dem Laden einer anderen anfälligen Windows-Startanwendung fort, die vom Installationsprogramm bereitgestellt wird – ESP:system32hvloader.efi – das ist der Windows Hypervisor Loader. Noch wichtiger ist, dass zusätzliche BCD-Optionen in derselben BCD-Datei angegeben werden (siehe Abbildung 8):
- Speicher abschneiden mit Wert auf gesetzt 0x10000000
- nointegritychecks auf Ja setzen
- und Testsignierung, ebenfalls auf Ja gesetzt
Und hier passiert die Magie. Da die serialisierte Richtlinie für sicheren Start in die oben genannten physischen Adressen geladen werden sollte 0x10000000 (durch Vermeiden Sie wenig Speicher in vorherigen Schritten verwendet), unter Angabe der Speicher abschneiden -Element wird es effektiv entfernen – somit den sicheren Start unterbrechen und die Verwendung gefährlicher BCD-Optionen wie nointegritychecks or Testsignierung. Durch die Verwendung dieser Optionen können die Angreifer die hvloader.efi ihren eigenen, selbstsignierten Code ausführen.
- Dazu der gleiche Trick wie in der beschrieben PoC verwendet wird: während seiner Ausführung die legitime hvloader.efi lädt und führt die aus mcupdate_{GenuineIntel| AuthenticAMD}.dll native Binärdatei aus der : system32 Verzeichnis. Kommentierter Hex-Rays dekompilierter Code der Funktion aus hvloader.efi verantwortlich für das Laden dieser mcupdate*.dll-Binärdatei ist in Abbildung 9 dargestellt hvloader.efi würde normalerweise diese legitim laden mcupdate*.dll Binär aus der:Windowssystem32, aber dieses Mal sind die böswilligen Angreifer selbstsigniert mcupdate*.dll wird von einem benutzerdefinierten ESP-Verzeichnis ausgeführt, das zuvor vom Installationsprogramm erstellt wurde (ESP:system32). Es wird durch die BCD-Optionen verursacht Gerät und System Root wird im BCD aus Abbildung 8 verwendet und gibt das aktuelle Gerät als an Stiefel – also das ESP – und auch die Angabe von SystemRoot als Root ()-Verzeichnis auf diesem Gerät.
- Jetzt, als die Angreifer selbst unterzeichneten mcupdate*.dll geladen und ausgeführt wird, fährt es mit der Ausführung der letzten Komponente in dieser Kette fort – einem eingebetteten MokInstaller (UEFI-Anwendung) – siehe Abbildung 10 für Details dazu, wie es gemacht wird.
Bootkit-Persistenz
Jetzt kann der MokInstaller mit der Einrichtung der Persistenz fortfahren, indem er den MOK des Angreifers in die NVRAM-Variable einschreibt und die legitime, von Microsoft signierte Unterlegscheibe binär als Standard-Bootloader. Bevor wir zu den Details übergehen, ein wenig Theorie darüber Unterlegscheibe und MOK.
Unterlegscheibe ist ein UEFI-Bootloader der ersten Stufe, der von Linux-Entwicklern entwickelt wurde, damit verschiedene Linux-Distributionen mit UEFI Secure Boot funktionieren. Es ist eine einfache Anwendung und ihr Zweck ist es, eine andere Anwendung zu laden, zu überprüfen und auszuführen – bei Linux-Systemen ist es normalerweise der GRUB-Bootloader. Es funktioniert so, dass Microsoft nur a signiert Unterlegscheibeund der Unterlegscheibe kümmert sich um den Rest – es kann die Integrität eines Bootloaders der zweiten Stufe überprüfen, indem es Schlüssel von verwendet db UEFI-Variable und bettet auch eine eigene Liste von „erlaubten“ oder „widerrufenen“ Schlüsseln oder Hashes ein, um sicherzustellen, dass Komponenten, denen sowohl Plattform- als auch Shim-Entwickler (z. B. Canonical, RedHat usw.) vertrauen, ausgeführt werden dürfen. Zusätzlich zu diesen Listen Unterlegscheibe ermöglicht auch die Verwendung einer vom Benutzer verwalteten externen Schlüsseldatenbank, die als MOK-Liste bekannt ist. Abbildung 11 zeigt schön, wie UEFI Secure Boot mit MOK funktioniert.
Diese MOK-Datenbank wird in einer Nur-Boot-NVRAM-Variable mit dem Namen gespeichert MokList. Ohne eine Schwachstelle wie die oben beschriebene auszunutzen, ist physischer Zugriff erforderlich, um sie auf einem System mit aktiviertem UEFI Secure Boot zu ändern (es ist nur während des Bootens verfügbar, bevor der OS-Loader die UEFI Boot Services-Funktion aufruft ExitBootServices). Durch Ausnutzen dieser Schwachstelle können Angreifer jedoch UEFI Secure Boot umgehen und ihren eigenen selbstsignierten Code ausführen, bevor sie aufrufen ExitBootServices, sodass sie problemlos ihren eigenen Schlüssel registrieren können (indem sie die MokList NVRAM-Variable), um den Shim dazu zu bringen, jede Anwendung auszuführen, die mit diesem registrierten Schlüssel signiert ist, ohne eine Sicherheitsverletzung zu verursachen.
- Fahren Sie fort mit der Beschreibung des Flusses von Abbildung 6 – Schritt 8… Die MokInstaller UEFI-Anwendung fährt mit der Einrichtung der Persistenz für das BlackLotus UEFI-Bootkit fort und deckt die Spuren der Ausbeutung ab durch:
- Das Wiederherstellen des ursprünglichen BCD-Speichers des Opfers aus der vom Installationsprogramm erstellten Sicherung und das Ersetzen der efi durch das legitime, von Microsoft signierte Shim, das zuvor auf die abgelegt wurde ESP:system32bootload.efi vom Installateur.
- Erstellen einer MokList NVRAM-Variable, die das selbstsignierte öffentliche Schlüsselzertifikat des Angreifers enthält. Beachten Sie, dass diese Variable genauso formatiert ist wie alle anderen UEFI-Signaturdatenbankvariablen (z. B. db oder dbx) und aus null oder mehr Signaturlisten des Typs bestehen kann EFI_SIGNATURE_LIST – wie in der UEFI-Spezifikation definiert.
- Löschen aller an der Ausnutzung beteiligten Dateien aus dem Verzeichnis der Angreifer ESP:system32 -Ordner.
- Am Ende startet es den Computer neu, damit der bereitgestellte Shim das selbstsignierte Bootkit ausführt, auf das abgelegt wurde EFIMicrosoftBootgrubx64.efi vom Installateur (grubx64.efi ist normalerweise der Standard-Bootloader der zweiten Stufe, der von a ausgeführt wird Unterlegscheibe auf x86-64-Systemen).
Code, der die in den letzten beiden Schritten beschriebenen Aktionen ausführt, ist in Abbildung 12 dargestellt.
BlackLotus UEFI-Bootkit
Sobald die Persistenz konfiguriert ist, wird das BlackLotus-Bootkit bei jedem Systemstart ausgeführt. Das Ziel des Bootkits ist die Bereitstellung eines Kernel-Treibers und einer letzten Benutzermodus-Komponente – des HTTP-Downloaders. Während seiner Ausführung versucht es, zusätzliche Windows-Sicherheitsfunktionen – Virtualization-Based Security (VBS) und Windows Defender – zu deaktivieren, um die Chance auf eine erfolgreiche Bereitstellung und einen heimlichen Betrieb zu erhöhen. Bevor wir zu den Details darüber springen, wie das gemacht wird, fassen wir die Grundlagen über den Kernel-Treiber und den HTTP-Downloader zusammen:
- Der Kernel-Treiber ist dafür verantwortlich
- Bereitstellung der nächsten Komponente der Kette – eines HTTP-Downloaders.
- Den Lader im Falle einer Beendigung am Leben erhalten.
- Schützen von Bootkit-Dateien vor dem Entfernen aus ESP.
- Ausführen zusätzlicher Kernel-Payloads, wenn dies vom HTTP-Downloader angewiesen wird.
- Deinstallieren des Bootkits, falls vom HTTP-Downloader dazu aufgefordert.
- Der HTTP-Downloader ist verantwortlich für:
- Kommunikation mit seinem C&C.
- Ausführen von Befehlen, die von C&C empfangen wurden.
- Herunterladen und Ausführen von Payloads, die von C&C empfangen wurden (unterstützt sowohl Kernel-Payloads als auch User-Mode-Payloads).
Der vollständige Ausführungsablauf (vereinfacht) vom Installationsprogramm bis zum HTTP-Downloader ist in Abbildung 13 dargestellt. Wir beschreiben diese einzelnen Schritte ausführlicher im nächsten Abschnitt.
BlackLotus-Ausführungsablauf
Die Ausführungsschritte sind wie folgt (diese Schritte sind in Abbildung 13 dargestellt):
- Als ersten Schritt führt die UEFI-Firmware die standardmäßige Windows-Startoption aus, in der normalerweise die Datei gespeichert ist EFIMicrosoftBootbootmgfw.efi. Wie wir bereits beschrieben haben (Bootkit-Persistenzabschnitt, 8 .a), ersetzte die MokInstaller-Binärdatei diese Datei durch eine legitim signierte Unterlegscheibe.
- Wenn das Unterlegscheibe ausgeführt wird, liest es die MokList NVRAM-Variable und verwendet das Zertifikat, das zuvor von den Angreifern darin gespeichert wurde, um den Bootloader der zweiten Stufe zu verifizieren – das selbstsignierte BlackLotus UEFI-Bootkit, das sich darin befindet EFIMicrosoftBootgrubx64.efi.
- Wenn verifiziert, die Unterlegscheibe führt das Bootkit aus.
- Das Bootkit beginnt mit der Erstellung der Boot-only VbsPolicyDisable NVRAM-Variable. Wie beschrieben hier, wird diese Variable vom Ladeprogramm des Windows-Betriebssystems während des Startvorgangs ausgewertet, und falls definiert, werden die VBS-Kernfunktionen wie HVCI und Credential Guard nicht initialisiert.
- In den folgenden Schritten (5. a–e) fährt das Bootkit mit einem gemeinsamen Muster fort, das von UEFI-Bootkits verwendet wird. Es fängt die Ausführung von Komponenten ab, die im typischen Windows-Boot-Flow enthalten sind, wie z. B. Windows Boot Manager, Windows OS Loader und Windows OS-Kernel, und hängt einige ihrer Funktionen in den Speicher. Als Bonus versucht es auch, Windows Defender zu deaktivieren, indem einige seiner Treiber gepatcht werden. All dies, um die Ausführung seiner Nutzlast in den frühen Stadien des Startvorgangs des Betriebssystems zu erreichen und eine Erkennung zu vermeiden. Die folgenden Funktionen sind eingehakt oder gepatcht:
- ImgArchStartBootApplication in bootmgfw.efi or bootmgr.efi:
Diese Funktion wird häufig von Bootkits verwendet, um den Moment zu erfassen, in dem der Ladevorgang des Windows-Betriebssystems (winload.efi) in den Arbeitsspeicher geladen, aber noch nicht ausgeführt wurde – das ist der richtige Moment, um mehr In-Memory-Patching durchzuführen. - BlImgAllocateImageBuffer in winload.efi:
Wird verwendet, um dem bösartigen Kernel-Treiber einen zusätzlichen Speicherpuffer zuzuweisen. - OslArchTransferToKernel in winload.efi:
Eingehakt, um den Moment zu erfassen, in dem der Betriebssystemkernel und einige der Systemtreiber bereits in den Speicher geladen sind, aber noch nicht ausgeführt wurden – was ein perfekter Moment ist, um mehr In-Memory-Patching durchzuführen. Die unten genannten Treiber sind in diesem Hook gepatcht. Der Code dieses Hooks, der für die Suche nach geeigneten Treibern im Speicher verantwortlich ist, ist in Abbildung 14 dargestellt. - WdBoot.sys und WdFilter.sys:
BlackLotus patcht den Einstiegspunkt von WdBoot.sys und WdFilter.sys – den Windows Defender ELAM-Treiber bzw. den Windows Defender-Dateisystemfiltertreiber – um sofort zurückzukehren. - disk.sys:
Das Bootkit hakt den Einstiegspunkt der disk.sys Treiber, um den BlackLotus-Kerneltreiber in den frühen Stadien der Systeminitialisierung auszuführen.
- ImgArchStartBootApplication in bootmgfw.efi or bootmgr.efi:
- Als nächstes, wenn der OS-Kernel die ausführt disk.sys Einstiegspunkt des Treibers, springt der installierte Hook zum Einstiegspunkt des bösartigen Kernel-Treibers. Der Schadcode wiederum stellt das Original wieder her disk.sys Damit das System ordnungsgemäß funktioniert und wartet, bis die winlogon.exe Prozess beginnt.
- Wenn der böswillige Treiber erkennt, dass die winlogon.exe Wenn der Prozess gestartet wurde, fügt er die letzte Benutzermoduskomponente – den HTTP-Downloader – ein und führt sie aus.
Kernel-Treiber
Der Kernel-Treiber ist für vier Hauptaufgaben verantwortlich:
- Einfügen des HTTP-Downloaders in winlogon.exe und erneutes Einfügen, falls der Thread beendet wurde.
- Schützen von auf dem ESP bereitgestellten Bootkit-Dateien vor dem Entfernen.
- Unscharfschalten des Windows Defender-Prozesses im Benutzermodus MsMpEngine.exe.
- Kommunizieren mit dem HTTP-Downloader und ggf. Ausführen von Befehlen.
Schauen wir sie uns einzeln an.
HTTP-Downloader-Persistenz
Der Kernel-Treiber ist für die Bereitstellung des HTTP-Downloaders verantwortlich. Wenn der Treiber startet, wartet er, bis der Prozess namens winlogon.exe beginnt, bevor Sie andere Maßnahmen ergreifen. Sobald der Prozess gestartet ist, entschlüsselt der Treiber die HTTP-Downloader-Binärdatei und fügt sie ein winlogon.exeden Adressraum von und führt ihn in einem neuen Thread aus. Anschließend prüft der Treiber periodisch, ob der Thread noch läuft, und wiederholt die Injektion gegebenenfalls. Der HTTP-Downloader wird nicht bereitgestellt, wenn ein Kernel-Debugger vom Treiber erkannt wird.
Schützen von Bootkit-Dateien auf dem ESP vor dem Entfernen
Um die auf dem ESP befindlichen Dateien des Bootkits zu schützen, wendet der Kernel-Treiber einen einfachen Trick an. Es öffnet alle Dateien, die es schützen möchte, dupliziert und speichert ihre Handles und verwendet die ObSetHandleAttributes Kernel-Funktion, die die ProtectFromClose Fahne drin HandleFlags (OBJECT_HANDLE_FLAG_INFORMATION)-Parameter auf 1 – wodurch die Handles davor geschützt werden, von anderen Prozessen geschlossen zu werden. Dadurch werden alle Versuche vereitelt, die geschützten Dateien zu entfernen oder zu ändern. Die folgenden Dateien sind geschützt:
- ESP:EFIMicrosoftBootwinload.efi
- ESP:EFIMicrosoftBootbootmgfw.efi
- ESP:EFIMicrosoftBootgrubx64.efi
Sollte ein Benutzer versuchen, diese geschützten Dateien zu löschen, geschieht etwas wie das in Abbildung 15 gezeigte.
Falls der Benutzer oder die Sicherheitssoftware in der Lage wäre, das Schutz-Flag aufzuheben und die Handles zu schließen, überwacht der Kernel-Treiber diese als weitere Schutzebene kontinuierlich und verursacht einen BSOD, indem er den KeBugCheck(INVALID_KERNEL_HANDLE) funktionieren, wenn einer der Griffe nicht mehr vorhanden ist.
Unscharfschalten des Hauptprozesses von Windows Defender
Der Kernel-Treiber versucht auch, den Hauptprozess von Windows Defender zu deaktivieren – MsMpEng.exe. Dies geschieht, indem alle Token-Privilegien des Prozesses entfernt werden, indem die SE_PRIVILEGE_ENTFERNT jedem von ihnen zuschreiben. Infolgedessen sollte der Defender-Prozess seine Aufgabe – beispielsweise das Scannen von Dateien – nicht ordnungsgemäß ausführen können. Da diese Funktionalität jedoch schlecht implementiert ist, kann sie durch einen Neustart des unwirksam gemacht werden MsMpEng.exe verarbeiten.
Kommunikation mit dem HTTP-Downloader
Der Kernel-Treiber kann mit dem HTTP-Downloader kommunizieren, indem er ein benanntes Ereignis und einen benannten Abschnitt verwendet. Die Namen der verwendeten benannten Objekte werden basierend auf der MAC-Adresse des Netzwerkadapters (Ethernet) des Opfers generiert. Wenn ein Wert eines Oktetts kleiner als 16 ist, dann wird 16 dazu addiert. Das Format der generierten Objektnamen kann in verschiedenen Beispielen variieren. Als Beispiel in einem der von uns analysierten Beispiele für die MAC-Adresse 00-1c-0b-cd-ef-34, wären die generierten Namen:
- BaseNamedObjects101c1b: für den benannten Abschnitt (nur die ersten drei Oktette des MAC werden verwendet)
- BaseNamedObjectsZ01c1b: für das benannte Ereignis – wie für den Abschnitt, aber die erste Ziffer der MAC-Adresse wird durch ersetzt Z
Falls der HTTP-Downloader einen Befehl an den Kernel-Treiber weitergeben möchte, erstellt er einfach einen benannten Abschnitt, schreibt einen Befehl mit zugehörigen Daten hinein und wartet darauf, dass der Befehl vom Treiber verarbeitet wird, indem er ein benanntes Ereignis erstellt und wartet, bis der Treiber löst (oder signalisiert) es aus.
Der Treiber unterstützt die folgenden selbsterklärenden Befehle:
- Kernel-Treiber installieren
- Deinstallieren Sie BlackLotus
Einem aufmerksamen Leser dürfte hier die Schwachstelle von BlackLotus auffallen – obwohl das Bootkit seine Komponenten gegen das Entfernen schützt, lässt sich der Kernel-Treiber dazu verleiten, das Bootkit vollständig zu deinstallieren, indem er die oben genannten benannten Objekte erzeugt und ihm den Deinstallationsbefehl sendet.
HTTP-Downloader
Die letzte Komponente ist für die Kommunikation mit einem C&C-Server und die Ausführung aller von ihm empfangenen C&C-Befehle verantwortlich. Alle Payloads, die wir entdecken konnten, enthalten drei Befehle. Diese Befehle sind sehr einfach und wie der Abschnittsname andeutet, geht es hauptsächlich darum, zusätzliche Payloads mit verschiedenen Techniken herunterzuladen und auszuführen.
C&C-Kommunikation
Zur Kommunikation mit seinem C&C verwendet der HTTP-Loader das HTTPS-Protokoll. Alle für die Kommunikation notwendigen Informationen sind direkt in die Downloader-Binärdatei eingebettet – einschließlich der verwendeten C&C-Domänen und HTTP-Ressourcenpfade. Das Standardintervall für die Kommunikation mit einem C&C-Server ist auf eine Minute eingestellt, kann aber basierend auf den Daten von C&C geändert werden. Jede Kommunikationssitzung mit einem C&C beginnt mit dem Senden einer Beacon-HTTP-POST-Nachricht an ihn. In den von uns analysierten Beispielen können die folgenden HTTP-Ressourcenpfade in den HTTP-POST-Headern angegeben werden:
- /network/API/hpb_gate[.]php
- /API/hpb_gate[.]php
- /gate[.]php
- /hpb_gate[.]php
Den Beacon-Nachrichtendaten wird ein vorangestellt einchecken= Zeichenfolge, die grundlegende Informationen über die kompromittierte Maschine enthält – einschließlich einer benutzerdefinierten Maschinenkennung (als hwid), UEFI Secure Boot-Status, verschiedene Hardwareinformationen und ein Wert, der eine BlackLotus-Build-Nummer zu sein scheint. hwid wird aus der Maschinen-MAC-Adresse (Ethernet) und einer System-Volume-Seriennummer generiert. Das Format der Nachricht vor der Verschlüsselung ist in Abbildung 16 dargestellt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ “HWID”:“%s”, “Session”:“%lu”, “Owner”:“%s”, “IP”:“%s”, “OS”:“%s”, “Edition”:“%s”, “CPU”:“%s”, “GPU”:“%s”, “RAM”:“%lu”, “Integrity”:“%lu”, “SecureBoot”:“%i”, “Build”:“%lu” } |
Abbildung 16. Format der Beacon-Nachricht
Vor dem Senden der Nachricht an das C&C werden die Daten zunächst mit einem eingebetteten RSA-Schlüssel verschlüsselt und dann URL-sicher base64-codiert. Während der Analyse fanden wir zwei verschiedene RSA-Schlüssel, die in den Proben verwendet wurden. Ein Beispiel für eine solche HTTP-Beacon-Anforderung ist in Abbildung 17 dargestellt.
Daten, die vom C&C als Antwort auf die Beacon-Nachricht empfangen werden, sollten mit dem magischen Zwei-Byte-Wert HP beginnen; Andernfalls wird die Antwort nicht weiter verarbeitet. Wenn der magische Wert korrekt ist, werden die Daten nach dem magischen Wert mit 256-Bit-AES im CBC-Modus entschlüsselt, wobei der oben genannte HWID-String als Schlüssel verwendet wird.
Nach der Entschlüsselung ähnelt die Nachricht dem Beacon, einer Zeichenfolge im JSON-Format, und gibt eine Befehlskennung (als Typ) und verschiedene zusätzliche Parameter wie:
- C&C-Kommunikationsintervall
- Zu verwendende Ausführungsmethode
- Payload-Dateiname
- Payload-Typ basierend auf der Dateierweiterung (.sys, .exe, oder . Dll unterstützt)
- Authentifizierungstoken, das zum Anfordern des Herunterladens von Nutzdaten verwendet werden soll
- AES-Schlüssel, der zum Entschlüsseln der Nutzdaten verwendet wird
Alle unterstützten Befehle und ihre Beschreibungen sind in Tabelle 2 aufgeführt.
Tabelle 2. C&C-Befehle
Befehlstyp | Befehlsbeschreibung |
---|---|
1 | Laden Sie einen Kernel-Treiber, eine DLL oder eine normale ausführbare Datei herunter und führen Sie sie aus |
2 | Laden Sie eine Payload herunter, deinstallieren Sie das Bootkit und führen Sie die Payload aus, die wahrscheinlich zum Aktualisieren des Bootkits verwendet wird |
3 | Deinstallieren Sie das Bootkit und beenden Sie es |
In diesen Befehlen kann C&C angeben, ob die Payload vor der Ausführung zuerst auf die Festplatte abgelegt oder direkt im Arbeitsspeicher ausgeführt werden soll. In Fällen, in denen die Datei auf die Festplatte abgelegt wird, wird die ProgramData Ordner auf dem Betriebssystemvolume wird als Zielordner verwendet und Dateiname und Erweiterung werden vom C&C-Server angegeben. Beim Ausführen von Dateien direkt im Speicher svchost.exe wird als Injektionsziel verwendet. Wenn der C&C einen Befehl sendet, der die Zusammenarbeit des Kerneltreibers erfordert, oder ein Bediener Code im Kernelmodus ausführen möchte, wird der in beschriebene Mechanismus verwendet Kommunikation mit dem HTTP-Downloader Abschnitt verwendet wird.
Anti-Analyse-Tricks
Um die Erkennung und Analyse dieser Malware zu erschweren, versuchte der Autor, die Sichtbarkeit von Standarddateiartefakten wie Textzeichenfolgen, Importen oder anderen unverschlüsselten eingebetteten Daten auf ein Minimum zu beschränken. Nachfolgend finden Sie eine Zusammenfassung der verwendeten Techniken.
- Zeichenfolgen- und Datenverschlüsselung
- Alle in den Beispielen verwendeten Zeichenfolgen werden mit einer einfachen Chiffre verschlüsselt.
- Alle eingebetteten Dateien werden mit 256-Bit-AES im CBC-Modus verschlüsselt.
- Verschlüsselungsschlüssel für einzelne Dateien können von Beispiel zu Beispiel variieren.
- Zusätzlich zur AES-Verschlüsselung werden einige Dateien auch mit LZMS komprimiert.
- API-Auflösung nur zur Laufzeit
- In allen Beispielen (falls zutreffend) werden Windows-APIs immer ausschließlich während der Laufzeit aufgelöst und es werden Funktions-Hashes anstelle von Funktionsnamen verwendet, um die gewünschten API-Funktionsadressen im Speicher zu finden.
- In manchen Fällen direkt Systemaufruf Befehlsaufruf wird verwendet, um die gewünschte Systemfunktion aufzurufen.
- Netzwerk-Kommunikation
- Kommuniziert über HTTPS.
- Alle vom HTTP-Downloader an C&C gesendeten Nachrichten werden mit einem eingebetteten öffentlichen RSA-Schlüssel verschlüsselt.
- Alle Nachrichten, die vom C&C an den HTTP-Downloader gesendet werden, werden mit einem Schlüssel verschlüsselt, der aus der Computerumgebung des Opfers stammt, oder mit einem vom C&C bereitgestellten AES-Schlüssel.
- Anti-Debug- und Anti-VM-Tricks – falls verwendet, normalerweise direkt am Anfang des Einstiegspunkts platziert. Es werden nur gelegentliche Sandbox- oder Debugger-Erkennungstricks verwendet.
Minderung und Sanierung
- Zunächst einmal ist es natürlich ein Muss, Ihr System und sein Sicherheitsprodukt auf dem neuesten Stand zu halten – um die Chance zu erhöhen, dass eine Bedrohung gleich zu Beginn gestoppt wird, bevor sie eine Pre-OS-Persistenz erreichen kann.
- Dann ist der wichtigste Schritt, der unternommen werden muss, um die Verwendung bekannter anfälliger UEFI-Binärdateien zur Umgehung von UEFI Secure Boot zu verhindern, deren Widerruf in der UEFI-Widerrufsdatenbank (dbx) – auf einem Windows-System, dbx Updates sollten über Windows Updates verteilt werden.
- Das Problem ist, dass der Widerruf weit verbreiteter Windows UEFI-Binärdateien dazu führen kann, dass Tausende von veralteten Systemen, Wiederherstellungsabbildern oder Backups nicht mehr bootfähig sind – und der Widerruf daher oft zu lange dauert.
- Beachten Sie, dass der Widerruf der von BlackLotus verwendeten Windows-Anwendungen die Installation des Bootkits verhindern würde, aber da das Installationsprogramm den Bootloader des Opfers durch den widerrufenen ersetzen würde, könnte es dazu führen, dass das System nicht mehr bootfähig ist. Zur Wiederherstellung in diesem Fall würde eine Neuinstallation des Betriebssystems oder nur eine ESP-Wiederherstellung das Problem beheben.
- Wenn der Widerruf erfolgen würde, nachdem die BlackLotus-Persistenz festgelegt wurde, würde das Bootkit funktionsfähig bleiben, da es einen legitimen Shim mit benutzerdefiniertem MOK-Schlüssel für die Persistenz verwendet. In diesem Fall wäre die sicherste Abwehrlösung, Windows neu zu installieren und den registrierten MOK-Schlüssel des Angreifers mithilfe von zu entfernen mokutil Dienstprogramm (aufgrund der erforderlichen Benutzerinteraktion mit dem MOK-Manager während des Startvorgangs ist eine physische Anwesenheit erforderlich, um diesen Vorgang auszuführen).
Takeaways
In den letzten Jahren wurden viele kritische Schwachstellen entdeckt, die die Sicherheit von UEFI-Systemen beeinträchtigen. Leider haben viele dieser Schwachstellen aufgrund der Komplexität des gesamten UEFI-Ökosystems und der damit verbundenen Lieferkettenprobleme viele Systeme anfällig gemacht, selbst lange Zeit nachdem die Schwachstellen behoben wurden – oder zumindest nachdem uns mitgeteilt wurde, dass sie behoben wurden. Für ein besseres Bild sind hier einige Beispiele für Patch- oder Widerrufsfehler, die UEFI Secure Boot-Umgehungen nur aus dem letzten Jahr ermöglichen:
- Zunächst natürlich CVE-2022-21894 – die von BlackLotus ausgenutzte Schwachstelle. Ein Jahr nach der Behebung der Schwachstelle werden anfällige UEFI-Binärdateien immer noch nicht widerrufen, sodass Bedrohungen wie BlackLotus heimlich auf Systemen mit aktiviertem UEFI Secure Boot operieren können, was den Opfern ein falsches Sicherheitsgefühl vermittelt.
- Anfang 2022 haben wir mehrere UEFI-Sicherheitslücken offengelegt, die es unter anderem ermöglichen, UEFI Secure Boot zu deaktivieren. Viele betroffene Geräte werden vom OEM nicht mehr unterstützt und daher nicht behoben (obwohl diese Geräte noch nicht so alt waren – etwa 3-5 Jahre zum Zeitpunkt der Offenlegung der Schwachstelle). Lesen Sie mehr in unserem Blogbeitrag: Wenn „sicher“ überhaupt nicht sicher ist: Hochwirksame UEFI-Schwachstellen, die in Lenovo Consumer-Laptops entdeckt wurden
- Später im Jahr 2022 entdeckten wir a einige andere UEFI-Schwachstellen, dessen Ausnutzung es Angreifern auch ermöglichen würde, UEFI Secure Boot sehr einfach zu deaktivieren. Wie von anderen Forschern aus darauf hingewiesen Binär, mehrere Geräte in der aufgeführt beratend blieben ungepatcht oder nicht korrekt gepatcht, selbst wenige Monate nach der Empfehlung – wodurch die Geräte anfällig wurden. Unnötig zu erwähnen, dass einige Geräte, ähnlich wie im vorherigen Fall, für immer anfällig bleiben, da sie ihr End-Of-Support-Datum erreicht haben.
Es war nur eine Frage der Zeit, bis jemand diese Fehler ausnutzen und ein UEFI-Bootkit erstellen würde, das auf Systemen mit aktiviertem UEFI Secure Boot ausgeführt werden kann. Wie wir letztes Jahr in unserem vorgeschlagen haben RSA-Präsentation, all dies macht den Wechsel zum ESP für Angreifer praktikabler und einen möglichen Weg nach vorn für UEFI-Bedrohungen – die Existenz von BlackLotus bestätigt dies.
IoCs
Mappen
SHA-1 | Dateiname | Entdeckung | Beschreibung |
---|---|---|---|
05846D5B1D37EE2D716140DE4F4F984CF1E631D1 | N / A | Win64/BlackLotus.A | BlackLotus-Installationsprogramm. |
A5A530A91100ED5F07A5D74698B15C646DD44E16 | N / A | Win64/BlackLotus.A | BlackLotus-Installationsprogramm. |
D82539BFC2CC7CB504BE74AC74DF696B13DB486A | N / A | Win64/BlackLotus.A | BlackLotus-Installationsprogramm. |
16B12CEA54360AA42E1120E82C1E9BC0371CB635 | N / A | Win64/BlackLotus.A | BlackLotus-Installationsprogramm. |
DAE7E7C4EEC2AC0DC7963C44A5A4F47D930C5508 | N / A | Win64/BlackLotus.A | BlackLotus-Installationsprogramm. |
45701A83DEC1DC71A48268C9D6D205F31D9E7FFB | N / A | Win64/BlackLotus.A | BlackLotus-Installationsprogramm. |
2CE056AE323B0380B0E87225EA0AE087A33CD316 | N / A | EFI/BlackLotus.B | BlackLotus UEFI-Bootkit. |
5A0074203ABD5DEB464BA0A79E14B7541A033216 | N / A | EFI/BlackLotus.B | BlackLotus UEFI-Bootkit. |
5DC9CBD75ABD830E83641A0265BFFDDD2F602815 | N / A | EFI/BlackLotus.B | BlackLotus UEFI-Bootkit. |
97AEC21042DF47D39AC212761729C6BE484D064D | N / A | EFI/BlackLotus.B | BlackLotus UEFI-Bootkit. |
ADCEEC18FF009BED635D168E0B116E72096F18D2 | N / A | EFI/BlackLotus.B | BlackLotus UEFI-Bootkit. |
DBC064F757C69EC43517EFF496146B43CBA949D1 | N / A | EFI/BlackLotus.B | BlackLotus UEFI-Bootkit. |
06AF3016ACCDB3DFE1C23657BF1BF91C13BAA757 | N / A | Win64/BlackLotus.B | BlackLotus HTTP-Downloader. |
0C0E78BF97116E781DDE0E00A1CD0C29E68D623D | N / A | Win64/BlackLotus.B | BlackLotus HTTP-Downloader. |
6D8CEE28DA8BCF25A4D232FEB0810452ACADA11D | N / A | Win64/BlackLotus.B | BlackLotus HTTP-Downloader. |
74FF58FCE8F19083D16DF0109DC91D78C94342FA | N / A | Win64/BlackLotus.B | BlackLotus HTTP-Downloader. |
ACC74217CBE3F2E727A826B34BDE482DCAE15BE6 | N / A | Win64/BlackLotus.B | BlackLotus HTTP-Downloader. |
111C4998F3264617A7A9D9BF662D4B1577445B20 | N / A | Win64/BlackLotus.B | BlackLotus HTTP-Downloader. |
17FA047C1F979B180644906FE9265F21AF5B0509 | N / A | Win64/BlackLotus.C | BlackLotus-Kernel-Treiber. |
1F3799FED3CF43254FE30DCDFDB8DC02D82E662B | N / A | Win64/BlackLotus.C | BlackLotus-Kernel-Treiber. |
4B882748FAF2C6C360884C6812DD5BCBCE75EBFF | N / A | Win64/BlackLotus.C | BlackLotus-Kernel-Treiber. |
91F832F46E4C38ECC9335460D46F6F71352CFFED | N / A | Win64/BlackLotus.C | BlackLotus-Kernel-Treiber. |
994DC79255AEB662A672A1814280DE73D405617A | N / A | Win64/BlackLotus.C | BlackLotus-Kernel-Treiber. |
FFF4F28287677CAABC60C8AB36786C370226588D | N / A | Win64/BlackLotus.C | BlackLotus-Kernel-Treiber. |
71559C3E2F3950D4EE016F24CA54DA17D28B9D82 | N / A | EFI/BlackLotus.C | BlackLotus Boot Configuration Data (BCD)-Speicher, der vom BlackLotus-Installationsprogramm gelöscht wird. |
D6D3F3151B188A9DA62DEB95EA1D1ABEFF257914 | N / A | EFI/BlackLotus.C | BlackLotus Boot Configuration Data (BCD)-Speicher, der vom BlackLotus-Installationsprogramm gelöscht wird. |
547FAA2D64B85BF883955B723B07635C0A09326B | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 Exploitation Payload Loader. |
D1BBAA3D408E944C70B3815471EED7FA9AEE6425 | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 Exploitation Payload Loader. |
0E6DD7110C38464ECAA55EE4E2FA303ADA0EDEFB | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 Exploitation Payload – MokInstaller EFI-App. |
D6BB89D8734B3E49725362DAE9A868AE681E8BD6 | N / A | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 Exploitation Payload – MokInstaller EFI-App. |
164BB587109CFB20824303AD1609A65ABB36C3E9 | N / A | Win64/BlackLotus.D | UAC-Bypass-Modul des BlackLotus-Installationsprogramms. |
Zertifikate
Ordnungsnummer | 570B5D22B723B4A442CC6EEEBC2580E8 |
Daumenabdruck | C8E6BF8B6FDA161BBFA5470BCC262B1BDC92A359 |
Thema CN | Wenn sie weinen CA |
Betreff O | N / A |
Betreff L | N / A |
Themen | N / A |
Thema C | N / A |
Gültig ab | 2022-08-13 17:48:44 |
Gültig bis | 2032-08-13 17:58:44 |
Netzwerk
IP | Domain | Hosting-Anbieter | Zum ersten Mal gesehen | Details |
---|---|---|---|---|
N / A | xRepositoryx[.]Name | N / A | 2022-10-17 | BlackLotus C&C. https://xrepositoryx[.]name/network/API/hpb_gate.php |
N / A | meinrepositoryx[.]com | N / A | 2022-10-16 | BlackLotus C&C. https://myrepositoryx[.]com/network/API/hpb_gate.php |
104.21.22[.]185 | erdjknfweklsgwfmewfgref[.]com | Cloudflare, Inc. | 2022-10-06 | BlackLotus C&C. https://erdjknfweklsgwfmewfgref[.]com/API/hpb_gate.php |
164.90.172[.]211 | harrysucksdick[.]com | DigitalOcean, LLC | 2022-10-09 | BlackLotus C&C. https://harrysucksdick[.]com/API/hpb_gate.php |
185.145.245[.]123 | heikickgn[.]com frassirishiproc[.]com |
SIA VEESP | 2022-10-12 | BlackLotus C&C. https://heikickgn[.]com/API/hpb_gate.php https://frassirishiproc[.]com/API/hpb_gate.php |
185.150.24[.]114 | meinRepository[.]Name | SkyLink Rechenzentrum BV | 2022-10-14 | BlackLotus C&C. meinrepository[.]name/network/API/hpb_gate.php |
190.147.189[.]122 | egscorp[.]net | Telmex Kolumbien SA | 2022-08-24 | BlackLotus C&C. https://egscorp[.]net/API/hpb_gate.php |
MITRE ATT&CK-Techniken
Diese Tabelle wurde mit erstellt Version 12 des MITRE ATT&CK-Frameworks.
Taktik | ID | Name und Vorname | Beschreibung |
---|---|---|---|
Ressourcenentwicklung | T1587.002 | Fähigkeiten entwickeln: Code Signing-Zertifikate | Einige BlackLotus-Beispiele sind mit einem selbstsignierten Zertifikat signiert. |
T1588.005 | Erwerben Sie Fähigkeiten: Exploits | BlackLotus nutzte einen öffentlich bekannten Exploit, um UEFI Secure Boot zu umgehen. | |
ausführung | T1203 | Ausbeutung zur Kundenausführung | BlackLotus-Installer können CVE-2022-21894 ausnutzen, um die Ausführung willkürlichen Codes auf Systemen mit aktiviertem UEFI Secure Boot zu erreichen. |
T1559 | Interprozesskommunikation | Der HTTP-Downloader von BlackLotus verwendet den benannten Abschnitt, um Befehle an die Kernel-Modus-Komponente zu übergeben. | |
T1106 | Native API | Der HTTP-Downloader von BlackLotus verwendet verschiedene native Windows-APIs, um die Codeausführung auf dem kompromittierten Computer zu erreichen. | |
T1129 | Gemeinsam genutzte Module | Der HTTP-Downloader von BlackLotus kann vom C&C-Server empfangene DLLs laden und ausführen. | |
Beharrlichkeit | T1542.003 | Pre-OS-Boot: Bootkit | Das BlackLotus-Bootkit wird auf der EFI-Systempartition bereitgestellt und während des Bootens ausgeführt. |
Privilegien Eskalation | T1548.002 | Missbrauchs-Elevationskontrollmechanismus: Umgehung der Benutzerkontensteuerung | Das BlackLotus-Installationsprogramm versucht, die Berechtigungen zu eskalieren, indem es die Benutzerkontensteuerung umgeht. |
T1134.002 | Zugriffstoken-Manipulation: Prozess mit Token erstellen | Der HTTP-Downloader von BlackLotus kann WTSQueryUserToken und CreateProcessAsUserW verwenden, um heruntergeladene Nutzlasten innerhalb eines neuen Prozesses mit lokalen Systemberechtigungen auszuführen. | |
Verteidigungsflucht | T1622 | Debugger-Umgehung | BlackLotus-Komponenten verwenden verschiedene Techniken, um zu erkennen, ob ein Debugger im Kernelmodus oder im Benutzermodus auf einem Opfer läuft. |
T1574 | Hijack-Ausführungsablauf | Das BlackLotus-Bootkit entführt verschiedene Komponenten, die in den frühen Phasen des Windows-Startvorgangs enthalten sind (Windows Boot Manager, Windows OS Loader, Windows-Kernel und bestimmte Treiber), um eine Erkennung zu vermeiden, indem es verschiedene Windows-Sicherheitsfunktionen (VBS, Windows Defender) deaktiviert und heimlich seinen Kernel-Modus ausführt und Benutzermoduskomponenten | |
T1562 | Abwehrkräfte beeinträchtigen | BlackLotus-Komponenten können BitLocker und Windows Defender deaktivieren, um eine Erkennung zu vermeiden. | |
T1070.004 | Indikatorentfernung: Dateilöschung | Das BlackLotus-Installationsprogramm löscht sich selbst, nachdem Dateien erfolgreich auf der EFI-Systempartition bereitgestellt wurden. Auch nach der erfolgreichen Exploitation von CVE-2022-21894 entfernt BlackLotus Spuren der Exploitation, indem alle Dateien, die in der Exploitationskette enthalten sind, von der EFI-Systempartition gelöscht werden. | |
T1070.009 | Entfernung des Indikators: Persistenz löschen | BlackLotus kann sich selbst deinstallieren, indem es alle Bootkit-Dateien aus dem ESP entfernt und den Windows-Boot-Manager des ursprünglichen Opfers wiederherstellt. | |
T1036.005 | Maskierung: Übereinstimmung mit legitimem Namen oder Ort | BlackLotus versucht, seine auf dem ESP bereitgestellten Dateien zu verbergen, indem legitime Dateinamen wie grubx64.efi (wenn UEFI Secure Boot auf einem kompromittierten Computer aktiviert ist) oder bootmgfw.efi (wenn UEFI Secure Boot auf einem kompromittierten Computer deaktiviert ist) verwendet werden. | |
T1112 | Registry ändern | Das BlackLotus-Installationsprogramm ändert die Windows-Registrierung, um die Windows HVCI-Sicherheitsfunktion zu deaktivieren. | |
T1027 | Verschleierte Dateien oder Informationen | Fast alle eingebetteten Zeichenfolgen in BlackLotus-Komponenten werden mit einer benutzerdefinierten kombinierten Verschlüsselung verschlüsselt und nur bei Bedarf entschlüsselt. | |
T1027.007 | Verschleierte Dateien oder Informationen: Dynamische API-Auflösung | BlackLotus-Komponenten verwenden dynamische API-Auflösung, während sie Hashes von API-Namen anstelle von Namen verwenden. | |
T1027.009 | Verschleierte Dateien oder Informationen: Eingebettete Payloads | Fast alle eingebetteten Dateien in BlackLotus-Komponenten werden mit AES verschlüsselt. | |
T1542.003 | Pre-OS-Boot: Bootkit | Das BlackLotus-Bootkit wird auf der EFI-Systempartition bereitgestellt und während der frühen Startphasen des Betriebssystems ausgeführt und ist daher in der Lage, den Startvorgang des Betriebssystems zu steuern und der Erkennung zu entgehen. | |
T1055.012 | Prozessinjektion: Dynamic-Link-Library-Injektion | Der HTTP-Downloader von BlackLotus kann eine DLL in eine neu erstellte Datei einfügen svchost.exe Prozess unter Verwendung des Prozessaushöhlens. | |
T1055.002 | Prozessinjektion: Portable Executable Injection | Der BlackLotus-Treiber injiziert die tragbare ausführbare HTTP-Downloader-Datei in eine winlogon.exe verarbeiten. | |
T1014 | Rootkit | Der BlackLotus-Kerneltreiber schützt die Bootkit-Dateien auf dem ESP vor dem Entfernen. | |
T1497.001 | Virtualisierung/Sandbox-Umgehung: Systemprüfungen | BlackLotus verwendet verschiedene Systemprüfungen, einschließlich der Prüfung von Sandbox-spezifischen Registrierungswerten, um Virtualisierungs- und Analyseumgebungen zu erkennen und zu vermeiden. | |
Angewandte F&E | T1622 | Debugger-Umgehung | BlackLotus-Komponenten verwenden verschiedene Techniken, um zu erkennen, ob ein Debugger im Kernelmodus oder im Benutzermodus auf einem Opfer läuft. |
T1082 | Systeminformationserkennung | BlackLotus sammelt Systeminformationen (IP, GPU, CPU, Speicher, Betriebssystemversion) auf einem kompromittierten Host. | |
T1614 | Erkennung des Systemstandorts | BlackLotus kann beendet werden, wenn eines der folgenden Systemgebietsschemas auf dem kompromittierten Host identifiziert wird: ro-MD, ru-MD, ru-RU, uk-UA, be-BY, hy-AM, kk-KZ. | |
T1016 | Ermittlung der Systemnetzwerkkonfiguration | Der HTTP-Downloader von BlackLotus kann die öffentliche IP-Adresse eines kompromittierten Hosts durch Anfrage ermitteln api.ipify[.]org Bedienung. | |
T1016.001 | Erkennung der Systemnetzwerkkonfiguration: Erkennung der Internetverbindung | Der HTTP-Downloader von BlackLotus überprüft die Internetverbindung, indem er die von Microsoft abfragt www.msftncsi[.]com/ncsi[.]txt | |
T1497.001 | Virtualisierung/Sandbox-Umgehung: Systemprüfungen | BlackLotus verwendet verschiedene Systemprüfungen, einschließlich der Prüfung von Sandbox-spezifischen Registrierungswerten, um Virtualisierungs- und Analyseumgebungen zu erkennen und zu vermeiden. | |
Command and Control | T1071.001 | Application Layer Protocol: Webprotokolle | BlackLotus verwendet HTTPS für die Kommunikation mit seinem C&C. |
T1132.001 | Datenkodierung: Standardkodierung | BlackLotus verschlüsselt verschlüsselte Daten in der C&C-Kommunikation mit URL-sicherem base64. | |
T1573.001 | Verschlüsselter Kanal: Symmetrische Kryptographie | BlackLotus verwendet 256-Bit-AES im CBC-Modus, um von seinem C&C empfangene Nachrichten zu entschlüsseln. | |
T1573.002 | Verschlüsselter Kanal: Asymmetrische Kryptografie | BlackLotus verwendet einen eingebetteten öffentlichen RSA-Schlüssel, um an C&C gesendete Nachrichten zu verschlüsseln. |
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://www.welivesecurity.com/2023/03/01/blacklotus-uefi-bootkit-myth-confirmed/
- 000
- 1
- 10
- 11
- 2018
- 2020
- 2022
- 7
- 9
- a
- Fähig
- LiveBuzz
- oben
- Missbrauch
- Zugang
- zugänglich
- Zugriff
- Konto
- Erreichen
- Erreicht
- Handlung
- Aktionen
- Akteure
- Handlungen
- hinzugefügt
- Zusatz
- Zusätzliche
- Adresse
- Adressen
- Administrator
- advanced
- Vorteil
- Werbung
- beratend
- AES
- beeinflussen
- Nach der
- gegen
- Auch bekannt als:
- Alle
- zugeordnet
- Zuweisungen
- Zulassen
- erlaubt
- bereits
- Obwohl
- immer
- AMD
- unter
- Analyse
- analysieren
- und
- anime
- Ein anderer
- Bienen
- APIs
- App
- anwendbar
- Anwendung
- Anwendungen
- angemessen
- APT
- Archiv
- um
- Artikel
- Bewertung
- damit verbundenen
- Versuche
- Aufmerksamkeit
- AUGUST
- Autor
- verfügbar
- Sicherungskopie
- Sicherungen
- basierend
- basic
- Grundlagen
- Leuchtfeuer
- weil
- Bevor
- Anfang
- hinter
- Sein
- Belarus
- Glauben
- unten
- Besser
- zwischen
- PiependerComputer
- Blockieren
- Blau
- Bonus
- Stiefel
- Botnets
- Break
- Bruch
- Durchbruch
- bringen
- Bringing
- allgemein
- gebracht
- puffern
- bauen
- erbaut
- eingebaut
- rufen Sie uns an!
- Aufruf
- Aufrufe
- Fähigkeiten
- fähig
- österreichische Unternehmen
- vorsichtig
- Häuser
- Fälle
- lässig
- Ringen
- verursacht
- Ursachen
- verursacht
- Center
- Bescheinigung
- Kette
- Chance
- Übernehmen
- Kanal
- Überprüfung
- Schecks
- Chiffre
- aus aller Welt
- klar
- Auftraggeber
- Menu
- geschlossen
- näher
- Schließen
- Code
- Kopien
- Kolumbien
- Kombination
- kombiniert
- wie die
- kommentierte
- gemeinsam
- häufig
- mit uns kommunizieren,
- Kommunizieren
- Kommunikation
- verglichen
- Vergleich
- Kompatibilität
- uneingeschränkt
- Komplex
- Komplexität
- Komponente
- Komponenten
- Kompromiss
- Kompromittiert
- konzept
- betroffen
- Vertrauen
- Konfiguration
- BESTÄTIGT
- Verbindung
- Berücksichtigung
- Verbraucher
- enthalten
- enthält
- Inhalt
- fortsetzen
- weiter
- ständig
- Smartgeräte App
- Regelung
- Zusammenarbeit
- Kernbereich
- Dazugehörigen
- könnte
- Kurs
- Abdeckung
- erstellen
- erstellt
- schafft
- Erstellen
- KREDENTIAL
- kritischem
- Strom
- Zur Zeit
- Original
- Gefährlich
- technische Daten
- Data Center
- Datenbase
- Datum
- deaktivieren
- Behandlung
- Tod
- Entschlüsseln
- tief
- tiefer
- Standard
- definiert
- definitiv
- hängt
- einsetzen
- Einsatz
- Bereitstellen
- Einsatz
- setzt ein
- Abgeleitet
- beschreiben
- beschrieben
- erwünscht
- Trotz
- Reiseziel
- Detail
- detailliert
- Details
- erkannt
- Entdeckung
- Bestimmen
- Festlegung
- entwickelt
- Entwickler:in / Unternehmen
- Entwickler
- Gerät
- Geräte
- DID
- Unterschied
- anders
- DIG
- Direkt
- Direkt
- Verzeichnisse
- behindert
- Bekanntgabe
- entdeckt,
- entdeckt
- Entdeckung
- verteilt
- Verteilung
- Ausschüttungen
- Dabei
- Domains
- Nicht
- herunterladen
- Antrieb
- Fahrer
- Treiber
- Drop
- fallen gelassen
- Abwurf
- Duplikate
- im
- dynamisch
- jeder
- Früh
- einfacher
- leicht
- Ökosystem
- Ausgabe
- effektiv
- Anstrengung
- Elemente
- ELEVATE
- erhöhten
- eingebettet
- beschäftigt
- freigegeben
- verschlüsselt
- Verschlüsselung
- Entwicklung
- genug
- eingeschrieben
- gewährleisten
- Eintrag
- Arbeitsumfeld
- Umgebungen
- essential
- Festlegung
- etc
- Bewerten
- Sogar
- Event
- Veranstaltungen
- Jedes
- Beweis
- Beispiel
- Beispiele
- ausschließlich
- ausführen
- Führt aus
- Ausführung
- Ausführung
- vorhandenen
- Beenden
- Erklären
- Erklärung
- Ausnutzen
- Ausbeutung
- Exploited
- Abenteuer
- ERKUNDEN
- Erweiterung
- extern
- möglich
- Merkmal
- funktions
- Eigenschaften
- Kerl
- wenige
- Felder
- Abbildung
- Reichen Sie das
- Mappen
- Filter
- Finale
- Finden Sie
- Suche nach
- Vorname
- fixiert
- Blinken (Flash)
- Fluss
- folgen
- Folgende
- folgt
- für immer
- unten stehende Formular
- Format
- Früher
- Foren
- vorwärts
- gefunden
- für
- voller
- voll
- Funktion
- funktional
- Funktionalität
- Funktionen
- weiter
- Games
- Tor
- erzeugt
- bekommen
- gegeben
- gibt
- Kundenziele
- GPU
- Grün
- Gruppen
- Bewachen
- Hacking
- Griffe
- Hände
- passieren
- das passiert
- Hardware
- mit
- Überschriften
- hier
- Verbergen
- GUTE
- Treffer
- Haken
- Gastgeber
- Ultraschall
- aber
- HTTPS
- hunderte
- identifiziert
- Kennzeichnung
- identifizieren
- Image
- Bilder
- sofort
- Impact der HXNUMXO Observatorien
- umgesetzt
- Umsetzung
- Importe
- unmöglich
- in
- inklusive
- Einschließlich
- Krankengymnastik
- Information
- informativ
- Anfangs-
- installieren
- installiert
- beantragen müssen
- integriert
- Integrität
- Intel
- Intelligenz
- Interaktion
- Internet
- Internetverbindung
- Einleitung
- Untersuchung
- beteiligt
- IP
- Problem
- IT
- selbst
- Januar
- Job
- Sprünge
- Kaspersky
- Kasachstan
- Aufbewahrung
- Wesentliche
- Tasten
- bekannt
- Nachname
- Letztes Jahr
- Spät
- neueste
- starten
- Schicht
- führen
- umwandeln
- Verlassen
- Lenovo
- Li
- Bibliothek
- wahrscheinlich
- LIMIT
- linux
- Liste
- Gelistet
- Listen
- wenig
- Belastung
- Ladeprogramm
- Laden
- Belastungen
- aus einer regionalen
- located
- Standorte
- Lang
- lange Zeit
- aussehen
- verlieren
- Sneaker
- mac
- Maschine
- Maschinen
- gemacht
- Magie
- Main
- Dur
- um
- MACHT
- Making
- Malware
- verwaltet
- Manager
- Manipulation
- manuell
- viele
- Spiel
- Materie
- max-width
- Bedeutung
- Mechanismus
- Memory
- erwähnt
- nur
- Nachricht
- Nachrichten
- Methode
- Microsoft
- könnte
- Minimum
- Minute
- Milderung
- Model
- geändert
- ändern
- Modul
- Moment
- überwacht
- Monitore
- Monat
- mehr
- vor allem warme
- Motivationen
- schlauer bewegen
- mehrere
- Name
- Namens
- Namen
- nativen
- notwendig,
- Need
- Unnötig
- Bedürfnisse
- Netzwerk
- Neu
- weiter
- Normalerweise
- Anzahl
- Zahlen
- Objekte
- erhalten
- Oktober
- Angebote
- Offline-Bereich.
- Alt
- EINEM
- Online
- öffnet
- betreiben
- die
- Betrieb
- Operator
- Option
- Optionen
- Auftrag
- Original
- OS
- Andere
- Andernfalls
- Überwinden
- Überblick
- besitzen
- Besitz
- Eigentümer
- Parameter
- Parameter
- Teil
- Teile
- Patch
- Patches
- Patchen
- Weg
- Schnittmuster
- Muster
- perfekt
- Ausführen
- Durchführung
- Beharrlichkeit
- physikalisch
- Stück
- Plattform
- Plato
- Datenintelligenz von Plato
- PlatoData
- PoC
- Points
- Punkte
- Datenschutzrichtlinien
- möglich
- Post
- BLOG-POSTS
- Potenzial
- größte treibende
- Präsenz
- Gegenwart
- verhindern
- früher
- vorher
- Grundsätze
- privat
- Private Key
- Privilegien
- Aufgabenstellung:
- Probleme
- Erlös
- Prozessdefinierung
- Verarbeitet
- anpassen
- Produkt
- Programm
- prominent
- Beweis
- Proof of Concept
- richtig
- Risiken zu minimieren
- geschützt
- Schutz
- Sicherheit
- Protokoll
- vorausgesetzt
- Bereitstellung
- Öffentlichkeit
- public Key
- Publikationen
- öffentlich
- veröffentlicht
- Zweck
- erhöhen
- RAM
- zufällig
- schnell
- erreicht
- Lesen Sie mehr
- Leser
- Lesebrillen
- echt
- Realität
- realisieren
- Grund
- vernünftig
- Received
- kürzlich
- Entspannung
- Erholung
- Referenzen
- bezeichnet
- Ungeachtet
- registriert
- Registratur
- regulär
- bezogene
- bleiben
- Entfernung
- entfernen
- Entfernt
- Entfernen
- ersetzen
- ersetzt
- Meldungen
- Quelle
- Anforderung
- falls angefordert
- Forschungsprojekte
- Forscher
- Forscher
- Auflösung
- entschlossen
- Ressourcen
- Antwort
- für ihren Verlust verantwortlich.
- REST
- Wiederherstellen
- Folge
- Rückkehr
- rückgängig machen
- Rollen
- Wurzel
- rsa
- Konferenz
- Führen Sie
- Laufen
- Russland
- sichersten
- gleich
- Sandkasten
- Betrug
- Scannen
- Schema
- Bildschirm
- Suche
- Zweite
- Sekunden
- Abschnitt
- Abschnitte
- Verbindung
- Sicherheitdienst
- scheint
- Sendung
- Sinn
- seriell
- Modellreihe
- Lösungen
- Sitzung
- kompensieren
- Sets
- Einstellung
- mehrere
- Teilen
- Short
- sollte
- gezeigt
- Konzerte
- Schild
- Signale
- unterzeichnet
- Unterzeichnung
- Schilder
- ähnlich
- Einfacher
- vereinfachte
- einfach
- da
- SIX
- Größe
- So
- bis jetzt
- SOFT
- Software
- verkauft
- Lösung
- einige
- Jemand,
- etwas
- Quellen
- Raumfahrt
- spezifisch
- Spezifikation
- angegeben
- Verbreitung
- Stufe
- Stufen
- standalone
- Standard
- steht
- Anfang
- begonnen
- beginnt
- Anfang
- Status
- bleiben
- Schritt
- Shritte
- Immer noch
- gestoppt
- speichern
- gelagert
- einfach
- Struktur
- Einreichung
- Folge
- erfolgreich
- Erfolgreich
- so
- Schlägt vor
- zusammenfassen
- ZUSAMMENFASSUNG
- Support
- Unterstützte
- Unterstützung
- Unterstützt
- vermutet
- suspendiert
- Symbol
- Syntax
- System
- Systeme und Techniken
- Tabelle
- Nehmen
- nimmt
- Einnahme
- sprechen
- Target
- und Aufgaben
- Team
- Technische
- Techniken
- vorübergehend
- Das
- Die Grundlagen
- die Informationen
- ihr
- deswegen
- Ding
- Tausende
- Bedrohung
- Bedrohungsakteure
- Bedrohungen
- nach drei
- Durch
- Zeit
- Timeline
- Tip
- zu
- heute
- gemeinsam
- Zeichen
- auch
- Werkzeuge
- Thema
- ausgelöst
- vertraut
- WENDE
- Turned
- Drehung
- typisch
- Ukraine
- für
- Verständnis
- auf dem neusten Stand
- Aktualisierung
- aktualisiert
- Updates
- us
- Anwendungsbereich
- -
- Mitglied
- gewöhnlich
- Nutzen
- Wert
- Werte
- verschiedene
- Verification
- verified
- überprüfen
- Version
- Opfer
- Opfer
- VERSTOSS
- Verstöße
- Sichtbarkeit
- Volumen
- Volumen
- Sicherheitslücken
- Verwundbarkeit
- Verwundbar
- Warten
- Wege
- Netz
- bekannt
- Was
- Was ist
- ob
- welche
- während
- ganze
- breit
- Wikipedia
- Wild
- werden wir
- Fenster
- 11 Fenster
- .
- ohne
- Arbeiten
- Werk
- Wurst
- würde
- Schreiben
- geschrieben
- Jahr
- Jahr
- Du
- Ihr
- Zephyrnet
- Null