Breaking down process injection (T1055)

 

Content in this page

  • Was ist eine Prozessinjektion?
  • Understanding process injection
  • Breaking down the steps involved in process injection
  • Process injection techniques
  • Detection and mitigation
  • Detecting and mitigating process injection

Was ist eine Prozessinjektion?

Cyberangriffe können aus einer allgemeinen Perspektive in zwei Phasen unterteilt werden. In der ersten Phase wird in den Netzwerkperimeter eingebrochen, während in der zweiten Phase das Zielnetzwerk durchsucht wird. In der zweiten Phase bleibt der Angreifer vorzugsweise unentdeckt und setzt verschiedene Techniken ein, um dies zu erreichen.

Eine Technik zur Umgehung von Sicherheitsmechanismen (ID: TA0005) des MITRE ATT&CK-Frameworks, die Angreifer verwenden, ist die Prozessinjektion (ID: T1055). Dabei wird ein benutzerdefinierter Code innerhalb des Adressraums eines anderen Prozesses ausgeführt. Da die Ausführung hinter einem berechtigten Prozess verborgen ist, kann die Prozessinjektion unentdeckt bleiben.

Prozessinjektion verstehen

Bei der Prozessinjektion wird ein bösartiger Code in eine Webanwendung eingegeben, mit der der Benutzer interagiert. Der injizierte Code wird im Zielprozess ausgeführt und manipuliert dessen Verhalten. Er kann Zugriff auf sensible Daten gewähren oder die Ressourcen des Systems ausnutzen.

Schauen wir uns die Prozessinjektionstechnik anhand eines Anwendungsfalls genauer an, um besser zu verstehen, wie sie funktioniert.

Stellen Sie sich einen Angreifer vor, der versucht, Anmeldedaten abzugreifen und nicht autorisierte Transaktionen in einer Online-Banking-Anwendung durchzuführen. Zu diesem Zweck kann er die Prozessinjektion einsetzen.

  • 1 Der Angreifer beginnt damit, die Online-Banking-Anwendung zu untersuchen und mögliche Schwachstellen zu identifizieren.
  • 2 Er versucht, den spezifischen Prozess zu ermitteln, auf den sich die Online-Banking-Anwendung bei der Benutzerauthentifizierung stützt. Dieser wird anschließend als Zielprozess festgelegt.
  • 3 Der Angreifer erstellt einen schädlichen Code, der Anweisungen zum Abfangen und Extrahieren sensibler Daten enthält.
  • 4 Es wird ein geeigneter Angriffspunkt im Prozessor identifiziert, um den Code einzuschleusen.
  • 5 Nach erfolgreicher Einschleusung wird der Code im Kontext des Zielprozesses ausgeführt und überwacht die Interaktion des Benutzers mit der Anwendung.
  • 6 Anmeldedaten werden abgefangen und an den Server des Angreifers zurückgesendet, wodurch dieser nicht autorisierte Transaktionen durchführen oder sensible Daten manipulieren kann.

Die Schritte der Prozessinjektion erläutert:

  • Zielauswahl: Der Angreifer sucht nach einem Zielprozess und wählt diesen basierend auf seinen Berechtigungen aus.
  • Aufklärung: Das Zielsystem wird untersucht und potenzielle Schwachstellen werden identifiziert.
  • Speicherallokation: Der Angreifer weist dem Zielprozess Speicher zu, um den schädlichen Code zu speichern.
  • Code-Injektion: Die Bedrohungsakteure entwickeln einen schädlichen Code, der in den Zielprozess injiziert werden soll. Diese Injektion kann mit verschiedenen Techniken erfolgen.
  • Ausführung: Nach erfolgreicher Injektion führt der Code Aktionen wie Privilegienerweiterung, Datendiebstahl, Befehlsausführung usw. aus.
  • Umgehung: Der eingeschleuste Code verwendet verschiedene Umgehungstaktiken, um Sicherheitssysteme zu umgehen.

Techniken der Prozessinjektion

Die Prozessinjektion kann durch den Einsatz vieler unterschiedlicher Taktiken erfolgen, wie z. B. DLL-Injektion (Dynamic Link Library), Process Hollowing, Portable Executable (PE) Injection, Extra Window Memory Injection und andere. Unter all diesen Methoden ist die DLL-Injektion die am häufigsten von Angreifern eingesetzte Technik.

DLL-Injektion ist eine Technik, bei der eine bestimmte Dateiform – eine DLL (Dynamic Link Library) – in einen Zielprozess eingeschleust wird. Ein Prozess ist dabei einfach eine laufende Instanz eines Softwareprogramms. Durch das Injizieren einer DLL in einen solchen Prozess erhält der Angreifer Zugriff auf dessen Speicher und kann dessen Ressourcen mitnutzen. DLLs enthalten wiederverwendbaren Code, der von mehreren Programmen gleichzeitig verwendet werden kann – genau das macht sie für Angreifer attraktiv.

