
Exploit em Python para CVE-2022-46196 que visa injeção de comando não autenticada no Cacti <=1.2.22. Automatiza a detecção de versão e a entrega de reverse shell através de remote_agent.php.
Este código Python explora uma vulnerabilidade de injeção de comando não autenticada em versões do Cacti até e incluindo 1.2.22. Ele usa argparse para analisar argumentos da linha de comando, requests para obter o conteúdo HTML de uma instância alvo do Cacti, e BeautifulSoup para extrair o número da versão do Cacti a partir do conteúdo HTML. Se a versão for <= 1.2.22, o código prossegue com o exploit.
O exploit envolve o envio de um payload para o arquivo remote_agent.php da instância do Cacti, sendo o payload um comando Bash que abre um reverse shell para um IP e porta de escuta especificados. O código itera por um intervalo de IDs de host para enviar o payload e, uma vez bem-sucedido, abre um reverse shell no IP e porta especificados.
Este código deve ser usado apenas para fins éticos, como pesquisa de segurança ou testes de penetração.
Para executar o código, use o seguinte comando:
python exploit.py --url <URL of Cacti's instance> --lhost <Listening IP> --lport <Listening Port>
Onde:
O código requer as seguintes bibliotecas/módulos Python:
argparse
requests
BeautifulSoup4
re