Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/spartanx-alejandro/cacti-cve-2023-39361
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubspartanx-alejandro/cacti-cve-2023-39361

cacti-cve-2023-39361

Exploit para CVE-2023-39361 en Cacti, una solución de gráficos de red, que demuestra la vulnerabilidad de inyección SQL con fines educativos y de pruebas de seguridad.

Ver Repositorio
hace 8h 29mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Cacti ™

Build Status -
Develop Project
Status Translation
Status Average time to resolve an
issue Percentage of open
issues


Ejecutar Cacti desde la rama develop

IMPORTANTE

Al usar el código fuente o descargar el código directamente del repositorio, es importante ejecutar el script de actualización de la base de datos si experimenta errores relacionados con tablas o columnas faltantes en la base de datos.

Los cambios en la base de datos se confirman en el archivo cacti.sql, que se utiliza para nuevas instalaciones, y se confirman en la actualización de la base de datos del instalador para instalaciones existentes. Debido a que el número de versión no cambia hasta el lanzamiento en la rama develop, lo que provocará que la actualización de la base de datos no se ejecute, es importante usar el script de actualización de la base de datos para forzar la versión actual o actualizar la versión en la base de datos.

Actualización desde versiones anteriores a Cacti 1.x

Cuando Cacti fue desarrollado por primera vez hace casi 20 años, MySQL no era tan maduro como lo es ahora. Cuando The Cacti Group se dispuso a diseñar Cacti 1.x, se tomó la decisión de obligar a los usuarios a usar el motor de almacenamiento InnoDB para muchas de las tablas. Esto se hizo porque el motor de almacenamiento InnoDB proporciona una mejor experiencia de usuario cuando su sitio web tiene varios inicios de sesión simultáneos. Aunque es un poco más lento, también proporciona una mayor resiliencia para los desarrolladores.

Dicho esto, hay varios cambios que DEBE realizar en MySQL/MariaDB antes de actualizar, y se requiere un reinicio del servicio. Dependiendo de su versión de MariaDB o MySQL, los siguientes ajustes serán requeridos o ya estarán habilitados de forma predeterminada:

root@kitploit:~
[mysqld]

# required for multiple language support
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# Memory tunables - Cacti provides recommendations at upgrade time
max_heap_table_size = XXX
max_allowed_packet = 500M
tmp_table_size = XXX
join_buffer_size = XXX
sort_buffer_size = XXX

# important for compatibility
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER

# innodb settings - Cacti provides recommendations at upgrade time
innodb_buffer_pool_instances = XXX
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_size = XXX
innodb_sort_buffer_size = XXX
innodb_doublewrite = ON

# required
innodb_file_per_table = ON
innodb_file_format = Barracuda
innodb_large_prefix = 1

# not all version support
innodb_flush_log_at_timeout = 3

# for SSD's/NVMe
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 10000
innodb_io_capacity_max = 20000
innodb_flush_method = O_DIRECT

Los ajustes requeridos son muy importantes. De lo contrario, encontrará problemas al actualizar. Para los ajustes con XXX, Cacti proporcionará una recomendación en el momento de la actualización. No es inusual tener que reiniciar MySQL/MariaDB durante la actualización para ajustar estos parámetros. Tenga especialmente en cuenta esto antes de comenzar su actualización.

Antes de actualizar, debe realizar estos cambios requeridos y luego reiniciar MySQL/MariaDB. Después de eso, puede ahorrar tiempo y evitar posibles errores ejecutando los siguientes scripts (asumiendo que usa bash):

root@kitploit:~
for table in `mysql -e "SELECT TABLE_NAME FROM information_schema.TABLES WHERE table_schema='cacti' AND engine!='MEMORY'" cacti | grep -v TABLE_NAME`;
do
   echo "Converting $table";
   mysql -e "ALTER TABLE $table ENGINE=InnoDB ROW_FORMAT=Dynamic CHARSET=utf8mb4" cacti;
done