DLL-Injection kann zwar für normale Vorgänge verwendet werden, z. B. um die reibungslose Zusammenarbeit zweier Programme zu gewährleisten, sie kann jedoch auch für böswillige Zwecke ausgenutzt werden. Es gibt verschiedene Methoden, um DLL-Injection durchzuführen, dazu gehören folgende Techniken:

  • Load library: Mit dieser Methode wird Code aus einer DLL geladen und ausgeführt.
  • Create remote thread: Hierbei handelt es sich um eine Window-API, die das Einschleusen von Code in einen anderen Prozess ermöglicht und diesen als Teil desselben ausführt.
  • SetWindowsHookEx: Dies ist eine Funktion, die ausgenutzt wird, um durch die Installation von Hook-Prozeduren Code in einen anderen Prozess einzuschleusen.

Erkennung und Abwehr von Prozessinjektion

DLL-Injection-Angriffe sind sehr gut getarnt und daher schwer zu erkennen. Ein gutes Verständnis des Angriffsmechanismus kann uns jedoch dabei helfen, Wege zu finden, ihn zu erkennen.

Im Folgenden werden einige Möglichkeiten zur Erkennung von DLL-Injection-Angriffen beschrieben:

  • Identifizieren Sie ungewöhnliche oder nicht autorisierte DLL-Lade- und Injektionsversuche, indem Sie die relevanten API-Aufrufe beobachten. Funktionsaufrufe, die mit dem Laden und der Injektion von DLLs verbunden sind, können mithilfe von API-Hooking-Strategien verfolgt werden.
  • Erstellen Sie eine Datenbank mit Hashes oder Signaturen für bekannte schädliche DLLs und scannen Sie Prozesse, Speicher und geladene DLLs mithilfe von Antivirus- oder Anti-Malware-Tools auf Übereinstimmungen mit diesen Signaturen.
  • Um verdächtige Aktivitäten zu erkennen, behalten Sie die Prozesse und ihre Interaktionen im Auge. Identifizieren Sie Prozesse, die sich seltsam verhalten, Code in andere Prozesse einfügen oder DLLs von ungewöhnlichen Speicherorten laden.
  • Suchen Sie in den Systemprotokollen nach Anzeichen für DLL-Injection-Angriffe. Achten Sie auf Anomalien, Warnungen oder unerwartete DLL-Ladeereignisse, die auf einen laufenden Angriff hinweisen können.

Um DLL-Injection-Angriffe zu entschärfen, können wir Laufzeitschutzmaßnahmen implementieren, die DLL-Injection-Bedrohungen sofort erkennen und stoppen, und Sicherheitslösungen für Endgeräte verwenden, die bestimmte Verhaltensmuster erkennen. Durch das Einrichten strenger Prüf- und Bereinigungsmechanismen für Eingaben, können wir verhindern, dass Anwendungen nicht vertrauenswürdige Daten verarbeiten – und trägt so wesentlich zur Sicherheit bei. Wir können auch Maßnahmen zur Systemhärtung ergreifen und Dateiberechtigungen einschränken. Allerdings kann eine einzelne Maßnahme keinen vollständigen Schutz vor Angriffen gewährleisten. Es wird empfohlen, einen mehrstufigen Ansatz zu verfolgen, der mehrere Sicherheitskontrollen und Benutzersensibilisierung kombiniert.

Verbessern Sie Ihre Sicherheitslage, indem Sie die Funktionen von Log360 optimal nutzen

Lassen Sie unsere Experten Ihre Sicherheitsanforderungen bewerten und zeigen, wie Log360 dazu beitragen kann, diese zu erfüllen.

  • Bitte geben Sie einen gültigen Text ein.
  • Bitte geben Sie einen gültigen Text ein.
  •  
  • PK
Wenn Sie auf Personlig demo klicken, erklären Sie sich mit der Verarbeitung personenbezogener Daten entsprechend unserer Datenschutzerklärung einverstanden.

Vielen Dank für Ihr Interesse an ManageEngine Log360.

Wir haben Ihre Anfrage für eine personalisierte Demo erhalten und werden Sie in Kürze kontaktieren.

Erfahren Sie, wie Log360 mit einer Reihe von Sicherheitsfunktionen wie den folgenden bei der Bekämpfung von Prozessinjektionsangriffen helfen kann:

  • MITRE ATT&CK-Framework-Implementierung
  • Sofortige Warnungsgenerierung
  • Analyse des Benutzerverhaltens
  • Ereigniskorrelation
Explore with our 30-day free trial

