
Divulgação pública da vulnerabilidade de Path Traversal do Avalanche da Ivanti
Uma nova vulnerabilidade foi encontrada no Ivanti Avalanche. Testada no Avalanche Server v6.3.4.153 e identificada como CVE-2023-41474.
É uma vulnerabilidade limitada de path traversal sem autenticação, o que significa que atacantes não autorizados podem acessar qualquer arquivo sob
C:\\PROGRAM DATA\\Wavelink\\AVALANCHE\\Web\ webapps\AvalancheWeb em uma configuração padrão. No entanto, apenas algumas extensões de arquivo
são afetadas para serem exibidas, como .xml ou .html (há algumas outras e elas também dependem das regras do .htaccess).
Para explorar esse problema, um atacante pode usar a seguinte URL:
<domain>/AvalancheWeb//faces/javax.faces.resource/<file>?loc=<directory>
Como exemplo, o atacante pode acessar o arquivo web.xml no diretório pai WEB-INF. A requisição pode ser modificada para acessar qualquer arquivo em qualquer subdiretório.
Para reproduzir o ataque, qualquer programa como wget ou curl pode ser usado com argumentos básicos.
A seguinte captura de tela do BurpSuite pode ser usada como exemplo de exploração bem-sucedida.

Em um cenário real, um atacante não autenticado pode acessar configurações e outras informações internas com baixo impacto de confidencialidade.
No entanto, em alguns cenários, há arquivos neste diretório que podem ser usados para sequestro de sessão e comprometimento completo do servidor.
Se o atacante possuir privilégios administrativos (ou houver um administrador que tenha realizado este passo anteriormente), ele pode executar um Heap dump
do processo Avalanche (essa funcionalidade existe originalmente para fins de depuração). A funcionalidade pode ser encontrada em
Tools > Support and Licensing > Web Application Server > “Heap Dump” e/ou “Thread Dump”

Uma resposta bem-sucedida do servidor inclui o caminho onde o dump do processo é armazenado.

Como o arquivo é armazenado em C:\Program Files\Wavelink\Avalanche\Web\webapps\ AvalancheWeb\dump.hprof, ele é, portanto, mais acessível via o ataque
de path traversal. Agora, é hora de o atacante baixar o arquivo de dump e realizar uma análise dele.
wget --no-check-certificate '<domain>/AvalancheWeb//faces/javax.faces .resource/dump.hprof?loc=../'
Por meio de algumas buscas básicas de strings, é possível encontrar os corpos das requisições de login ainda na memória.

Dentro dos corpos, nomes de usuário e senhas são expostos aos atacantes. Eles podem usar essas informações para elevar privilégios ou se mover lateralmente dentro do ambiente.