?>
Directory-Traversal
Author
Robin Laufenburg, Fr, 26. Mai. 2023
in IT-Sicherheit

Directory-Traversal

Schwerwiegende Sicherheitslücke in Webservern und Webanwendungen

Sie wissen nicht, was Directory-Traversal oder File-Path-Traversal ist? Leider hindert das Cyberkriminelle nicht daran, Traversal-Sicherheitslücken auszunutzen bzw. durch einen Traversal-Angriff auf Ihren Webserver oder Ihre Webanwendung zuzugreifen.

Wir erklären Ihnen, was ein Directory-Traversal-Angriff ist und wie Sie herausfinden, ob Ihre Webserver und Webanwendungen Traversal-Schwachstellen aufweisen.

Was ist File-Path- oder Directory-Traversal?

Der Begriff Directory-Traversal (auch File-Path-Traversal) bedeutet ins Deutsche übersetzt in etwa so viel wie „Verzeichnisüberquerung“. Es handelt sich dabei um eine Web-Sicherheitslücke, die den Zugriff auf Webserver und Webanwendungen von außen ermöglicht. Durch das Ausnutzen der Lücke, beim sogenannten Forceful-Browsing, können Cyberkriminelle mithilfe der Eingabe von URLs auf Webverzeichnisse, Unterverzeichnisse und entsprechende Dateien zugreifen, die eigentlich nur für den internen Zugriff bestimmt sind.

Durch einen Directory-Traversal-Angriff lassen sich mittels manipulierter Pfadangabe auch mit Passwort geschützte Zugänge umgehen. Hierüber können wiederum persönliche und sensible Daten aufgerufen werden. Das können zum Beispiel Konfigurationsdateien, Systeminformationen, Adressdokumente sowie Zugriffs- und Anmeldedaten für Backend-Systeme sein. In manchen Fällen können Angreifer auch beliebige Dateien auf dem Server überschreiben, ausführen oder verändern. Hierdurch können sie unter Umständen Anwendungsdaten ändern, beschädigen oder mit ihnen sogar die vollständige Kontrolle über den Server übernehmen.

File-Path- oder Directory-Traversal

Mithilfe von File-Path- oder Directory-Traversal können Kriminelle Ihre Verzeichnisse und Dateien durchsuchen. Bild: Pexels/@tima-miroshnichenko

Wie funktioniert ein Traversal-Angriff?

Damit Angreifer einen Directory-Traversal-Angriff erfolgreich durchführen können, ist es notwendig, dass sich die Verzeichnisstruktur mit der Eingabe von …/ in der Navigation eine Ebene nach oben bewegt. Hierdurch können Traversal-Angreifer Verzeichnisse aufrufen, auf die sie eigentlich gar nicht zugreifen können sollten. Durch eine umfangreiche Analyse von Webservern oder Webanwendungen versuchen sie, Informationen zu gewinnen; wie Parameter und aufgerufene URLs.

Directory-Traversal ist unter anderem deswegen so erfolgreich, weil bei beliebten Content-Management-Systemen wie WordPress die als Standard eingestellten Verzeichnisstrukturen und Namen wichtiger Dateien öffentlich bekannt sind. Administratoren ändern sie aber häufig nicht. Das erleichtert den Angreifern die Suche nach ungeschützten Webverzeichnissen. Directory-Traversal ist aber nicht nur bei der Anwendung von Content-Management-Systemen ein zentrales Problem, sondern auch bei Webanwendungen mit mehreren Rechte-Ebenen, die nicht klar definiert sind.

Ein möglicher Angriffsvektor ist die Manipulation von Pfadangaben in URL-Parametern oder Formularfeldern. Angreifer können beispielsweise versuchen, auf die Passwortdatei eines Systems oder auf Backups oder alte Versionen von Skripten zuzugreifen, die unter Umständen vertrauliche Daten enthalten.

Auslesen von Dateien

Item-Argumente, die für die Ausgabe von Dateien definiert werden, können von Angreifern ausgenutzt werden. Wenn beispielsweise ein index.foo-Skript den Wert für das Argument unzureichend prüft, kann es dazu kommen, dass eine Directory-Traversal-Sicherheitslücke entsteht. Durch simples Ausprobieren, das manuell oder automatisiert geschehen kann, können Angreifer auf diese Weise verschiedene Dateien ermitteln.

Konkret bedeutet das: Führt die URL https://example.de/index-foo?item=datei1.html zu einer Datei, kann es passieren, dass ein Angreifer über die URL https://example.de/index-foo?item=datei2.html auf eine andere Datei zugreifen kann, auch, wenn sie sich in einem anderen Verzeichnis befindet. Wenn sich über die URL https://example.de/berichte/Jahresbericht_2021.pdf eine PDF-Datei finden lässt, ist tendenziell davon auszugehen, dass sich über die URL https://example.de/berichte/Jahresbericht_2022.pdf ein Bericht für das folgende Kalenderjahr finden lassen könnte, der möglicherweise noch nicht auf der Website eingebunden oder öffentlich bekanntgegeben ist.

