
Um simples PoC para o CVE-2022-46169, também conhecido como Cacti Unauthenticated Command Injection, uma vulnerabilidade que permite a um usuário não autenticado executar código arbitrário em um servidor executando Cacti da versão 1.2.17 a 1.2.22.
Esta é uma adaptação simples de PoC do cenário Cacti do Vulnhub. Você pode conferi-lo aqui
Cacti é um framework robusto e extensível de monitoramento operacional e gerenciamento de falhas para usuários em todo o mundo. Uma vulnerabilidade de injeção de comando permite que um usuário não autenticado execute código arbitrário em um servidor executando Cacti das versões 1.2.17 a 1.2.22, se uma fonte de dados específica foi selecionada para qualquer dispositivo monitorado.
Referências:
Execute o seguinte comando para iniciar um servidor Cacti 1.2.22:
# Compile environment
docker compose build
# Run environment
docker compose up -d
Após o servidor ser iniciado, você verá a página de login em http://localhost:8080.
Em seguida, faça login como admin/admin, siga as instruções para inicializar a aplicação. Na verdade, basta clicar no botão "next" repetidamente até ver a página de sucesso.
Antes de explorar esta vulnerabilidade, você precisa adicionar um novo "Graph", pois a injeção de comando não ocorre no tipo de gráfico padrão:

Selecione o tipo de gráfico "Device - Uptime" e clique no botão "Create":

Após concluir a inicialização acima, você assumirá o papel de atacante. Basta usar o seguinte script, conforme mostrado, para enviar uma solicitação ao servidor Cacti e acionar o ataque de injeção de comando:

Embora nenhum resultado de comando apareça na resposta, você pode verificar que o /tmp/test.txt foi criado com sucesso.
