
Exploit en Python para CVE-2022-46196 que apunta a inyección de comandos no autenticada en Cacti <=1.2.22. Automatiza la detección de versión y entrega de shell inversa a través de remote_agent.php.
Este código Python explota una vulnerabilidad de inyección de comandos no autenticada en versiones de Cacti hasta la 1.2.22 inclusive. Utiliza argparse para analizar argumentos de la línea de comandos, requests para obtener el contenido HTML de una instancia objetivo de Cacti, y BeautifulSoup para extraer el número de versión de Cacti del contenido HTML. Si la versión es <= 1.2.22, el código procede con el exploit.
El exploit implica enviar un payload al archivo remote_agent.php de la instancia de Cacti, siendo el payload un comando Bash que abre una shell inversa a una IP y puerto de escucha especificados. El código itera a través de un rango de IDs de host para enviar el payload y, una vez exitoso, abre una shell inversa en la IP y puerto especificados.
Este código solo debe ser utilizado con fines éticos, como investigación de seguridad o pruebas de penetración.
Para ejecutar el código, use el siguiente comando:
python exploit.py --url <URL de la instancia de Cacti> --lhost <IP de escucha> --lport <Puerto de escucha>
Donde:
El código requiere las siguientes bibliotecas/módulos Python:
argparse
requests
BeautifulSoup4
re