
Öffentliche Offenlegung der Path-Traversal-Schwachstelle in Ivantis Avalanche
Eine neue Schwachstelle wurde in Ivanti Avalanche gefunden. Getestet auf Avalanche Server v6.3.4.153 und identifiziert als CVE-2023-41474.
Es handelt sich um eine eingeschränkte, nicht authentifizierte Path-Traversal-Schwachstelle, was bedeutet, dass nicht autorisierte Angreifer in einer Standardkonfiguration auf jede Datei unter
C:\\PROGRAM DATA\\Wavelink\\AVALANCHE\\Web\ webapps\AvalancheWeb zugreifen können. Allerdings sind nur einige Dateierweiterungen
betroffen, die angezeigt werden können, wie .xml oder .html (es gibt noch einige weitere, die zudem von den .htaccess-Regeln abhängen).
Um dieses Problem auszunutzen, kann ein Angreifer die folgende URL verwenden:
<domain>/AvalancheWeb//faces/javax.faces.resource/<file>?loc=<directory>
Als Beispiel kann der Angreifer auf die Datei web.xml im übergeordneten Verzeichnis WEB-INF zugreifen. Die Anfrage kann geändert werden, um auf jede Datei in jedem Unterverzeichnis zuzugreifen.
Um den Angriff zu reproduzieren, kann jedes Programm wie wget oder curl mit grundlegenden Argumenten verwendet werden.
Der folgende BurpSuite-Screenshot kann als Beispiel für eine erfolgreiche Ausnutzung dienen.

In einem realen Szenario kann ein nicht authentifizierter Angreifer mit geringer Vertraulichkeitsauswirkung auf Konfigurationseinstellungen und andere interne Informationen zugreifen.
In einigen Szenarien gibt es jedoch Dateien in diesem Verzeichnis, die für Session-Hijacking verwendet werden können und zu einer vollständigen Kompromittierung des Servers führen.
Wenn der Angreifer über administrative Privilegien verfügt (oder ein Administrator diesen Schritt zuvor durchgeführt hat), kann er einen Heap-Dump
des Avalanche-Prozesses durchführen (diese Funktionalität existiert ursprünglich zu Debugging-Zwecken). Die Funktionalität ist zu finden unter
Tools > Support and Licensing > Web Application Server > „Heap Dump“ und/oder „Thread Dump“

Eine erfolgreiche Antwort des Servers enthält den Pfad, in dem der Prozess-Dump gespeichert ist.

Da die Datei unter C:\Program Files\Wavelink\Avalanche\Web\webapps\ AvalancheWeb\dump.hprof gespeichert ist, ist sie über den Path-Traversal-Angriff
somit leichter zugänglich. Nun ist es an der Zeit, dass der Angreifer die Dump-Datei herunterlädt und eine Analyse davon durchführt.
wget --no-check-certificate '<domain>/AvalancheWeb//faces/javax.faces .resource/dump.hprof?loc=../'
Durch die Durchführung einiger grundlegender String-Suchen ist es möglich, die Anfragetexte der Login-Anfragen zu finden, die sich noch im Speicher befinden.

Innerhalb der Anfragetexte sind Benutzername und Passwörter für Angreifer sichtbar. Sie können diese Informationen nutzen, um Privilegien zu erhöhen oder sich lateral innerhalb der Umgebung zu bewegen.