Erkennen und entschärfen Sie DLL-Injektionsangriffe mit Log360

Lernen Sie, wie Sie Korrelationsregeln, Warnmeldungen und Vorfall-Workflows einrichten und diese anpassen, um den Angriff zu erkennen und zu beheben.

  • Erkennung durch Korrelation
  • Erstellen eines Warnmeldungs-Profils und Workflows
  • Untersuchung über Berichte
  •  

Erkennung durch Korrelation

  • Ereignis-ID 4688 (Windows-Sicherheitsprotokoll): Überwacht die Initiierung eines neuen Prozesses, einem entscheidenden Schritt bei der DLL-Injektion.
  • Ereignis-ID 7 von Sysmon: Analysiert, ob vom Prozess anomale DLLs geladen werden.
  • Ereignis-ID 8 von Sysmon: Überprüft, ob innerhalb des Prozesses ein Remote-Thread erstellt wird. Dieser Schritt ist bei DLL-Injection-Angriffen von größter Bedeutung.
  • Ereignis-ID 11 von Sysmon: Protokolliert Datei-Erstellungsereignisse, die darauf hinweisen können, dass eine injizierte DLL in ein Verzeichnis geschrieben wurde.

Hinweis: Je nachdem, wie die DLL-Injektion durchgeführt wird, können neu erstellte Dateien bei der Erkennung des Angriffs helfen. Wenn die DLL jedoch direkt in den Speicher injiziert und nicht auf die Festplatte geschrieben wird, wird dieses Ereignis möglicherweise nicht ausgelöst.

  • 1. Erstellen Sie neue Aktionen mithilfe der oben genannten Ereignis-IDs.

    Detection through correlation
  • 2. Erstellen Sie die Korrelationsregel, indem Sie die Aktionen nacheinander hinzufügen.

    Detection through correlation
  • 3. Verwenden Sie die Filterfunkiton, um die Domain- und Gerätenamen-attribute der Aktionen 2-5 mit Aktion 1 abzugleichen. So stellen Sie sicher, dass alle diese Ereignisse im selben System aufgetreten sind, das als Domain Controller (DC) registriert wurde.

    Detection through correlation

Warnmeldungsprofil und Workflow erstellen

Für den unglücklichen Fall einer DLL-Injektion sollten sofort Maßnahmen ergriffen werden, indem der mit der Injektion verbundene Prozess beendet, das System isoliert und die Endpunkte blockiert werden. Mit dem vordefinierten Workflow von Log360 können Sie eine Abfolge von Schritten erstellen, die ausgelöst werden, wenn der Angriff erkannt wird. Vordefinierte Workflow-Aktionen wie „Prozess stoppen“ und „System herunterfahren“ können in den Workflow aufgenommen werden.

  • 1. Warnprofil für die Korrelationsregel.

    Alert profile and workflow
  • 2. Auswahl des Schweregrades und Konfiguration der Benachrichtigungseinstellungen.

    Alert profile and workflow
  • 3. Hinzufügen des Workflows.

    Alert profile and workflow
  • 4. Auslösen einer Warnung und erfolgreiche Ausführung des Workflows.

    Alert profile and workflow

Warnungen in Echtzeit

Wenn eine DLL-Injektion erkannt wird, können Warnmeldungen dem Sicherheitsteam helfen, ihre Aufmerksamkeit sofort auf den Vorfall zu richten. Log360 sendet eine sofortige Warnmeldung, wenn ein Ereignis dem Warnmeldeprofil entspricht. Log360 verfügt über verschiedene Warnmeldeprofile, die je nach spezifischen Anforderungen konfiguriert werden können. Mit der Warnmeldungsfunktion können Sie die Warnmeldungen per E-Mail oder SMS erhalten. Dies kann Ihnen dabei helfen, sofortige Maßnahmen zu ergreifen.

Untersuchung durch Berichte

Log360 verfügt über vordefinierte Berichte für bekannte Angriffe, sodass Benutzer detaillierte Einblicke in Sicherheitsereignisse von Interesse erhalten können. Sie können Berichte auswählen, die für eine bestimmte Art von Angriffen relevant sind, und sie zu Sicherheitsvorfällen hinzufügen. So können Sie Warnmeldungen erhalten und bei verdächtigen Ereignissen benachrichtigt werden. Bei DLL-Injection-Angriffen können Sie integrierte Berichte verwenden, z. B. zu EXE- und DLL-Dateien, die ausgeführt werden dürfen, zu EXE- und DLL-Dateien, die aufgrund erzwungener Regeln nicht ausgeführt werden dürfen, usw.

Implementieren Sie Abwehrstrategien und Maßnahmen zur Incident Response mit den erweiterten Sicherheitsfunktionen von Log360.

Jetzt herunterladen