
Divulgazione pubblica della vulnerabilità Path Traversal di Ivanti Avalanche
Una nuova vulnerabilità è stata trovata su Ivanti Avalanche. Testata su Avalanche Server v6.3.4.153 e identificata come CVE-2023-41474.
Si tratta di una vulnerabilità di path traversal limitata e non autenticata, il che significa che attaccanti non autorizzati possono accedere a qualsiasi file sotto
C:\\PROGRAM DATA\\Wavelink\\AVALANCHE\\Web\ webapps\AvalancheWeb in una configurazione predefinita. Tuttavia, solo alcune estensioni di file
possono essere visualizzate, come .xml o .html (ce ne sono altre e dipendono anche dalle regole .htaccess).
Per sfruttare questo problema, un attaccante può utilizzare il seguente URL:
<domain>/AvalancheWeb//faces/javax.faces.resource/<file>?loc=<directory>
Ad esempio, l'attaccante può accedere al file web.xml nella directory padre WEB-INF. La richiesta può essere modificata per accedere a qualsiasi file in qualsiasi sottodirectory.
Per riprodurre l'attacco, qualsiasi programma come wget o curl può essere utilizzato con argomenti di base.
La seguente schermata di BurpSuite può essere utilizzata come esempio di sfruttamento riuscito.

In uno scenario reale, un attaccante non autenticato può accedere alle impostazioni di configurazione e ad altre informazioni interne con un basso impatto sulla riservatezza.
Tuttavia, in alcuni scenari ci sono file in questa directory che possono essere utilizzati per il session hijacking e portare a una compromissione completa del server.
Se l'attaccante possiede privilegi amministrativi (o se un amministratore ha eseguito questo passaggio in precedenza), può eseguire un Heap dump
del processo Avalanche (questa funzionalità esiste originariamente per scopi di debug). La funzionalità si trova in
Tools > Support and Licensing > Web Application Server > "Heap Dump" e/o "Thread Dump"

Una risposta riuscita del server include il percorso in cui viene salvato il dump del processo.

Poiché il file viene salvato in C:\Program Files\Wavelink\Avalanche\Web\webapps\ AvalancheWeb\dump.hprof, è quindi più accessibile tramite l'attacco di path traversal.
Ora è il momento per l'attaccante di scaricare il file di dump ed eseguirne un'analisi.
wget --no-check-certificate '<domain>/AvalancheWeb//faces/javax.faces .resource/dump.hprof?loc=../'
Eseguendo alcune ricerche di stringhe di base, è possibile trovare i body delle richieste di login ancora in memoria.

All'interno dei body, username e password sono esposti agli attaccanti. Possono utilizzare queste informazioni per elevare i privilegi o muoversi lateralmente all'interno dell'ambiente.