
Un PoC simple para CVE-2022-46169, también conocido como Inyección de Comandos No Autenticada en Cacti, una vulnerabilidad que permite a un usuario no autenticado ejecutar código arbitrario en un servidor que ejecute Cacti desde la versión 1.2.17 hasta la 1.2.22.
Esta es una adaptación simple de PoC del escenario Cacti de Vulnhub. Puedes consultarlo aquí
Cacti es un marco robusto y extensible de monitoreo operativo y gestión de fallos para usuarios de todo el mundo. Una vulnerabilidad de inyección de comandos permite a un usuario no autenticado ejecutar código arbitrario en un servidor que ejecute Cacti desde la versión 1.2.17 hasta la 1.2.22, si se seleccionó una fuente de datos específica para algún dispositivo monitoreado.
Referencias:
Ejecute el siguiente comando para iniciar un servidor Cacti 1.2.22:
# Compile environment
docker compose build
# Run environment
docker compose up -d
Después de iniciar el servidor, verá la página de inicio de sesión en http://localhost:8080.
Luego inicie sesión como admin/admin, siga las instrucciones para inicializar la aplicación. En realidad, solo haga clic en el "botón siguiente" una y otra vez hasta que vea la página de éxito.
Antes de poder explotar esta vulnerabilidad, debe agregar un nuevo "Graph" porque la inyección de comandos no ocurre en el tipo de gráfico predeterminado:

Seleccione el tipo de gráfico "Device - Uptime" y haga clic en el botón "Create":

Después de completar la inicialización anterior, cambiará su rol a atacante. Simplemente use el siguiente script como se muestra para enviar una solicitud al servidor Cacti y desencadenar el ataque de inyección de comandos:

Aunque no hay resultado del comando en la respuesta, puede encontrar que /tmp/test.txt se ha creado correctamente.