Traversal-Angriff

Mit einem Traversal-Angriff gelingt es Angreifern zum Teil, in Bereiche vorzudringen, für die sie keine Berechtigung haben. Bild: Pexels/@anete-lusina

Austausch von Parametern

Directory-Traversal-Sicherheitslücken können aufgrund von austauschbaren Parametern entstehen. Bekommt ein Anwender beim Aufrufen der URL https://www.examplebank.de/kontostand?nr=123456 beispielsweise seine Kontodaten angezeigt, könnte er versuchen, durch Veränderung des Parameters in der URL, mit dem in diesem Fall eine Kontonummer angegeben wird, Zugriff auf ein Fremdkonto zu erlangen. Hierfür muss er unter Umständen nur die URL https://www.examplebank.de/kontostand?nr=789123 aufrufen.

Zum Glück funktioniert dieser Angriff nur, wenn die Webanwendung den Parameter nicht überprüft bzw. nicht kontrolliert, ob der faktische Benutzer auch tatsächlich die notwendigen Zugriffsrechte für die Aktion hat. Das dürfte bei den wenigsten Banken der Fall sein. Anders sieht es leider bei einfachen Wiki-Systemen, Foren oder selbstgebastelten Websites aus, auf denen man sich mit einem Benutzerkonto anmelden kann.

Aufruf von Backups

Angriffsziel können auch Backups sein, die möglicherweise ebenfalls sensible und benutzerbezogene Daten enthalten. Das PHP-Skript database.php kann zum Beispiel die Zugangsdaten zu einem Daten­bank-Management-System enthalten. Diese Daten werden nicht an den Benutzer geschickt, sondern nur intern durch den (PHP-)Interpreter bei der Verbindung zur Datenbank verwendet.

Existiert jetzt aber beispielsweise ein Backup dieser Datei unter dem Namen database.php.bak, wird der Inhalt der Datei möglicherweise als reiner Text erkannt und direkt an den Benutzer gesendet, der die Datei anfordert. Auf diesem Weg kann er möglicherweise Zugangsdaten in Reintextform zu Gesicht bekommen und sich mit den ausspionierten Fremdzugangsdaten im System anmelden.

Directory-Traversal

Durch Directory-Traversal können Kriminelle zum Teil an sensible Inhalte oder Zugänge gelangen. Schützen Sie sich deswegen! Bild: Pexels/@anete-lusina

Directory-Traversal verhindern

Die effektivste Methode, sämtliche Dateipfadüberquerungen zu verhindern, ist die gänzliche Vermeidung der Übergabe von Benutzereingaben an das Dateisystem-API. Viele Anwendungsfunktionen, die dies standardisiert machen, können so umgeschrieben werden, dass sie das gleiche Ergebnis auf sichere Weise erreichen.

Sollten Sie die Übergabe von Benutzereingaben an Dateisystem-APIs als unvermeidlich ansehen, sollten Sie zwei Verteidigungsschichten verwenden, um Traversal zu verhindern: Um Directory-Traversal-Angriffe zu verhindern, sollten Webserver und Webanwendungen Benutzereingaben, bevor sie sie verarbeiten, validieren und nur den Zugriff auf erlaubte Pfade ermöglichen. Im Idealfall sollte die Validierung mit einer Whitelist zulässiger Werte abgeglichen werden. Nach der Validierung der gelieferten Eingabe sollte die Anwendung die Eingabe an das Basisverzeichnis anhängen und den Pfad mithilfe einer Dateisystem-API der Plattform kanonisieren.

IT-Hilfe nötig? PC-SPEZIALIST hilft!

Sie sollten dann unbedingt überprüfen, ob der kanonisierte Pfad mit dem erwarteten Basisverzeichnis beginnt. Außerdem sollten sensible Daten nach Möglichkeit verschlüsselt oder außerhalb des Web-Root-Verzeichnisses gespeichert werden.

Sie finden das ganze Thema kompliziert, verwirrend und sind sich unsicher, ob Sie die Directory-Traversal-Sicherheitslücke auch wirklich geschlossen haben? Wenn Sie sich eine Prüfung und fachkompetente Beratung wünschen, sind Sie als Selbstständiger oder mit Ihrem Unternehmen, bei PC-SPEZIALIST in Ihrer Nähe genau richtig. Gern kümmern wir uns um die Einrichtung und Konfigurierung Ihres Webservers. Sollten Sie Unterstützung bei der hochsicheren Strukturierung Ihres Content-Management-Systems oder einer anderen Webanwendung benötigen, stehen wir Ihnen ebenfalls kompetent zur Seite. Natürlich stehen wir Ihnen auch in anderen Belangen rund um das Thema IT-Sicherheit und IT-Ausstattung zur Seite. Sprechen Sie uns einfach an!

_______________________________________________

Quellen: Portswigger, IT Security Wissen

Schreiben Sie einen Kommentar

Ihre E-Mail Adresse wird nicht veröffentlicht.

0 Kommentare