Esto convertirá cualquier tabla que sea InnoDB o MyISAM al formato de archivo Barracuda, formato de fila dinámico y utf8mb4. Tenga en cuenta que si ha estado usando MySQL o MariaDB sin innodb_file_per_table activado, podría ser mejor hacer una copia de seguridad de su base de datos, restablecer InnoDB eliminando sus archivos ib* en el directorio /var/lib/mysql, y después restaurar su base de datos y las tablas y permisos de MySQL/MariaDB. Antes de dar ese paso, siempre debe practicar en un servidor de prueba hasta que se sienta cómodo con el cambio.

¡Buena suerte y disfrute de Cacti!

Ejecutar el script de actualización de la base de datos

root@kitploit:~
sudo -u cacti php -q cli/upgrade_database.php --forcever=`cat include/cacti_version`

Actualizar la versión de Cacti en la base de datos

root@kitploit:~
update version set cacti = '1.1.38';

Nota: Cambie la versión anterior a la versión correcta o arriesgue que el instalador actualice desde una versión anterior.


Acerca de

Cacti es una solución completa de gráficos de red diseñada para aprovechar el poder del almacenamiento de datos y la funcionalidad de gráficos de RRDtool, proporcionando las siguientes características:

  • Recolectores de datos remotos y locales

  • Descubrimiento de dispositivos

  • Automatización de la creación de dispositivos y gráficos

  • Plantillas de gráficos y dispositivos

  • Métodos personalizados de recolección de datos

  • Controles de acceso para usuarios, grupos y dominios

Todo esto está envuelto en una interfaz intuitiva y fácil de usar que tiene sentido tanto para instalaciones de tamaño LAN como para redes complejas con miles de dispositivos.

Desarrollado a principios de los años 2000 por Ian Berry como un proyecto de escuela secundaria, ha sido utilizado por miles de empresas y entusiastas para monitorear y gestionar sus redes empresariales y centros de datos.

Requisitos

Cacti debería poder ejecutarse en cualquier sistema operativo Linux, UNIX o Windows con los siguientes requisitos:

  • PHP 5.4+

  • MySQL 5.1+

  • RRDtool 1.3+, se recomienda 1.5+

  • NET-SNMP 5.5+

  • Servidor web con soporte PHP

PHP también debe compilarse como un binario cgi o cli independiente. Esto es necesario para la recolección de datos mediante cron.

php-snmp

Marcamos el módulo php-snmp como opcional. Siempre que no esté usando dispositivos ipv6, o usando IDs de motor snmpv3 o contextos, usar php-snmp debería ser seguro. De lo contrario, debería considerar desinstalar el módulo php-snmp, ya que creará problemas. Somos conscientes del problema con php-snmp y buscamos involucrarnos en el proyecto php para resolver estos problemas.

RRDtool

RRDtool está disponible en múltiples versiones y la mayoría de ellas son compatibles con Cacti. Recuerde confirmar su configuración de Cacti para la versión de RRDtool si tiene problemas para renderizar gráficos.

Documentación

La documentación está disponible con los lanzamientos de Cacti y también está disponible para su visualización en el Repositorio de Documentación.

Contribuir

¡Consulte el sitio web principal de Cacti para descargas, registros de cambios, notas de versión y más!

Foros de la comunidad

Dado el gran alcance de Cacti, los foros tienden a generar una cantidad considerable de tráfico. Hacer su parte respondiendo preguntas básicas ayuda mucho, ya que no podemos estar en todas partes a la vez. Contribuya a la comunidad de Cacti participando en los Foros de la Comunidad de Cacti.

Documentación en GitHub

¡Participe en la creación y edición de la documentación de Cacti! Haga un fork, cambie y envíe una solicitud de extracción para ayudar a mejorar la documentación en GitHub.

Desarrollo en GitHub

¡Participe en el desarrollo de Cacti! Únase a los desarrolladores y a la comunidad en GitHub!


Funcionalidad

Fuentes de datos

