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-48907-Joomla-JCE-detection — Validación defensiva en laboratorio y guía de detección para el SOC para CVE-2026-48907 en Joomla JCE <= 2.9.99.4, incluyendo telemetría de Apache/Joomla/auditd, artefactos de webshell, reglas Sigma, mapeo MITRE ATT&CK y recomendaciones de mitigación. | Kitploit
Herramientas/GitHubGitHub/g0thamrabb1t/cve-2026-48907-joomla-jce-detection
Análisis de VulnerabilidadesExplotaciónAnálisis ForenseSeguridad WebInteligencia de AmenazasPapers e InvestigaciónAprendizaje y EducaciónRespuesta a IncidentesAnálisis de Registros
GitHubg0thamrabb1t/cve-2026-48907-joomla-jce-detection

CVE-2026-48907-Joomla-JCE-detection

Validación defensiva en laboratorio y guía de detección para el SOC para CVE-2026-48907 en Joomla JCE <= 2.9.99.4, incluyendo telemetría de Apache/Joomla/auditd, artefactos de webshell, reglas Sigma, mapeo MITRE ATT&CK y recomendaciones de mitigación.

Ver Repositorio
13hace 2 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

Joomla JCE CVE-2026-48907 — Validación de PoC, Artefactos de Webshell y Detección para SOC

Informe de validación defensiva y notas de detección orientadas a SOC para CVE-2026-48907 que afecta a Joomla Content Editor (JCE) versiones hasta 2.9.99.4.

Propósito del repositorio

Este repositorio documenta una validación de laboratorio controlada de CVE-2026-48907 en Joomla JCE y se centra en la ingeniería de detección práctica para equipos SOC.

El objetivo no es proporcionar guías de explotación. El objetivo es mostrar qué fuentes de telemetría fueron útiles durante la validación, qué artefactos se crearon y cómo los defensores pueden detectar y responder a esta actividad.

Informes

  • Informe PDF en inglés
  • Informe PDF en polaco
  • Informe DOCX en inglés
  • Informe DOCX en polaco

Resumen

ÁreaHallazgo
VulnerabilidadCVE-2026-48907 en Joomla Content Editor (JCE); flujo de creación/importación de perfiles no autenticado que puede llevar a la subida de PHP y ejecución de código.
Versión probadaJCE 2.9.99.4. El panel de administración de Joomla mostró una actualización disponible a 2.9.99.7.
Resultado del laboratorioLa validación pública de PoC confirmó RCE y creó un webshell PHP en /tmp de Joomla como jce*.xml.php. Los comandos se ejecutaron como www-data.
Telemetría más valiosaApache access.log, Apache/PHP error.log, telemetría execve de auditd y artefactos del sistema de archivos en joomla_html/tmp.
Registros de JoomlaÚtiles como contexto de apoyo, pero insuficientes por sí solos. Los registros de la aplicación Joomla no reconstruyeron la cadena completa: exploit → webshell → ejecución de comandos.
Prioridad SOCCrítica para instancias de Joomla expuestas a Internet o instancias de Joomla accesibles desde redes internas menos confiables.

Referencias públicas

  • Repositorio público de PoC: JoomlaSniper
  • Registro CVE: CVE-2026-48907
  • NVD: CVE-2026-48907
  • Catálogo CISA KEV: Catálogo de Vulnerabilidades Explotadas Conocidas

Entorno de laboratorio

ParámetroValor
URL de la aplicaciónhttp://172.20.10.3:9999
Contenedor Joomlajoomla-jce-lab, imagen joomla:5-apache
Contenedor de base de datosjoomla-jce-db, imagen mariadb:11
Mapeo de puertos0.0.0.0:9999 -> 80/tcp
ApacheApache/2.4.67 (Debian)
PHPPHP 8.3.31
MariaDB11.8.8-MariaDB
JoomlaJoomla 5.4.6 Stable
JCE2.9.99.4
Origen de pruebaWindows 11, IP 172.20.10.2
RegistroLogs de acceso/error de Apache, logs de Joomla, auditd, logs de Docker, artefactos del sistema de archivos

Capturas de pantalla de evidencia

Sitio de laboratorio de Joomla

