Die Medien sind voll mit Meldungen zu Schwachstellen wie Log4j und Polkit, die inzwischen vielen Anwendern bekannt sind. Doch es existieren auch potentielle Sicherheitslücken, die im Netz weniger bekannt, jedoch nicht minder gefährlich sind, da sie zahlreiche Unternehmen betreffen können.
Ein Beispiel für eine solche Schwachstelle ist „Windows Unquoted Path Vulnerability“. Worum geht es bei dieser Sicherheitslü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 Dateisystem befindet.
Diese kann zum Beispiel wie folgt aussehen: C:\Program Files\Folders\service.exe.
Dieser programmspezifische Pfad ist in den Eigenschaften 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 Beispielpfad gibt es gleich zwei Probleme, die zusammen zur Schwachstelle führen:
- Der Pfad enthält ein Leerzeichen.
- 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 Leerzeichens 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 schadhafte 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ücklicherweise relativ einfach zu bewerkstelligen.
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 Kontextmenü des Eintrags lässt sich der Pfad anpassen und, wie im Beispiel gezeigten Text in Anführungszeichen setzen. Der Dienst muss hierzu allerdings ausgeschaltet sein.
Unter welchen Voraussetzungen lässt sich diese Sicherheitslücke ausnutzen?
Der Angreifer benötigt dazu Zugriff auf das lokale System, sowie in diesem Beispiel verdeutlicht, Schreibrechte auf das Laufwerk C: des lokalen Systems. Da man diese Sicherheitslücke relativ schnell und unproblematisch aufspüren und beheben kann, ist sie nicht als hoch kritisch anzusehen. Dennoch sollte man ihr Potential keinesfalls unterschätzen.
Für Unternehmen und Organisationen besonders wichtig:
Entwickeln Sie einen auf Ihre individuelle IT-Infrastruktur angepassten Workflow, um Ihre Systeme regelmäßig nach Schwachstellen dieser Art zu untersuchen. Wir setzen beispielsweise Greenbone ein, um unsere Systeme regelmäßig nach Schwachstellen zu scannen. Sprechen Sie uns zum Thema vermeidbare Sicherheitslücken gerne an. Bei Interesse beraten wir Sie und Ihr Unternehmen gerne rund um das Thema IT-Sicherheit.