Cacti maneja la recolección de datos mediante el concepto de fuentes de datos. Las fuentes de datos utilizan métodos de entrada para recolectar datos de dispositivos, hosts, bases de datos, scripts, etc... Las posibilidades son infinitas en cuanto a la naturaleza de los datos que puede recolectar. Las fuentes de datos son el vínculo directo con los archivos RRD subyacentes; cómo se almacenan los datos en los archivos RRD y cómo se recuperan los datos de los archivos RRD.

Gráficos

Los gráficos, el corazón y el alma de Cacti, son creados por RRDtool utilizando la definición de las fuentes de datos definidas.

Plantillas

Uniéndolo todo, Cacti utiliza un extenso sistema de plantillas que permite la creación y el consumo de plantillas portátiles. Las plantillas de gráficos, fuentes de datos y RRA permiten la creación fácil de gráficos y fuentes de datos de forma inmediata. Junto con el soporte de la comunidad de Cacti, las plantillas se han convertido en la forma estándar de soportar gráficos de cualquier número de dispositivos en uso en los entornos informáticos y de redes actuales.

Recolección de datos (El Poller)

Soporte de recolección de datos local y remota con la capacidad de establecer intervalos de recolección. Consulte Perfil de Fuente de Datos dentro de Cacti para más información. Los Perfiles de Fuente de Datos se pueden aplicar a los gráficos en el momento de la creación o a nivel de plantilla de datos.

La recolección de datos remota se ha facilitado mediante la replicación de recursos a recolectores de datos remotos. Incluso cuando se pierde la conectividad con la instalación principal de Cacti desde el recolector de datos remoto, este almacenará los datos recolectados hasta que se restablezca la conectividad. La recolección de datos remota solo requiere acceso MySQL y HTTP/HTTPS de vuelta a la ubicación de la instalación principal de Cacti.

Descubrimiento y automatización de red

Cacti proporciona a los administradores una serie de funcionalidades de automatización de red para reducir el tiempo y el esfuerzo necesarios para configurar y gestionar dispositivos.

  • Múltiples reglas de descubrimiento de red definibles

  • Plantillas de automatización que especifican cómo se configuran los dispositivos

Marco de plugins

Cacti es más que un sistema de monitoreo de red, es un marco operativo que permite la extensión y ampliación de la funcionalidad de Cacti. The Cacti Group continúa manteniendo una variedad de plugins. Si busca agregar funciones a Cacti, hay bastante material de referencia para elegir en GitHub.

Experiencia dinámica de visualización de gráficos

Cacti permite muchas aumentaciones en tiempo de ejecución al visualizar gráficos:

  • Vista de árbol y gráficos cargada dinámicamente

  • Búsqueda por cadena, tipos de gráficos y plantillas

  • Aumentación de visualización

  • Ajustes simples de intervalo de tiempo

  • Botones convenientes de ventana de tiempo deslizante

  • Opción de gráfico en tiempo real con un solo clic

  • Exportación fácil de gráficos a csv

  • Vista RRA con solo un clic

Usuarios, grupos y permisos

Soporte para permisos por usuario y por grupo a nivel de cada ámbito (área de Cacti), por gráfico, por árbol de gráficos, por dispositivo, etc... El modelo de permisos en Cacti es control de acceso basado en roles (RBAC) para permitir una asignación flexible de permisos. Soporte para la aplicación de complejidad de contraseñas, antigüedad de contraseñas y cambio de contraseñas caducadas.

Opciones de gráficos de RRDtool

Cacti soporta la mayoría de las capacidades de gráficos de RRDtool, incluyendo:

Opciones de gráficos

  • Eje derecho completo

  • Desplazamiento

  • Guiones y desplazamiento de guiones

  • Rejilla y alternativa

  • Sin ajuste de rejilla

  • Longitud de unidades

  • Ancho de tabulación

  • Etiquetas dinámicas

  • Leyenda de reglas

  • Posición de la leyenda

Elementos de gráficos

  • VDEFs

  • Líneas apiladas

  • Anchos de línea definibles por el usuario

  • Alineación de texto


Copyright (c) 2004-2023 - The Cacti Group, Inc.

Descargar herramienta