
CLI de Python que explota CVE-2026-48907 en Joomla JCE mediante la carga de importación de perfiles, verifica las rutas del shell y abre un canal de comandos interactivo en objetivos autorizados.
E.L.V — Exploit Loader & Vulnerability Firmware
Utilidad de investigación de ciberseguridad para evaluación de vulnerabilidades autorizada.
E.L.V CVE Research & Assessment Framework es una utilidad de línea de comandos basada en Python destinada a la investigación de seguridad controlada y la evaluación de vulnerabilidades autorizada.
La implementación proporcionada contiene funcionalidad para:
El código fuente actual identifica su objetivo de investigación como:
CVE-2026-48907 Joomla! JCE Extension < 2.9.99.5 Unauthenticated RCE
Esa afirmación sobre el CVE/producto son metadatos proporcionados por el código fuente y no han sido verificados de forma independiente por este README. Antes de publicar una afirmación de seguridad, valide el identificador, las versiones afectadas, el aviso, el componente afectado y la información de remediación contra una fuente de confianza de CVE/proveedor.
Este proyecto interactúa con aplicaciones web remotas y la implementación proporcionada incluye funcionalidad destinada a subir un payload personalizado del lado del servidor y comunicarse con un shell subido.
Úselo solo contra sistemas para los que tenga autorización explícita.
No use este proyecto para:
Para un laboratorio seguro, use un entorno aislado de VM/contenedor local o un objetivo de entrenamiento deliberadamente vulnerable.
| Campo | Valor |
|---|---|
| Proyecto | E.L.V CVE Research & Assessment Framework |
| Autor / Motor | HxN / E.L.V |
| Versión | 1.0.0 |
| Lenguaje | Python |
| Plataforma | *nix / sistemas tipo Unix |
| Licencia | GNU GPL v3 |
| Interfaz | Línea de comandos |
| Cliente HTTP | requests |
| Concurrencia | ThreadPoolExecutor |
| Propósito Principal | Investigación y evaluación de seguridad autorizada |
El código fuente proporcionado elv-cve.py contiene los siguientes componentes principales.
El script lee un archivo local proporcionado a través de la opción --shell.
El código fuente describe esto como un archivo de shell/uploader personalizado y termina cuando el archivo especificado no puede leerse.
El programa admite dos modos de objetivo mutuamente excluyentes:
Para cada objetivo, el script realiza una solicitud GET contra la raíz del objetivo y espera una respuesta HTTP 200 antes de continuar.
La implementación busca en el HTML devuelto un valor relacionado con CSRF usando expresiones regulares.
Actualmente se implementan dos patrones.
El script construye una solicitud de carga multipart contra:```text /index.php?option=com_jce
La solicitud incluye la tarea de importación de perfil y el token extraído.
### 6. Verificación de rutas candidatas
Tras la solicitud de carga, el programa comprueba varias ubicaciones posibles para el archivo resultante.
El código fuente actual contiene estas rutas candidatas:```text
/tmp/
/images/
/images/stories/
/media/
Para un único objetivo, el programa actual invoca una interfaz de comandos interactiva cuando informa una ruta de shell subida correctamente.
La fuente envía comandos utilizando parámetros POST denominados:```text cmd c
Debido a que esta funcionalidad puede dar lugar a la ejecución remota de comandos, debe restringirse a entornos aislados y explícitamente autorizados.
### 8. Procesamiento de múltiples objetivos
Cuando se proporciona un archivo de objetivos, el programa utiliza un `ThreadPoolExecutor` y procesa los objetivos de forma concurrente.
El número de hilos predeterminado en el código fuente es:```text
10
A grandes rasgos, la implementación actual sigue este flujo:```text Start │ ├── Parse command-line arguments │ ├── Load local payload file │ ├── Load one target OR target list │ ├── Create ELV_CVE output directory │ ├── Target processing │ │ │ ├── GET target │ ├── Check HTTP response │ ├── Extract token │ ├── Submit profile-import request │ ├── Check candidate file paths │ └── Record result │ └── Write results / display summary
---
## Requisitos
La fuente proporcionada importa:
- Módulos de la biblioteca estándar de Python:
- `random`
- `re`
- `time`
- `argparse`
- `sys`
- `os`
- `json`
- `threading`
- `concurrent.futures`
- Módulos de terceros:
- `requests`
- `urllib3`
Por lo tanto, una instalación mínima de dependencias es:```bash
python3 -m pip install requests urllib3
Para despliegues reproducibles, fija las dependencias en un archivo requirements.txt.
Ejemplo:```text requests urllib3
---
## Instalación
Clona o copia el proyecto en un entorno de evaluación aislado.