Die Medien sind voll mit Meldungen zu Schwach­stellen wie Log4j und Polkit, die inzwischen vielen Anwendern bekannt sind. Doch es existieren auch potentielle Sicherheits­lücken, die im Netz weniger bekannt, jedoch nicht minder gefährlich sind, da sie zahl­reiche Unternehmen betreffen können.

Ein Beispiel für eine solche Schwachstelle ist „Windows Unquoted Path Vulnerability“. Worum geht es bei dieser Sicherheits­lücke und auf welche Weise entsteht das Problem?
Jeder Dienst auf einem Server führt beim Starten eine .exe-Datei aus, welche sich im Windows Datei­system befindet.

Diese kann zum Beispiel wie folgt aussehen: C:\Program Files\Folders\service.exe.

Dieser programm­spezifische Pfad ist in den Eigen­schaften des entsprechenden Dienstes einsehbar. Startet man nun diesen Dienst, so prüft das System den angegebenen Pfad und führt die .exe-Datei aus.

Wo liegt hier die Schwachstelle?

Bei dem angegebenen Beispiel­pfad gibt es gleich zwei Probleme, die zusammen zur Schwach­stelle führen:

  1. Der Pfad enthält ein Leerzeichen.
  2. Der Pfad ist nicht in Anführungszeichen gesetzt.

Diese vermeintlich kleinen Fehler können eine große Wirkung entfalten. Denn das System ist so konzipiert, dass es an der Stelle des Leer­zeichens zunächst nach einer .exe-Datei sucht (C:\Program.exe). Erst wenn diese nicht gefunden wird, geht das System den angegebenen Pfad weiter ab. Sollte es nun einem Angreifer gelingen, eine schad­hafte Datei namens Program.exe auf dem Laufwerk C: abzulegen (C:\Program.exe), so wird diese eingeschleuste Datei beim nächsten Start des Dienstes automatisch ausgeführt.

Die Behebung dieser Lücke ist glücklicher­weise relativ einfach zu bewerk­stelligen.

Im Registrierungs-Editor findet man im Pfad „HKLM\SYSTEM\CurrentControlSet\Services\“ die Verzeichnisse von allen installierten Diensten. Der Key „ImagePath“ gibt den Pfad an, in dem sich die .exe-Datei des Dienstes befindet.

Siehe Beispiel:

Über das Kontext­menü des Eintrags lässt sich der Pfad anpassen und, wie im Beispiel gezeigten Text in Anführungs­zeichen setzen. Der Dienst muss hierzu allerdings ausgeschaltet sein.

Unter welchen Voraus­setzungen lässt sich diese Sicherheits­lücke ausnutzen?

Der Angreifer benötigt dazu Zugriff auf das lokale System, sowie in diesem Beispiel verdeutlicht, Schreib­rechte auf das Laufwerk C: des lokalen Systems. Da man diese Sicherheits­lücke relativ schnell und unproblematisch aufspüren und beheben kann, ist sie nicht als hoch kritisch anzusehen. Dennoch sollte man ihr Potential keinesfalls unter­schätzen.

Für Unternehmen und Organisationen besonders wichtig:

Entwickeln Sie einen auf Ihre individuelle IT-Infra­struktur angepassten Workflow, um Ihre Systeme regelmäßig nach Schwach­stellen dieser Art zu untersuchen. Wir setzen beispielsweise Greenbone ein, um unsere Systeme regelmäßig nach Schwach­stellen zu scannen. Sprechen Sie uns zum Thema vermeidbare Sicherheits­lücken gerne an. Bei Interesse beraten wir Sie und Ihr Unternehmen gerne rund um das Thema IT-Sicherheit.