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
Herramientas/GitHubGitHub/noname-elv/cve-2026-48907
Análisis de VulnerabilidadesExplotaciónScripting y AutomatizaciónExplotación de Aplicaciones WebPost-ExplotaciónSeguridad WebPruebas de PenetraciónHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubnoname-elv/cve-2026-48907

CVE-2026-48907

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.

hace 16h 12mAún no revisado
Ver Repositorio

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

E.L.V CVE Research & Assessment Framework

E.L.V — Exploit Loader & Vulnerability Firmware
Utilidad de investigación de ciberseguridad para evaluación de vulnerabilidades autorizada.

Python Platform License


Tabla de Contenidos

  • Descripción General
  • Aviso de Seguridad Importante
  • Información del Proyecto
  • Qué Hace el Script Actual
  • Flujo de Trabajo
  • Requisitos
  • Instalación
  • Interfaz de Línea de Comandos
  • Archivos de Entrada
  • Salida
  • Concurrencia
  • Comportamiento de Red
  • Comportamiento SSL/TLS
  • Registro y Resultados
  • Manejo de Errores
  • Estructura del Código Fuente
  • Consideraciones de Seguridad
  • Metodología de Pruebas Responsable
  • Solución de Problemas
  • Notas de Desarrollo
  • Limitaciones Conocidas
  • Mejoras Futuras
  • Licencia
  • Descargo de Responsabilidad

  • Descripción General

    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:

    • aceptar un único objetivo o un archivo de lista de objetivos;
    • cargar un archivo de payload proporcionado localmente;
    • realizar una verificación previa basada en HTTP;
    • extraer un token relacionado con CSRF de la respuesta de un objetivo;
    • enviar una solicitud de importación de perfil;
    • verificar un conjunto de rutas candidatas para el archivo subido;
    • abrir opcionalmente un canal de comandos HTTP interactivo cuando se utiliza un único objetivo;
    • procesar múltiples objetivos de forma concurrente;
    • escribir las URLs de shell exitosas en un archivo de resultados.

    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.


    Aviso de Seguridad Importante

    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:

    • acceder a sistemas sin permiso;
    • desplegar un shell en infraestructura de terceros;
    • obtener persistencia no autorizada;
    • eludir la autenticación o los controles de acceso;
    • ejecutar comandos en sistemas que no posee o para los que no tiene autorización por escrito para probar;
    • escanear objetivos arbitrarios de Internet sin autorización;
    • dañar, modificar, exfiltrar o destruir datos.

    Para un laboratorio seguro, use un entorno aislado de VM/contenedor local o un objetivo de entrenamiento deliberadamente vulnerable.


    Información del Proyecto

    CampoValor
    ProyectoE.L.V CVE Research & Assessment Framework
    Autor / MotorHxN / E.L.V
    Versión1.0.0
    LenguajePython
    Plataforma*nix / sistemas tipo Unix
    LicenciaGNU GPL v3
    InterfazLínea de comandos
    Cliente HTTPrequests
    ConcurrenciaThreadPoolExecutor
    Propósito PrincipalInvestigación y evaluación de seguridad autorizada

    Qué Hace el Script Actual

    El código fuente proporcionado elv-cve.py contiene los siguientes componentes principales.

    1. Carga de payload personalizado

    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.

    2. Descubrimiento de objetivos

    El programa admite dos modos de objetivo mutuamente excluyentes:

    • una URL de objetivo;
    • un archivo de texto que contiene múltiples URLs de objetivos.

    3. Solicitud HTTP inicial

    Para cada objetivo, el script realiza una solicitud GET contra la raíz del objetivo y espera una respuesta HTTP 200 antes de continuar.

    4. Extracción de token

    La implementación busca en el HTML devuelto un valor relacionado con CSRF usando expresiones regulares.

    Actualmente se implementan dos patrones.

    5. Solicitud de importación de perfil

    El script construye una solicitud de carga multipart contra:```text /index.php?option=com_jce

    root@kitploit:~
    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/
    

    7. Sesión interactiva

    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

    root@kitploit:~
    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
    

    Flujo de trabajo

    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

    root@kitploit:~
    ---
    
    ## 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

    root@kitploit:~
    ---
    
    ## Instalación
    
    Clona o copia el proyecto en un entorno de evaluación aislado.
    
    Ejemplo:```bash
    git clone <YOUR-REPOSITORY-URL>
    cd <YOUR-REPOSITORY-DIRECTORY>
    

    Crea un entorno virtual:```bash python3 -m venv .venv

    root@kitploit:~
    Actívalo:```bash
    source .venv/bin/activate
    

    Instalar dependencias:```bash python3 -m pip install -r requirements.txt

    root@kitploit:~
    Verificar Python:```bash
    python3 --version
    

    Verifica la dependencia:```bash python3 -c "import requests, urllib3; print('Dependencies OK')"

    root@kitploit:~
    > Reemplace `<YOUR-REPOSITORY-URL>` y `<YOUR-REPOSITORY-DIRECTORY>` con los valores utilizados por su repositorio.
    
    ---
    
    ## Interfaz de línea de comandos
    
    La fuente define las siguientes opciones de línea de comandos.
    
    ### Selección de objetivo```text
    -u, --url
    

    URL de destino único.```text -f, --file

    root@kitploit:~
    Ruta a un archivo que contiene las URL de destino.
    
    Estas opciones son mutuamente excluyentes y se requiere una de ellas.
    
    ### Selección de payload```text
    --shell
    

    Ruta al archivo de payload personalizado local.

    Este argumento es requerido por la implementación actual.

    Número de hilos```text

    -t, --threads

    root@kitploit:~
    Número de hilos de trabajo.
    
    Predeterminado:```text
    10
    

    Indicador detallado```text

    -v, --verbose

    root@kitploit:~
    Habilita el flag verbose expuesto por el analizador de argumentos.
    
    Nota: la fuente actual define esta opción pero no utiliza `args.verbose` para cambiar materialmente el comportamiento de la salida.
    
    ### Opción de salida```text
    -o, --output
    

    El argumento está definido por el parser, pero la implementación actual no utiliza args.output al escribir el resultado final. La ruta del resultado actual está codificada de forma fija como:```text ELV_CVE/success.txt

    root@kitploit:~
    Este es un detalle de implementación que vale la pena corregir en una versión futura.
    
    ---
    
    ## Archivos de entrada
    
    ### Lista de objetivos
    
    El modo de lista de objetivos espera una URL por línea.
    
    Las líneas en blanco se ignoran.
    
    Las líneas que comienzan con `#` se ignoran.
    
    Formato conceptual:```text
    https://authorized-target-01.example
    https://authorized-target-02.example
    # laboratory target
    https://authorized-target-03.example
    

    Solo los objetivos que estés explícitamente autorizado a evaluar deben colocarse en el archivo.

    Archivo de payload

    El argumento --shell apunta a un archivo local que el programa lee como texto.

    La fuente proporcionada no valida el contenido del archivo más allá de leerlo correctamente.

    Para un desarrollo y pruebas seguros, utiliza un fixture de prueba inofensivo en lugar de un payload que ejecute comandos.


    Salida

    El programa crea:```text ELV_CVE/

    root@kitploit:~
    Para el modo multiobjetivo, escribe:```text
    ELV_CVE/success.txt
    

    El origen actual escribe las URL de shell exitosas en este archivo.

    Ejemplo de formato de resultado:```text https://authorized-lab.example/path/to/result

    root@kitploit:~
    El programa también imprime un resumen de finalización que contiene el número de resultados exitosos en relación con el número de objetivos cargados.
    
    ---
    
    ## Concurrencia
    
    El modo multiobjetivo utiliza:```python
    ThreadPoolExecutor
    

    El número de hilos configurado por defecto es 10.

    Una mayor concurrencia puede aumentar:

    • la carga de red;
    • la carga del lado del servidor;
    • la activación de límites de velocidad;
    • los falsos positivos causados por conexiones inestables;
    • la dificultad para interpretar los registros.

    Para evaluaciones controladas, comience con un valor de concurrencia bajo y auméntelo solo cuando el entorno y la autorización lo permitan.


    Comportamiento de red

    La implementación proporcionada utiliza requests.Session() para la comunicación HTTP.

    Las principales operaciones de red son:

    1. GET a la raíz del objetivo;
    2. POST de la solicitud de importación de perfil;
    3. GET a las rutas de archivo candidatas;
    4. opcionalmente, POST de comandos a través de la URL de shell reportada.

    El código fuente utiliza tiempos de espera de solicitud explícitos:

    • GET inicial: 15 segundos;
    • solicitud de carga: 15 segundos;
    • comprobación de rutas candidatas: 10 segundos;
    • solicitud de comando interactivo: 15 segundos.

    Estos valores están codificados de forma fija en el código fuente actual.


    Comportamiento SSL/TLS

    La implementación establece:```python s.verify = False

    root@kitploit:~
    y suprime `InsecureRequestWarning`.
    
    Esto significa que la verificación de certificados está deshabilitada.
    
    Esto puede ser útil en un laboratorio desechable con certificados autofirmados, pero **no se recomienda para herramientas de seguridad de producción normales**.
    
    Una implementación más segura debería hacer que la verificación de certificados sea configurable y mantener la verificación habilitada de forma predeterminada.
    
    ---
    
    ## Registro y resultados
    
    La fuente utiliza un bloqueo de hilo alrededor de `safe_print()` para reducir las colisiones de salida entre los hilos de trabajo.
    
    Las categorías de estado típicas incluyen:```text
    failed
    success
    

    El objeto de resultado también puede contener campos como:```text url status reason shell_url

    root@kitploit:~
    El colector multiobjetivo además verifica:```text
    uploaded_hidden
    

    Sin embargo, la implementación de exploit() proporcionada actualmente no devuelve ese estado.

    Esto indica un área donde el modelo de resultados podría depurarse en una versión futura.


    Manejo de errores

    La implementación actual maneja varios casos de fallo:

    Fallo de conexión al objetivo

    Una solicitud HTTP fallida se registra como un objetivo fallido con el mensaje de excepción.

    Respuesta del objetivo distinta de 200

    Si la solicitud GET inicial no devuelve HTTP 200, el procesamiento se detiene para ese objetivo.

    Token ausente

    Si no se puede extraer el token esperado, el objetivo se reporta como una verificación de vulnerabilidad fallida.

    Fallo en la solicitud de carga

    Las excepciones durante la solicitud de carga se capturan y el script continúa con el siguiente intento de extensión/ruta.

    Archivo de payload ausente

    Si el archivo de payload local no existe, el programa termina con un error.

    Interrupción por teclado

    El canal interactivo maneja KeyboardInterrupt y sale de la sesión.


    Estructura del código fuente

    Las funciones principales en el código fuente proporcionado son:

    safe_print(msg)

    Asistente de salida por consola seguro para hilos.

    read_custom_shell(filepath)

    Lee el archivo de payload local como texto UTF-8 con errores de decodificación ignorados.

    interactive_shell(shell_url)

    Proporciona la interfaz interactiva de comandos HTTP después de una ruta de shell reportada como exitosa.

    exploit(url, shell_content, interactive=False)

    Realiza el flujo de trabajo de procesamiento del objetivo y devuelve un diccionario de resultados.

    main()

    Maneja:

    • visualización del banner;
    • análisis de argumentos;
    • carga del payload;
    • carga de objetivos;
    • creación del directorio de salida;
    • ejecución de un solo objetivo;
    • ejecución multihilo de múltiples objetivos;
    • agregación de resultados;
    • escritura del archivo de resultados.

    Consideraciones de seguridad

    Este proyecto tiene varias características sensibles a la seguridad que deben entenderse antes de su uso.

    Ejecución remota de comandos

    El modo interactivo es capaz de enviar comandos a un endpoint HTTP remoto. Esto lo hace sustancialmente más sensible que un escáner pasivo.

    No exponga ni distribuya payloads operativos de forma casual.

    Verificación de certificados deshabilitada

    La verificación de certificados TLS está deshabilitada en la implementación actual.

    Esto debería corregirse antes de tratar el proyecto como una herramienta de seguridad madura.

    Manejo del payload

    El payload se carga directamente desde un archivo local y se envía como parte de la solicitud HTTP.

    Trate los archivos de payload como material ejecutable de pruebas de seguridad.

    Validación de objetivos

    El código fuente actual no implementa un mecanismo sólido de autorización o lista de permitidos.

    Una versión interna más segura debería admitir una lista explícita de objetivos permitidos.

    Limitación de tasa

    La implementación actual no proporciona un limitador de tasa integral.

    Por lo tanto, las solicitudes concurrentes deben controlarse cuidadosamente.

    Sensibilidad de los resultados

    Los archivos de resultados pueden contener URLs asociadas con intentos de explotación exitosos. Proteja estos archivos como datos de evaluación sensibles.


    Metodología de pruebas responsable

    Un flujo de trabajo de evaluación profesional debería verse así:```text Authorization ↓ Define Scope ↓ Prepare Isolated Test Environment ↓ Confirm Target Ownership / Permission ↓ Perform Minimal Verification ↓ Collect Evidence ↓ Stop Exploitation Once Proof Is Established ↓ Remediate ↓ Retest ↓ Document Findings

    root@kitploit:~
    El objetivo de una evaluación de vulnerabilidades debe ser establecer el riesgo con el **mínimo impacto necesario**, no obtener acceso sin restricciones.
    
    ---
    
    ## Configuración de laboratorio recomendada
    
    Para el desarrollo, cree un entorno dedicado que contenga:
    
    - una VM Linux aislada;
    - un servidor web local;
    - una instalación de prueba de Joomla;
    - el componente/versión de JCE correspondiente;
    - aislamiento de red;
    - instantáneas/copias de seguridad;
    - cuentas de prueba;
    - registros de la aplicación y del servidor web.
    
    Evite realizar pruebas contra sistemas de producción no relacionados.
    
    ---
    
    ## Solución de problemas
    
    ### `ModuleNotFoundError: No module named 'requests'`
    
    Instale la dependencia de Python:```bash
    python3 -m pip install requests urllib3
    

    No se puede leer el archivo de payload

    Confirme que la ruta proporcionada existe y es legible:```bash ls -l

    root@kitploit:~
    ### La solicitud HTTP inicial falla
    
    Verifique:
    
    - la correctitud de la URL;
    - DNS;
    - conectividad de red;
    - disponibilidad de HTTP/HTTPS;
    - reglas de firewall;
    - alcance del objetivo;
    - registros del servidor.
    
    ### No se detecta el token CSRF
    
    La respuesta del objetivo puede diferir de la estructura HTML esperada por las expresiones regulares en la implementación actual.
    
    No asuma que la ausencia de un token significa que el objetivo es seguro o vulnerable. Trátelo como un resultado no concluyente.
    
    ### El archivo de resultados está vacío
    
    Verifique:```text
    ELV_CVE/success.txt
    

    y revise la salida de la consola en busca de solicitudes HTTP fallidas, fallos en la extracción de tokens o rechazo de la carga.


    Limitaciones conocidas

    La implementación proporcionada tiene varias limitaciones.

    1. Los metadatos de CVE no están verificados de forma independiente por este README.
    2. El flag --verbose está definido pero actualmente no controla el registro detallado.
    3. El argumento --output está definido pero actualmente no se utiliza para la selección del archivo de resultados.
    4. json y sleep se importan pero no se utilizan de forma sustancial en la implementación mostrada.
    5. La verificación de certificados está deshabilitada.
    6. No hay una lista de permitidos de autorización/objetivos integrada.
    7. No hay un limitador de tasa integral.
    8. Las rutas candidatas están codificadas de forma fija.
    9. La detección depende de patrones de respuesta específicos y puede producir falsos negativos.
    10. Una respuesta HTTP exitosa por sí sola no establece necesariamente una vulnerabilidad válida.
    11. El manejo actual de resultados multiobjetivo hace referencia a uploaded_hidden, aunque la función exploit() mostrada no devuelve ese estado.
    12. El código fuente debe someterse a pruebas de sintaxis y revisarse antes de su publicación o despliegue.

    Notas de desarrollo

    Antes de etiquetar una versión de calidad de producción, considere añadir:

    Configuración

    Mueva los valores codificados de forma fija a una capa de configuración:

    • tiempo de espera de solicitud;
    • verificación TLS;
    • rutas candidatas;
    • número de hilos;
    • user-agent;
    • ubicación de salida.

    Registro estructurado

    Utilice el módulo logging de Python en lugar de depender principalmente de print().

    Niveles sugeridos:```text DEBUG INFO WARNING ERROR

    root@kitploit:~
    ### Esquema de resultados
    
    Defina un objeto de resultado consistente, por ejemplo:```text
    target
    status
    reason
    http_status
    evidence
    timestamp
    

    Modo de prueba de concepto más seguro

    Separar la verificación de vulnerabilidades de la ejecución de comandos.

    Una arquitectura más segura es:```text Detection → Verification → Evidence

    root@kitploit:~
    con la ejecución interactiva de comandos deshabilitada por defecto.
    
    ### Lista de objetivos permitidos
    
    Requerir un archivo de alcance explícito o una lista de permitidos antes de realizar acciones de red.
    
    ### Fijación de dependencias
    
    Usar un `requirements.txt` o un archivo de bloqueo con versiones de dependencias probadas.
    
    ### Pruebas
    
    Añadir pruebas unitarias para:
    
    - normalización de URL;
    - análisis de tokens;
    - análisis de listas de objetivos;
    - serialización de resultados;
    - manejo de errores;
    - manejo de rutas candidatas.
    
    ---
    
    ## Estructura de repositorio sugerida
    
    Un repositorio limpio podría usar:```text
    .
    ├── README.md
    ├── LICENSE
    ├── requirements.txt
    ├── elv-cve.py
    ├── tests/
    │   ├── test_parser.py
    │   ├── test_results.py
    │   └── test_token_parser.py
    ├── docs/
    │   └── methodology.md
    └── examples/
        └── targets.example.txt
    

    No hagas commit de listas de objetivos reales, credenciales, payloads de shell, datos de sesión ni resultados de evaluación sensibles.


    Higiene de Git

    Entradas recomendadas para .gitignore:```gitignore pycache/ *.py[cod] .venv/ venv/ .env ELV_CVE/ *.log *.tmp .DS_Store

    root@kitploit:~
    Los artefactos de evaluación sensibles deben permanecer fuera del repositorio público.
    
    ---
    
    ## Versionado
    
    El proyecto actual se identifica como:```text
    v1.0.0
    

    Para futuras versiones, se recomienda el versionado semántico:```text MAJOR.MINOR.PATCH

    root@kitploit:~
    Ejemplo:```text
    1.0.0
    1.1.0
    1.1.1
    2.0.0
    

    Usa un incremento de versión mayor al realizar cambios que rompan la compatibilidad con la CLI, el formato de resultados o la arquitectura.


    Hoja de ruta

    Posibles hitos futuros:

    • Modo de detección pasiva
    • Modo de verificación segura
    • Lista de objetivos permitidos explícita
    • Verificación TLS configurable
    • Tiempos de espera configurables
    • Ruta de salida configurable
    • Registro detallado/depuración adecuado
    • Exportación de resultados en JSON
    • Exportación de resultados en CSV
    • Recopilación de evidencia
    • Limitación de tasa
    • Controles de reintento/retroceso
    • Pruebas unitarias
    • Pruebas de integración en un laboratorio aislado
    • Validación de CI
    • Fijación de dependencias
    • Documentación para la remediación defensiva
    • Referencias de proveedores/avisos tras la verificación de CVE

    Reportar un hallazgo

    Un informe de seguridad útil debe documentar:```text Title Affected Asset Affected Component Version Severity CVE / Advisory Description Preconditions Evidence Business Impact Remediation Retest Result Timeline

    root@kitploit:~
    Evite incluir credenciales, información personal, datos no relacionados o salida de comandos innecesaria en un informe público.
    
    ---
    
    ## Guía de Remediación
    
    Para un despliegue de Joomla/JCE afectado, la remediación debe basarse en el **aviso oficial del proveedor/seguridad y el rango de versiones afectadas confirmado**, en lugar de depender únicamente de los metadatos CVE incrustados en este script.
    
    Las acciones defensivas generales incluyen:
    
    1. Identificar las versiones instaladas de Joomla y JCE.
    2. Determinar si el despliegue se encuentra dentro del rango afectado confirmado.
    3. Actualizar a una versión corregida compatible con el proveedor cuando esté disponible.
    4. Revisar los registros del servidor web y de la aplicación en busca de actividad sospechosa de carga/importación.
    5. Inspeccionar archivos inesperados en directorios accesibles desde la web.
    6. Rotar credenciales si se sospecha de compromiso.
    7. Revisar mecanismos de persistencia y tareas programadas.
    8. Volver a probar después de la remediación.
    9. Preservar la evidencia relevante de acuerdo con el proceso de respuesta a incidentes de la organización.
    
    ---
    
    ## Atribución
    
    La marca del proyecto y los metadatos de origen identifican el motor como:
    
    **HxN / E.L.V**
    
    Versión del proyecto:
    
    **1.0.0**
    
    ---
    
    ## Licencia
    
    Este proyecto está destinado a distribuirse bajo la:
    
    **GNU General Public License v3.0**
    
    Consulte el archivo `LICENSE` adjunto para obtener el texto completo de la licencia.
    
    Si el repositorio aún no contiene un archivo `LICENSE`, agregue el texto oficial de GNU GPL v3 antes de publicar el repositorio como licenciado bajo GPL.
    
    ---
    
    ## Descargo de responsabilidad
    
    Este software se proporciona para investigación de seguridad autorizada, pruebas de seguridad defensiva, educación y uso en laboratorio controlado.
    
    El autor y los colaboradores no son responsables del uso indebido, acceso no autorizado, daños, pérdida de datos, interrupción del servicio o cualquier otra consecuencia derivada del uso de este software.
    
    Usted es el único responsable de garantizar que sus actividades de prueba cumplan con las leyes, contratos, políticas y requisitos de autorización explícita aplicables.
    
    **Solo pruebe sistemas que posea o sistemas para los que tenga permiso explícito de prueba.**
    
    ---
    
    ## Nota final
    
    Este README documenta el comportamiento expuesto por el código fuente `elv-cve.py` proporcionado. Distingue intencionalmente los detalles de implementación de las afirmaciones que requieren verificación independiente de vulnerabilidad/aviso.
    
    Para un repositorio público, verifique la información de CVE y agregue referencias autorizadas del proveedor/aviso antes de describir el proyecto como un exploit confirmado para un producto/versión en particular.
    
    Descargar herramienta