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
HTB-Pterodactyl-RCE-CVE-2025-49132 — Este repositório contém exploit RCE para a máquina Pterodactyl htb | Kitploit
Ferramentas/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

Este repositório contém exploit RCE para a máquina Pterodactyl htb

Ver Repositório
12há 6 mesesAinda 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

Pterodactyl Panel Locale RCE (CVE-2025-49132) — PoC Educacional

scope cve python license

Apenas para testes autorizados e aprendizado defensivo.
Este repositório é destinado a ambientes de laboratório controlados (ex.: configurações CTF/HTB) onde você possui o alvo ou tem*permissão explícita por escrito para testá-lo.

Contexto

Este repositório contém uma prova de conceito educacional em Python (pterodactyl_rce.py) para uma vulnerabilidade real que afeta versões do Pterodactyl Panel anteriores à v1.11.11. Em configurações vulneráveis, um atacante não autenticado pode alcançar execução remota de código através do endpoint /locales/locale.json devido ao tratamento inadequado dos parâmetros locale e .

namespace

Esta variante do PoC tem como alvo ambientes onde o PHP-PEAR está instalado e foi construída/validada contra a máquina aposentada do Hack The Box Pterodactyl: https://app.hackthebox.com/machines/Pterodactyl. Também pode funcionar em outras configurações de laboratório onde as mesmas condições são atendidas.

Referência da vulnerabilidade

  • GitHub Advisory: GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • Afetado: Pterodactyl Panel < 1.11.11
  • Corrigido em: v1.11.11 (commit de correção 24c82b0…)

Ideia de alto nível (como o PoC funciona)

Em alto nível, o PoC encadeia estas etapas:

  1. Gera um payload ELF reverso TCP para Linux x64 com msfvenom.
  2. Serve esse ELF usando um servidor HTTP (uma requisição, depois sai).
  3. Abusa do tratamento vulnerável de /locales/locale.json para escrever um "stager" PHP em /tmp (através de um truque de pearcmd config-create).
  4. Aciona o stager através do endpoint de locales para que ele:
    • baixe o ELF para /tmp,
    • o torne executável,
    • o execute para conectar de volta ao seu listener.

O script usa um cliente HTTP bruto em vez de curl para a etapa de "upload" porque algumas ferramentas podem normalizar ou codificar caracteres de forma a quebrar a requisição criada.

Nota: Este README permanece intencionalmente em um nível defensivo/educacional. Use o código apenas em ambientes que você tem permissão para testar.


Requisitos (local)

  • Python 3.10+ (testado apenas com a biblioteca padrão)
  • msfvenom disponível em $PATH (Metasploit Framework)
  • nc (netcat) se quiser que o PoC inicie um auto-listener
  • Acesso de rede entre sua máquina de laboratório e sua instância do Pterodactyl no laboratório

Configuração

O script atualmente espera um hostname HTB do painel no código fonte:

root@kitploit:~
host = "panel.pterodactyl.htb"

Além disso, o caminho hardcoded para PHP-PEAR está definido como: ../../../../../usr/share/php/PEAR. Se você estiver testando isso fora da caixa Pterodactyl, precisará ajustar este caminho de acordo com sua configuração local.


Uso (apenas laboratório controlado)

1) Execução básica (auto-listener habilitado)

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST>: seu IP de callback acessível pelo servidor do laboratório
  • <LPORT>: porta para receber o shell reverso

2) Execução sem auto-listener

Se preferir executar seu próprio listener:

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT> --no-listen

Em seguida, em outro terminal:

root@kitploit:~
nc -lvnp <LPORT>

Exemplo (placeholder)

root@kitploit:~
python3 pterodactyl_rce.py 10.10.14.225 5555

Saída / o que esperar

Fluxo típico:

  • Gera um payload ELF (nome aleatório como shell_ab12cd34)
  • Inicia um servidor HTTP de uma requisição na porta :8080
  • Cria um stager PHP em /tmp/<random>.php
  • Aciona o stager
  • Remove o arquivo ELF local após o acionamento
  • Imprime uma dica para melhorar seu shell (PTY)

Captura de tela da exploração bem-sucedida:

Reverse shell

Problemas Conhecidos / Notas de Laboratório

  • Instabilidade do laboratório: A máquina/serviço alvo pode estar instável (timeouts, 5xx intermitentes, execução atrasada). Se uma execução falhar, tente novamente após uma breve pausa.
  • Reutilização de payload antigo: O ambiente pode, às vezes, acionar um arquivo mais antigo enviado/staged. O script limpa apenas um arquivo local na máquina atacante mas não toca no arquivo na pasta /tmp/ da máquina. Soluções alternativas:
    • Execute novamente com um novo nome de payload aleatório (comportamento padrão neste script).
    • Altere a porta inicial do http.server de 8080 para outra porta.
    • Altere a porta do seu listener (ex.: 4444 → 5555) e gere o payload novamente.
    • Certifique-se de que seu servidor HTTP está servindo o arquivo atual (pare qualquer servidor/listener anterior).
    • Se tiver acesso, remova manualmente artefatos antigos /tmp/<nome>.php no alvo; caso contrário, aguarde um pouco e tente novamente.

Orientações defensivas (o que corrigir / como detectar)

Correção / Mitigação

  • Atualize para Pterodactyl Panel v1.11.11 ou posterior.
  • Não há solução alternativa dentro do aplicativo além de corrigir; você pode bloquear o endpoint /locales/locale.json no nível do servidor web, mas isso pode quebrar funcionalidades de localização.

Ideias de detecção

Procure por requisições suspeitas como:

  • Requisições para /locales/locale.json com valores incomuns de locale= com travessia de diretório
  • Valores estranhos de namespace= (nomes inesperados, strings longas, caracteres incomuns)
  • Criação repentina de arquivos inesperados em /tmp/ no host do painel

Correlacione logs web com:

  • novos processos gerados pelo usuário www / PHP-FPM
  • conexões de saída para destinos/portas não padrão
  • uso inesperado de curl/wget a partir do host do painel

Notas sobre uso responsável

  • Não escaneie ou teste instâncias públicas.
  • Se você é operador de uma instância vulnerável, trate isso como crítico e corrija imediatamente.

Agradecimentos

  • PoC original: Pterodactyl Panel (< 1.11.11) — Remote Code Execution (RCE) (EDB-ID: 52341, CVE-2025-49132) por Zen-kun04
    https://www.exploit-db.com/exploits/52341
  • Relator / crédito da descoberta: O advisory do GitHub credita @azimoff337 por relatar GHSA-24wv-6c99-f843 / CVE-2025-49132.
  • GitHub Advisory Database / processo CVE: por rastrear e publicar os detalhes da vulnerabilidade.
  • Hack The Box (HTB): este PoC foi construído/validado em um ambiente de laboratório HTB controlado para aprendizado e pesquisa defensiva.
    Sem spoilers para conteúdo HTB ativo.
Baixar ferramenta