Sitio de laboratorio de Joomla

Versión vulnerable de JCE instalada

Versión vulnerable de JCE instalada

Joomla muestra una actualización de JCE disponible

Actualización de JCE disponible

Tile de actualizaciones del panel de Joomla

Resultado de la validación del PoC en el laboratorio

RCE confirmado por JoomlaSniper

Shell interactivo y ejecución de comandos como www-data

Shell interactivo de JoomlaSniper

Artefactos de archivos en el directorio tmp de Joomla

Artefactos de webshell en tmp de Joomla

Observación defensiva clave

Un hallazgo operativo clave es que los registros de la aplicación Joomla no fueron suficientes.

Durante la prueba de laboratorio, los registros de Joomla registraron contexto a nivel de aplicación, como un evento joomlafailure, pero no mostraron la cadena completa de explotación. La cadena útil fue visible principalmente en:

  1. Apache access.log
  2. Apache/PHP error.log
  3. registros execve de auditd
  4. artefactos del sistema de archivos en joomla_html/tmp

Para la monitorización del SOC, los registros de Joomla deben tratarse como telemetría de apoyo, no como la fuente principal de detección para esta vulnerabilidad.

Cadena de ataque observada

Cadena de alto nivel observada durante la prueba controlada:

root@kitploit:~
JCE version discovery
    ↓
POST to Joomla JCE component
    ↓
PHP webshell written to Joomla /tmp
    ↓
HTTP request to /tmp/jce*.xml.php
    ↓
Command execution through webshell
    ↓
auditd confirms /usr/bin/dash and commands executed as www-data

Secuencia HTTP observada

La evidencia más clara estaba presente en Apache access.log:

root@kitploit:~
GET  /plugins/editors/jce/jce.xml
GET  /
POST /index.php?option=com_jce
GET  /tmp/jceolxtshs3.xml.php
GET  /plugins/editors/jce/jce.xml
POST /index.php?option=com_jce
GET  /tmp/jce624jdcfx.xml.php
GET  /tmp/jce624jdcfx.xml.php?c=id%20%26%26%20hostname%20%26%26%20pwd
GET  /tmp/jce624jdcfx.xml.php?c=whoami
GET  /tmp/jce624jdcfx.xml.php?c=hostname
GET  /tmp/jce624jdcfx.xml.php?c=id
GET  /tmp/jce624jdcfx.xml.php?c=pwd

Indicadores de registro de errores de Apache/PHP

El registro de errores de Apache/PHP contenía trazas valiosas relacionadas con el analizador:

root@kitploit:~
simplexml_load_string()
administrator/components/com_jce/helpers/profiles.php
RXST
RXEND

Los marcadores RXST y RXEND fueron indicadores particularmente útiles para esta familia específica de PoC porque aparecieron en la ruta de manejo del payload.

Limitación del registro de Joomla

Los registros de Joomla confirmaron que el registro de la aplicación estaba activo, pero no reconstruyeron la explotación:

root@kitploit:~
#Software: Joomla! 5.4.6 Stable [ Kutegemea ] 26-May-2026 16:00 GMT
#Fields: datetime priority clientip category message
2026-06-18T20:37:57+00:00 INFO 172.20.10.2 joomlafailure Username and password do not match or you do not have an account yet.

Esto significa que recolectar solo los registros de Joomla puede perder la evidencia más importante de la explotación de CVE-2026-48907.

Artefactos del sistema de archivos

La prueba creó archivos de webshell PHP en tmp de Joomla:

root@kitploit:~
/var/www/html/tmp/jce624jdcfx.xml.php
/var/www/html/tmp/jceolxtshs3.xml.php

Rutas del lado del host en el laboratorio:

root@kitploit:~
/home/user/joomla-jce-lab/joomla_html/tmp/jce624jdcfx.xml.php
/home/user/joomla-jce-lab/joomla_html/tmp/jceolxtshs3.xml.php

Hashes SHA256 observados:

root@kitploit:~
b6fa303daef8aa8cb39566c73d2cb4a458efb2b1fba48052dd039d45c3beb0aa  jce624jdcfx.xml.php
f8bcc802ab56b845c968ed6727228f200f8f4bcd332b8ce82c6980d93ac228fd  jceolxtshs3.xml.php

