Kurzfassung: Process Injection ist der Oberbegriff dafür, dass ein Angreifer seinen Code in einen anderen, laufenden Prozess einbringt und dort ausführt. Der Schadcode läuft dann unter dem Namen und mit den Rechten eines vertrauenswürdigen Prozesses statt in einem eigenen. Für die Erkennung zählt nicht das Wie der Injektion, sondern die Spur, die jede Variante hinterlässt: der Zugriff auf einen fremden Prozess in Sysmon Event 10, der Remote-Thread in Sysmon Event 8 und die Prozess-Manipulation in Sysmon Event 25. Drei geprüfte Sigma-Regeln, Härtung und Test. Serie „Angriff erkennen“.
Process Injection erkennen gehört zu den anspruchsvolleren Aufgaben im SOC, weil der Schadcode nicht als eigener Prozess auftritt, sondern sich in einem bereits laufenden, oft signierten Prozess versteckt. Ein Blick in die Prozessliste zeigt nur bekannte Namen. Unsichtbar ist die Technik trotzdem nicht: Der Weg in den fremden Prozess hinein hinterlässt auf dem Endpunkt charakteristische Ereignisse. Dieser Beitrag aus der Serie „Angriff erkennen“ zeigt die Technik aus Verteidigersicht, mit drei Sigma-Regeln, der Härtung und dem Test.
Einordnung in ATT&CK: Process Injection ist in ATT&CK die Technik T1055 mit einer Reihe von Unterverfahren, darunter Process Hollowing (T1055.012). MITRE führt sie unter Defense Evasion und Privilege Escalation; seit ATT&CK Version 19 trägt die Ausweich-Taktik auf dieser Seite den Namen Stealth (TA0005). In der Serie steht der Beitrag deshalb in der Spalte Stealth, weil der Verteidiger hier die Tarnung im fremden Prozess sucht.
Was der Angreifer tut
Hinter dem Oberbegriff stehen mehrere Verfahren, die alle dasselbe Ziel haben: fremden Code in einem anderen Prozess ausführen. Auf der Ebene des Prinzips, nicht als Anleitung:
- Remote-Thread-Injektion. Der Angreifer bringt Code in einen fremden Prozess ein und lässt dort einen neuen Thread anlaufen. Das ist die klassische und am besten dokumentierte Variante.
- Process Hollowing. Ein legitimer Prozess wird gestartet und sein Code im Speicher durch fremden ersetzt. Von außen sieht der Prozess unverändert aus, innen läuft etwas anderes.
- Weitere Varianten. Daneben gibt es Verfahren über Warteschlangen für Threads oder über manipulierte Ausführungszeiger. Für die Erkennung sind die Details zweitrangig, weil sie sich in denselben Logquellen zeigen.
Allen gemeinsam ist der Zugriff von einem Prozess auf einen anderen mit weitreichenden Rechten. Genau dieser Zugriff und seine Folgen sind der Ansatzpunkt für die Erkennung.
Welche Logquellen die Technik zeigt
- Zugriff auf einen fremden Prozess. Sysmon Event 10 (ProcessAccess) protokolliert, wenn ein Prozess einen anderen mit bestimmten Rechten öffnet. Die Zugriffsmaske verrät, ob Schreiben in den Speicher und das Anlegen von Threads erlaubt wurde, die Voraussetzung jeder Injektion.
- Der Remote-Thread. Sysmon Event 8 (CreateRemoteThread) zeigt direkt, wenn ein Prozess in einem anderen einen Thread startet, samt Quell- und Zielprozess.
- Prozess-Manipulation. Sysmon Event 25 (ProcessTampering) meldet, wenn das Abbild eines Prozesses im Speicher nicht mehr zur Datei auf der Platte passt, das Kennzeichen von Process Hollowing.
- EDR und Speicheranalyse. Ein EDR ergänzt diese Ereignisse um Hinweise auf ausgeführten Code in Speicherbereichen ohne hinterlegtes Modul. Diese Telemetrie ist die zuverlässigste, aber nicht überall vorhanden. Zur Einrichtung der Sysmon-Seite siehe Sysmon einrichten.
Das Muster im Log
Das stärkste Signal ist die Kombination: Ein Prozess öffnet einen fremden Prozess mit Schreib- und Thread-Rechten (Event 10), und kurz darauf entsteht dort ein Remote-Thread (Event 8). Verdächtig ist vor allem, wenn Quelle und Ziel nicht zusammenpassen, etwa ein Office-Programm oder ein Skript-Host, der einen Systemprozess öffnet. Eine Meldung über Prozess-Manipulation (Event 25) ist für sich schon ein deutliches Zeichen, weil legitime Software ihr eigenes Abbild im Speicher nur selten austauscht. Der Zugriff auf lsass ist ein Sonderfall, den der Beitrag zu Mimikatz und LSASS-Dump gesondert behandelt.
Drei Sigma-Regeln
Die Regeln sind mit sigma-cli geprüft und nutzen die drei genannten Sysmon-Ereignisse. Sie setzen voraus, dass Event 8, 10 und 25 in der Sysmon-Konfiguration aktiviert sind; gerade Event 8 und 10 sind laut und brauchen gezielte Filter.
1. Remote-Thread in einen sensiblen Systemprozess (T1055). In Prozesse wie lsass, winlogon oder csrss legt kein normales Programm von außen einen Thread an. Diese Regel steht deshalb auf level: high.
title: Remote-Thread in einen sensiblen Systemprozess
id: 11941a12-cdc3-4c7d-87c5-f6c92fc45365
status: experimental
description: |
Erkennt das Erstellen eines Threads in einem sensiblen Systemprozess durch
einen anderen Prozess. In lsass, winlogon, csrss oder services legt kein
normales Programm von aussen einen Thread an; ein solcher Remote-Thread ist
ein starkes Zeichen fuer Code-Injection in einen vertrauenswuerdigen Prozess.
references:
- https://attack.mitre.org/techniques/T1055/
author: blue-team.net
tags:
- attack.stealth
- attack.privilege-escalation
- attack.t1055
logsource:
category: create_remote_thread
product: windows
detection:
selection:
TargetImage|endswith:
- '\lsass.exe'
- '\winlogon.exe'
- '\csrss.exe'
- '\services.exe'
filter_av:
SourceImage|contains:
- '\Windows Defender\'
- '\Microsoft Security Client\'
condition: selection and not filter_av
falsepositives:
- Sicherheitsprodukte und Debugger, die legitim Threads in Systemprozesse einschleusen; bekannte Quellen ausnehmen
level: high
2. Prozess-Manipulation durch Image-Austausch (T1055.012). Die Sysmon-Meldung über ein ersetztes Abbild ist das direkte Kennzeichen von Process Hollowing und steht auf level: high.
title: Prozess-Manipulation durch Image-Austausch
id: 295c4438-69cd-4692-b652-d1198210c976
status: experimental
description: |
Erkennt die Sysmon-Meldung ueber eine Prozess-Manipulation, bei der das
Abbild eines laufenden Prozesses im Speicher nicht mehr zur Datei auf der
Platte passt. Das ist das Muster von Process Hollowing und verwandten
Techniken, bei denen ein legitimer Prozess gestartet und sein Code im
Speicher ersetzt wird.
references:
- https://attack.mitre.org/techniques/T1055/012/
author: blue-team.net
tags:
- attack.stealth
- attack.t1055.012
logsource:
category: process_tampering
product: windows
detection:
selection:
Type|contains: 'Image'
condition: selection
falsepositives:
- Einige Packer und Schutzmechanismen legitimer Software loesen die Meldung aus; nach Prozess und Signatur ausnehmen
level: high
3. Prozesszugriff mit Schreib- und Thread-Rechten (T1055). Eine Zugriffsmaske, die Schreiben in den Speicher und das Anlegen von Threads erlaubt, ist die Voraussetzung jeder Injektion. Den Zugriff auf lsass deckt eine eigene Regel ab; diese steht auf level: medium.
title: Prozesszugriff mit Schreib- und Thread-Rechten auf einen fremden Prozess
id: 25f46a6f-f4c8-437c-9680-0c5279c3594d
status: experimental
description: |
Erkennt das Oeffnen eines fremden Prozesses mit einer Zugriffsmaske, die
Schreiben in den Speicher und das Erstellen von Threads erlaubt. Diese
Kombination ist die Voraussetzung fuer klassische Code-Injection. Der
Zugriff auf lsass deckt eine eigene Regel ab; hier geht es um sonstige Ziele.
references:
- https://attack.mitre.org/techniques/T1055/
author: blue-team.net
tags:
- attack.stealth
- attack.t1055
logsource:
category: process_access
product: windows
detection:
selection:
GrantedAccess:
- '0x1F3FFF'
- '0x1FFFFF'
- '0x143A'
- '0x1438'
filter_lsass:
TargetImage|endswith: '\lsass.exe'
filter_av:
SourceImage|contains:
- '\Windows Defender\'
- '\Microsoft Security Client\'
condition: selection and not filter_lsass and not filter_av
falsepositives:
- Debugger, Diagnosewerkzeuge und Sicherheitsprodukte mit legitimem Vollzugriff; bekannte Quellen ausnehmen
level: medium
Härtung: der Angriff, der ins Leere läuft
- Credential Guard und geschützte Prozesse. Protected Process Light (PPL) und Credential Guard erschweren den Zugriff auf sensible Prozesse wie lsass erheblich und nehmen einer ganzen Klasse von Injektionen das Ziel.
- ASR-Regeln aktivieren. Die Regeln zur Verringerung der Angriffsfläche von Defender blockieren unter anderem das Einschleusen von Code durch Office-Anwendungen und andere häufige Quellen.
- EDR im Blockmodus. Ein EDR, das verdächtige Speicheroperationen nicht nur meldet, sondern blockiert, nimmt vielen Injektionsvarianten die Wirkung.
- Angriffsfläche verkleinern. Makros einschränken, Skript-Hosts und anfällige Anwendungen reduzieren: Je weniger Startpunkte, desto weniger Prozesse können als Quelle einer Injektion dienen.
Der Test
Die Erkennung lässt sich im Lab gefahrlos prüfen, auf einem isolierten System mit aktivem Sysmon (Event 8, 10 und 25 eingeschaltet):
- Atomic Red Team hat für T1055 und seine Unterverfahren fertige Tests, die eine Injektion mit harmlosem Code nachstellen. Nach einem Lauf müssen Event 10 und 8 den Zugriff und den Remote-Thread zeigen und die Regeln auslösen.
- Für Regel 2 eignet sich ein Atomic-Test zu Process Hollowing; erwartet wird eine Meldung in Event 25.
- Wichtig ist, nur freigegebene Testwerkzeuge in einer isolierten Umgebung zu verwenden und danach einen Snapshot zurückzuspielen. Mehr zum Vorgehen unter Atomic Red Team.
Fehlalarme und Tuning
- Event 8 und 10 sind laut. Viele legitime Programme öffnen fremde Prozesse. Filtere bereits in der Sysmon-Konfiguration auf die relevanten Zugriffsmasken und Zielprozesse, statt alles zu protokollieren.
- Sicherheits- und Diagnosewerkzeuge. Virenschutz, EDR, Debugger und Backup-Agenten greifen legitim mit weitreichenden Rechten auf andere Prozesse zu. Nimm die bekannten Quellen nach Pfad und Signatur als Ausnahme auf.
- Quelle und Ziel bewerten. Ein Zugriff von einem Entwicklungswerkzeug auf einen eigenen Kindprozess wiegt leicht; ein Office-Programm oder Skript-Host, der einen Systemprozess öffnet, wiegt schwer. Reichere die Treffer um die Eltern-Kind-Beziehung an.
- Priorität. Eine Meldung aus Event 25 und ein Remote-Thread in lsass, winlogon oder csrss gehören zu den hochprioren Alarmen.
Fazit
Process Injection versteckt den Code im fremden Prozess, aber nicht den Weg dorthin: Der Zugriff, der Remote-Thread und die Manipulation des Abbilds ergeben zusammen ein klares Muster. Wer Sysmon Event 8, 10 und 25 gezielt konfiguriert, sensible Prozesse mit PPL und Credential Guard härtet und ein EDR im Blockmodus betreibt, nimmt dieser Technik den größten Teil ihrer Tarnung. Weitere Verfahren, mit denen Angreifer unentdeckt bleiben, sammelt das Lexikon nach Taktik unter Stealth.