# Remote Code Execution

Eine Remote Code Execution (RCE, deutsch: „ferngesteuerte Code-Ausführung“,) bezeichnet in der Informationssicherheit eine Sicherheitsschwachstelle in Server-Systemen. Remote-Code-Execution-Angriffe beginnen in der Regel mit einer Schwachstelle in einer öffentlich zugänglichen Anwendung, die die Möglichkeit bietet, Schadprogramme auszuführen und somit unerwünschte Befehle auf dem zugrunde liegenden Rechner auszuführen. Angreifer können dies nutzen, um sich einen ersten Zugang zu einem Gerät zu verschaffen, um Schadprogramme zu installieren oder andere Ziele zu erreichen.
RCE-Schwachstellen erlauben einem Angreifer die Ausführung von beliebigem Code auf einem Gerät, ohne physischen Kontakt zu haben.

## Arten

Ein Angreifer kann dies auf verschiedene Arten erreichen, und entsprechende Angriffe können auf verschiedenen Zugangswegen erfolgen.

### Injektionsangriffe

Viele verschiedene Arten von Anwendungen, wie zum Beispiel manipulierte SQL-Abfragen, verwenden vom Benutzer bereitgestellte Daten als Eingabe für einen Befehl. Bei einem Injektionsangriff stellt der Angreifer eine oder mehrere absichtlich manipulierte Anfragen, die dazu führen, dass ein Teil seiner Anfrage oder die gesamte Eingabe als Teil des Befehls interpretiert wird. Dies ermöglicht es dem Angreifer, die auf dem anfälligen System ausgeführten Befehle zu beeinflussen oder beliebigen Code darauf auszuführen.

### Deserialisierungs-Angriffe

Anwendungen verwenden üblicherweise Serialisierung, um mehrere Daten in einer einzigen Zeichenkette zusammenzufassen, um die Datenübertragung oder Kommunikation zu erleichtern. Speziell formatierte Benutzereingaben innerhalb der serialisierten Daten können von dem Deserialisierungsprogramm als ausführbarer Code interpretiert werden.

### Out-of-Bounds Write

Anwendungen weisen regelmäßig Speicherabschnitte fester Größe für die Speicherung von Daten zu, einschließlich vom Benutzer bereitgestellter Daten. Software, deren zugrundeliegende Programmiersprachen keine strenge Typsicherheit bieten, kann auf diese Weise angegriffen werden. Wenn diese Speicherzuweisung nicht korrekt durchgeführt wird, kann ein Angreifer eine Eingabe entwerfen, die außerhalb des zugewiesenen Puffers geschrieben wird. Da auch ausführbarer Code im Speicher gespeichert wird/werden kann, können vom Benutzer bereitgestellte Daten, die an die richtigen Stelle geschrieben wurden, von der Anwendung ausgeführt werden. Ist die Anfrage des Benutzers dementsprechend manipuliert, kann Code vom Angreifer auf dem Gerät des Opfers ausgeführt werden.

## Die mögliche Bedrohung

RCE-Angriffe dienen vielfältigen Zielen.

### Initial-Zugriff

Angreifer können Schwachstellen nutzen, um sich einen ersten Zugang zu einem Gerät zu verschaffen, um Schadprogramme zu installieren oder andere Ziele zu erreichen. Eine RCE-Schwachstelle kann einem Angreifer vollen Zugriff auf, sowie die Kontrolle über, ein kompromittiertes Gerät verschaffen, was sie zu einer der gefährlichsten und kritischsten Arten von Schwachstellen macht. Im Folgenden sind nur einige der häufigsten Auswirkungen von RCE-Schwachstellen aufgeführt.

### Veröffentlichen von Informationen

RCE-Angriffe können dazu verwendet werden, Schadprogramme zu installieren, welche Daten stehlen, oder direkt Befehle auszuführen, die Daten von dem anfälligen Gerät extrahieren und exfiltrieren kann.

### Denial of Service (DOS)

Eine RCE-Schwachstelle ermöglicht es einem Angreifer, Code auf dem System auszuführen, auf dem die anfällige Anwendung läuft. Dadurch kann er den Betrieb dieser oder anderer Anwendungen auf dem System unterbrechen.

### Kryptomining

Kryptomining- oder Kryptojacking-Malware nutzt die Rechenressourcen eines kompromittierten Geräts, um Kryptowährungen zu schürfen. RCE-Schwachstellen werden häufig ausgenutzt, um Kryptomining-Malware auf anfälligen Geräten zu installieren und auszuführen.

### Ransomware

Ransomware sind Schadprogramme, die darauf abzielen, einem Benutzer den Zugriff auf seine Dateien zu verweigern, bis er ein Lösegeld zahlt, um den Zugriff wiederzuerlangen. RCE-Schwachstellen können auch dazu verwendet werden, Ransomware auf einem anfälligen Gerät zu installieren und auszuführen.

## Beispiele

* Log4Shell (CVE-2021-44228)