Sicherheitsforscher haben eine neue, ausgeklügelte Hacking-Technik namens „Mockingjay“ identifiziert, die Enterprise Detection and Response (EDR)-Tools umgehen kann, indem sie Schadcode in vertrauenswürdigen Speicherbereich einschleust. Dieser unauffällige Ansatz ermöglicht es Angreifern, über längere Zeit unentdeckt im Netzwerk eines Unternehmens zu agieren.
Die von Forschern bei Security Joes identifizierte Angriffstechnik stellt sowohl für EDR-Anbieter als auch für Sicherheitsteams eine Herausforderung dar.
„Um solchen Angriffen wirksam entgegenzuwirken, müssen Sicherheitslösungen einen umfassenden und proaktiven Ansatz verfolgen, der über die statische Überwachung bestimmter DLLs oder Systemaufrufe hinausgeht“, schrieben. „Verhaltensanalyse, Anomalieerkennung und Techniken des maschinellen Lernens können die Fähigkeit verbessern, Prozess-Injection-Techniken zu identifizieren und bösartige Aktivitäten im Speicherbereich vertrauenswürdiger Prozesse zu erkennen.“
Siehe die Top-EDR-Lösungen
Der Mockingjay-Angriff im Überblick
Der Mockingjay-Angriff zielt auf vertrauenswürdige und legitime Prozesse ab, die auf dem System ausgeführt werden, und vermeidet oder minimiert die Verwendung von Windows-APIs, die EDR-Tools üblicherweise mit Injection-Angriffen in Verbindung bringen. Indem Mockingjay heimlich Schadcode in den Speicherbereich des vertrauenswürdigen Prozesses einschleust, verbirgt die Technik ihre Aktivitäten in einem scheinbar harmlosen Prozess.
EDR-Tools überwachen normalerweise Windows-APIs im Speicherbereich von Prozessen, um Injection-Angriffe zu erkennen. Daher machten sich die Forscher daran, andere Methoden zu finden, um Code dynamisch im Speicherbereich von Windows-Prozessen auszuführen, ohne auf die überwachten Windows-APIs zurückzugreifen.
In ihrem Blogbeitrag beschrieben sie zwei solche Angriffstechniken.
Sie untersuchten vertrauenswürdige Windows-Bibliotheken, die Bereiche mit standardmäßig auf RWX (Read-Write-Execute) gesetzten Schutzmechanismen enthalten. „Durch den Missbrauch dieser Bibliotheken konnten wir erfolgreich Code in verschiedene Prozesse einschleusen und auf die Ausführung mehrerer Windows-APIs verzichten, die normalerweise von Sicherheitslösungen überwacht werden“, schrieben sie. „Dieser Ansatz verringert die Wahrscheinlichkeit einer Erkennung durch Schutzsoftware, da unsere Anwendung Windows-APIs, die typischerweise mit Prozess-Injection-Techniken verbunden sind, nicht direkt aufruft. Die Injection wird ohne Speicherzuweisung, das Setzen von Berechtigungen oder sogar das Starten eines Threads ausgeführt. Das Besondere an dieser Technik ist, dass sie eine verwundbare DLL und das Kopieren von Code in den richtigen Bereich erfordert.“
Beide Angriffstechniken beziehen Prozesse ein, die sich innerhalb von Visual Studio 2022 Community befinden. Bei der ersten handelt es sich um die DLL msys-2.0.dll, während die zweite Angriffstechnik auf den Prozess ssh.exe im Verzeichnis von Visual Studio 2022 Community abzielt.
Die DLL msys-2.0 enthält den Forschern von Security Joes zufolge einen standardmäßigen RWX-Bereich, der potenziell zum Laden von Schadcode ausgenutzt werden könnte. Der Bericht beschreibt die Angriffstechnik ausführlich und fasst sie in sechs Schritten zusammen:
- Eine benutzerdefinierte Anwendung lädt die verwundbare DLL mit LoadLibraryW
- Die Position des RWX-Bereichs wird anhand der Basisadresse der DLL und des Offsets des Bereichs ermittelt
- Eine unveränderte Kopie von NTDLL.DLL wird von der Festplatte geladen und die Systemaufrufnummern für die gewünschten Systemaufrufe werden ermittelt
- Die Adressen der Testanweisungen nach dem vom EDR eingefügten jmp werden aus der im Speicher befindlichen Kopie von NTDLL.DLL abgerufen (die vom EDR mit einem Hook versehen wurde)
- Anhand der Adressen der Testanweisungen und der Systemaufrufnummern erstellen die Forscher ihre Stubs im RWX-Bereich der verwundbaren DLL
- Bei der Ausführung des Stubs wird die Systemaufrufnummer wie üblich im EAX-Register vorbereitet. Anschließend springt der Stub sofort zur Adresse der entsprechenden Testanweisung für den ausgewählten Systemaufruf und umgeht damit den Verifizierungsschritt des EDR
Zweiter EDR-Angriff im Detail
Im Verlauf ihrer Arbeit stellten die Forscher fest, dass die Bibliothek msys-2.0.dll „häufig von Anwendungen genutzt wird, die POSIX-Emulation benötigen, etwa GNU-Dienstprogrammen oder Anwendungen, die ursprünglich nicht für die Windows-Umgebung entwickelt wurden. Wir fanden relevante Binärdateien mit diesen Merkmalen im Unterverzeichnis von Visual Studio 2022 Community.“
Für ihren Proof of Concept wählten sie den Prozess ssh.exe im Verzeichnis von Visual Studio 2022 Community als Ziel für die Payload. „Dazu starteten wir den Prozess ssh.exe als untergeordneten Prozess unserer benutzerdefinierten Anwendung mithilfe der Windows-API CreateProcessW“, schrieben sie und fassten die Angriffstechnik wie folgt zusammen:
- Die benutzerdefinierte Anwendung wird ausgeführt
- Die vertrauenswürdige Anwendung (ssh.exe), die die DLL msys-2.0.dll verwendet, wird als untergeordneter Prozess gestartet
- Die benutzerdefinierte Anwendung öffnet ein Handle zum Zielprozess (ssh.exe)
- Der einzuschleusende Code wird in den RWX-Bereich von msys-2.0.dll kopiert
- Die vertrauenswürdige Anwendung führt den eingeschleusten Code während ihres normalen Ausführungsablaufs aus
- Eine zusätzliche DLL namens MyLibrary.dll wird vom in den RWX-Bereich eingeschleusten Shellcode geladen
- Eine Shell-Sitzung mit Rückverbindung wird hergestellt
„Das Besondere an dieser Technik ist, dass kein Speicher zugewiesen, keine Berechtigungen gesetzt und kein neuer Thread im Zielprozess erstellt werden muss, um die Ausführung unseres eingeschleusten Codes zu starten“, schrieben sie. „Diese Unterscheidung hebt die Strategie von anderen bestehenden Techniken ab und erschwert es Endpoint-Detection-and-Response-Systemen (EDR), diese Methode zu erkennen.“
So schützen Sie sich gegen einen Mockingjay-Angriff
EDR-Systeme mit integrierter Verhaltensanalyse können einen Mockingjay-Angriff stoppen, indem sie den Umfang ihrer Überwachung auf vertrauenswürdige Prozesse ausweiten. Solche Erkennungstechniken können Code-Injection und unbefugte Änderungen identifizieren, indem sie Muster für das normale Verhalten erstellen und die Speicherintegrität überprüfen. EDR-Technologien können ihre Fähigkeit verbessern, Mockingjay-Angriffe zu erkennen und zu blockieren, indem sie Kontextanalysen und Verfahren des maschinellen Lernens einsetzen, die anomale Muster erkennen können.
Für Sicherheitsteams ist Mockingjay ein weiteres Argument für Defense-in-Depth: Wenn ein Sicherheitstool einen Angriff übersieht, könnte ein zweites potenziell den Schaden begrenzen.
Lesen Sie auch: Netzwerkschutz: So sichern Sie ein Netzwerk