La detección basada en hash debe tratarse como de baja resiliencia porque los nombres de archivo y los payloads pueden variar. La ruta, extensión, propiedad y correlación de comportamiento son más útiles.

Evidencia de auditd

auditd confirmó que el usuario del servidor web ejecutó comandos desde el directorio tmp de Joomla:

root@kitploit:~
CWD=/var/www/html/tmp uid=www-data comm=sh exe=/usr/bin/dash
CWD=/var/www/html/tmp uid=www-data comm=id exe=/usr/bin/id
CWD=/var/www/html/tmp uid=www-data comm=hostname exe=/usr/bin/hostname
CWD=/var/www/html/tmp uid=www-data comm=whoami exe=/usr/bin/whoami

Esta es la confirmación más sólida de que la actividad no fue solo escaneo, sino una ejecución remota de código real.

Lógica de detección

La detección más sólida se basa en la correlación:

root@kitploit:~
GET /plugins/editors/jce/jce.xml
    followed by
POST /index.php?option=com_jce
    followed by
GET /tmp/jce*.xml.php
    followed by
GET /tmp/jce*.xml.php?c=
    and/or
auditd: www-data executes /usr/bin/dash from /var/www/html/tmp

Prioridad de detección

GravedadCondiciónAcción del SOC
BajaGET /plugins/editors/jce/jce.xml desde una fuente inusualTratar como reconocimiento y correlacionar con solicitudes posteriores.
MediaPOST /index.php?option=com_jce sin referer de administrador o desde una IP desconocidaAlertar y revisar solicitudes posteriores a /tmp.
AltaPOST com_jce seguido de GET /tmp/*.php o /tmp/*.xml.phpVerificar inmediatamente los artefactos del sistema de archivos y los registros de errores de PHP.
CríticaGET /tmp/jce*.xml.php?c= o auditd mostrando www-data lanzando comandos de shell/sistemaTratar como RCE/webshell confirmado, aislar o restringir el host y preservar la evidencia.

Indicadores y patrones de búsqueda

Patrones HTTP

root@kitploit:~
/plugins/editors/jce/jce.xml
/index.php?option=com_jce
/tmp/jce[a-z0-9]{8}\.xml\.php
/tmp/.*\.(php|phtml|phar)(\?| )
cs-uri-query contains "c="

Patrones del sistema de archivos

root@kitploit:~
joomla_html/tmp/jce*.xml.php
/var/www/html/tmp/jce*.xml.php
RXST
RXEND
shell_exec
system
passthru
exec
$_GET['c']

Ejemplos de comandos de triaje

Utilice estos solo en sistemas que posea o esté autorizado a investigar.

root@kitploit:~
grep -RniE "com_jce|profiles\.import|task=profiles|/tmp/.*\.php|RXST|RXEND" apache_logs joomla_html/administrator/logs 2>/dev/null
root@kitploit:~
find ./joomla_html/tmp ./joomla_html/images ./joomla_html/media \
  -type f \( -iname "*.php" -o -iname "*.phtml" -o -iname "*.phar" -o -iname "*.xml.php" \) -ls
root@kitploit:~
sudo ausearch -k wwwdata_exec -i | grep -E "uid=www-data|comm=sh|/usr/bin/dash|/var/www/html/tmp|whoami|hostname| id |pwd"

Reglas Sigma

Archivos de reglas Sigma separados están disponibles en rules/sigma:

  • joomla_jce_webshell_tmp_access.yml
  • joomla_jce_component_exploit_attempt.yml
  • web_user_shell_from_joomla_tmp_auditd.yml

Respuesta recomendada

PasoAcciónObjetivo
1Verificar si la instancia ejecuta JCE <= 2.9.99.4 o muestra una actualización de JCE disponible.Confirmar estado vulnerable.
2Buscar en registros de acceso/error com_jce, profiles.import, /tmp/*.php, jce*.xml.php.Identificar intentos o explotación exitosa.
3Inspeccionar tmp, images y media en busca de archivos PHP/PHTML/PHAR y nombres inusuales.Detectar webshells o backdoors.
4Revisar auditd/EDR en busca de www-data generando shells o utilidades del sistema.Confirmar ejecución de código.
5Si se confirma webshell/RCE, aislar el host o restringir el tráfico a la aplicación.Detener actividad adicional.
6Preservar artefactos, eliminar webshells, revisar perfiles JCE, cuentas de Joomla, tareas cron y archivos modificados.Triaje y erradicación.
7Actualizar JCE a la última versión compatible y revisar otras instancias de Joomla.Mitigación y reducción de riesgos.

Recomendaciones de mitigación

PrioridadRecomendaciónJustificación
P1Actualizar JCE a la última versión compatible para la rama Joomla/PHP.JCE 2.9.99.4 era vulnerable en el laboratorio y Joomla mostró una actualización a 2.9.99.7.
P1Después de parchar, verificar webshells y perfiles JCE sospechosos.La actualización cierra el punto de entrada pero no elimina los artefactos dejados antes del parche.
P1Bloquear la ejecución de PHP en los directorios tmp, images, media, cache y de carga.Incluso si la subida tiene éxito, bloquear la ejecución de PHP rompe la cadena de RCE.
P2Agregar filtrado WAF o de solicitudes para option=com_jce y task=profiles.import.Ayuda a detectar y bloquear intentos de explotación antes de que lleguen a PHP.
P2Ingerir centralmente los registros de acceso de Apache, registros de errores de PHP y telemetría de auditd/EDR.Los registros de la aplicación Joomla por sí solos fueron insuficientes.
P2Implementar inventario periódico de extensiones de Joomla y verificación del estado de actualización.El panel de Joomla expuso la señal de actualización de JCE; esto debería alimentar los flujos de trabajo de VM/SOC.
P3Mantener una línea base de archivos y alertar sobre nuevos archivos PHP fuera de los directorios controlados.Ayuda a detectar webshells y persistencia después de un compromiso.

Ejemplo de dirección de endurecimiento de Apache

La configuración exacta depende del modelo de implementación de Apache/PHP. El objetivo es evitar la ejecución de PHP en directorios que nunca deberían ejecutar scripts.

root@kitploit:~
<Directory "/var/www/html/tmp">
    php_admin_flag engine off
    Options -ExecCGI
    RemoveHandler .php .phtml .phar
    <FilesMatch "\.(php|phtml|phar)$">
        Require all denied
    </FilesMatch>
</Directory>

<Directory "/var/www/html/images">
    php_admin_flag engine off
    Options -ExecCGI
    RemoveHandler .php .phtml .phar
    <FilesMatch "\.(php|phtml|phar)$">
        Require all denied
    </FilesMatch>
</Directory>

Mapeo MITRE ATT&CK

TécnicaNombreJustificación
T1190Explotar aplicación expuesta al públicoExplotación HTTP del endpoint Joomla/JCE sin autenticación.
T1505.003Componente de software de servidor: Web ShellWebshell PHP creado como /tmp/jce*.xml.php.
T1059.004Intérprete de comandos y scripts: Shell Unix/usr/bin/dash ejecutado por www-data.
T1033Descubrimiento de propietario/usuario del sistemawhoami e id ejecutados a través del webshell.
T1082Descubrimiento de información del sistemahostname ejecutado a través del webshell.
T1083Descubrimiento de archivos y directoriospwd y actividad en /var/www/html/tmp.

Evaluación de riesgos

El laboratorio confirmó la explotación práctica contra JCE 2.9.99.4. No se requirió autenticación en Joomla en el flujo observado, y el PoC público automatizó la detección de versión y la creación de webshell.

Para entornos reales, el riesgo es alto a crítico cuando Joomla está expuesto a Internet o es accesible desde redes internas menos confiables. Un ataque exitoso puede dejar un webshell persistente, por lo que parchar sin inspección de artefactos no es suficiente después de una posible exposición.

Aviso legal

Este repositorio está destinado a la investigación defensiva, la ingeniería de detección de SOC y la gestión de vulnerabilidades. No contiene código de explotación. Cualquier prueba debe realizarse únicamente en sistemas que posea o que esté explícitamente autorizado a evaluar.

Descargar herramienta