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/tomasmussi/activemq-cve-2023-46604
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationOutil d'Accès à Distance
GitHubtomasmussi/activemq-cve-2023-46604

activemq-cve-2023-46604

Dépôt pour exploiter la CVE-2023-46604 signalée pour ActiveMQ

Voir le dépôt
il y a 1 anPas 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

Exploitation de la CVE-2023-46604 sur Active MQ

Ce dépôt est un guide avec des exemples sur la façon d'exploiter la CVE-2023-46604

L'exploit tire parti de l'utilisation de la réflexion pour instancier des classes d'exception via une commande malveillante qui, au lieu d'être une commande valide, envoie comme classe d'exception une classe Spring pour charger des beans et comme paramètre constructeur de chaîne une URL à partir de laquelle télécharger un fichier XML contenant les définitions de beans Spring.

Ce bean Spring est en fait un java.lang.ProcessBuilder qui exécutera n'importe quelle commande bash avec les mêmes permissions utilisateur que celui qui exécute le client ou le serveur Java Active MQ.

Exécution de l'exploit

Exploit côté client

J'aurais aimé pouvoir faire la connexion HTTP en code Python, mais d'après ce que j'ai vu, le chargeur de beans Spring fait pour une raison inconnue deux appels HTTP et je suis plus familier avec la programmation multithread en Java qu'en Python

Cet exploit concerne un client ActiveMQ établissant une connexion avec un serveur broker, qui à son tour est un serveur malveillant qui rendra ce client vulnérable à l'exécution de code à distance.

L'exploit est divisé en deux processus :

  • Script Python : ce script gère la connexion du client ActiveMQ pour renvoyer la définition du bean Spring
  • Processus Java : le processus Java contient deux threads : la connexion client et un serveur HTTP qui renvoie la définition XML du bean Spring.

Cela a été testé avec Python 3.6 et Java 17

Compilez le projet Java :

  1. cd activemq-exploit

  2. mvn clean package

  3. Revenez à la racine du projet avec cd .., puis exécutez python scripts/client_exploit.py

Sur un autre terminal, exécutez le code Java :

  1. cd activemq-exploit
  2. java -jar target/activemq-exploit-1.0-SNAPSHOT.jar

Exploit côté serveur

L'exploit côté serveur se connecte à un broker serveur ActiveMQ et envoie les commandes malveillantes. Celui-ci a été uniquement utilisé avec ActiveMQ Artemis 2.18 et n'a pas pu exploiter la vulnérabilité car Artemis n'est pas livré avec Spring, et le seul exploit connu pour l'exécution de code à distance passe par une classe Spring pour charger des beans Spring.

Cependant, le script Python dans scripts/server_exploit.py fait la même chose que l'exploit côté client, mais en se connectant à un serveur. Il manque l'authentification, donc une adaptation de l'handshake Open Wire est peut-être nécessaire.

Télécharger l’outil