
Divulgación pública de la vulnerabilidad de Path Traversal en Ivanti Avalanche
Se ha encontrado una nueva vulnerabilidad en Ivanti Avalanche. Probada en Avalanche Server v6.3.4.153 e identificada como CVE-2023-41474.
Es una vulnerabilidad limitada de path traversal sin autenticación, lo que significa que atacantes no autorizados pueden acceder a cualquier archivo dentro de
C:\\PROGRAM DATA\\Wavelink\\AVALANCHE\\Web\ webapps\AvalancheWeb en una configuración predeterminada. Sin embargo, solo algunas extensiones de archivo
se ven afectadas para mostrarse, como .xml o .html (hay algunas más y también dependen de las reglas de .htaccess).
Para explotar este problema, un atacante puede utilizar la siguiente URL:
<domain>/AvalancheWeb//faces/javax.faces.resource/<file>?loc=<directory>
Como ejemplo, el atacante puede acceder al archivo web.xml dentro del directorio padre WEB-INF. La solicitud se puede modificar para acceder a cualquier archivo en cualquier subdirectorio.
Para reproducir el ataque, se puede usar cualquier programa como wget o curl con argumentos básicos.
La siguiente captura de pantalla de BurpSuite se puede usar como ejemplo de una explotación exitosa.

En un escenario real, un atacante no autenticado puede acceder a ajustes de configuración y otra información interna con un impacto de confidencialidad bajo.
Sin embargo, en algunos escenarios hay archivos en este directorio que se pueden usar para el secuestro de sesiones y lograr un compromiso total del servidor.
Si el atacante posee privilegios administrativos (o hay un administrador que realizó este paso previamente), puede realizar un Heap dump
del proceso de Avalanche (esta funcionalidad existe originalmente con fines de depuración). La funcionalidad se puede encontrar en
Tools > Support and Licensing > Web Application Server > “Heap Dump” y/o “Thread Dump”

Una respuesta exitosa del servidor incluye la ruta donde se almacena el volcado del proceso.

Dado que el archivo se almacena en C:\Program Files\Wavelink\Avalanche\Web\webapps\ AvalancheWeb\dump.hprof, es por tanto más accesible mediante el ataque de path traversal.
Ahora, es momento de que el atacante descargue el archivo de volcado y realice un análisis del mismo.
wget --no-check-certificate '<domain>/AvalancheWeb//faces/javax.faces .resource/dump.hprof?loc=../'
Mediante la realización de algunas búsquedas básicas de cadenas, es posible encontrar los cuerpos de las solicitudes de inicio de sesión aún en memoria.

Dentro de los cuerpos, los nombres de usuario y contraseñas quedan expuestos a los atacantes. Pueden usar esta información para elevar privilegios o moverse lateralmente dentro del entorno.