Ferramenta de Detecção e Exploração da Vulnerabilidade CVE-2025-55182
Introdução do Projeto
Esta ferramenta é uma interface gráfica (GUI) desenvolvida em Java Swing para detectar e explorar a vulnerabilidade CVE-2025-55182. Essa vulnerabilidade é uma falha de segurança no framework Next.js que permite a um atacante executar comandos arbitrários através de requisições especialmente construídas.
Funcionalidades
1. Detecção de Vulnerabilidade
Suporte a varredura em lote de URLs
Varredura concorrente com múltiplas threads para aumentar a velocidade de detecção
Exibição em tempo real do progresso e contagem (ex.: 1/1000 (0%))
Exibe apenas alvos vulneráveis, filtrando informações irrelevantes
Suporte a importação de arquivos para detecção em lote
Funcionalidade de parar a varredura
2. Execução de Comandos
Suporte a execução de comandos Linux/Windows
Seleção automática ou manual do sistema operacional alvo
Exibição em tempo real dos resultados da execução de comandos
3. Injeção de WebShell de Memória
Suporte a injeção de webshell de memória simples para execução de comandos
Suporte a injeção de webshell de memória Godzilla (com criptografia RC4)
Geração automática de informações de conexão e instruções de uso
4. Reverse Shell
Suporte a reverse shell para Linux/Windows
Suporte a comandos de reverse shell personalizados
Diversas formas de reverse shell (Linux: named pipe, Windows: PowerShell)
Arquitetura Técnica
Linguagem de desenvolvimento: Java
Framework GUI: Swing
Comunicação de rede: HttpURLConnection
Processamento concorrente: Pool de threads ExecutorService
Gerenciamento de projeto: Maven
Requisitos do Ambiente
JDK 8 ou superior
Maven 3.6 ou superior
Compilação e Execução
1. Compilar o projeto
root@kitploit:~
# Entre no diretório do projeto
cd CVE202555182GUI
# Compile e empacote
mvn clean package
2. Executar a ferramenta
root@kitploit:~
# Execute o arquivo JAR executável com dependências
java -jar target/CVE202555182GUI-1.0-SNAPSHOT-jar-with-dependencies.jar
Modo de Uso
Detecção de Vulnerabilidade
No campo de texto "URL Alvo", insira uma ou mais URLs (uma por linha)
Ou clique no botão "Importar Arquivo" e selecione um arquivo contendo a lista de URLs
Clique no botão "Iniciar Varredura" para começar a escanear
Os resultados da varredura serão exibidos na área "Resultados da Varredura" abaixo
Você pode clicar no botão "Parar Varredura" para interromper o processo
Execução de Comandos
Insira a URL alvo
Insira o comando a ser executado
Selecione o sistema operacional alvo (auto/linux/windows)
Clique no botão "Executar Comando"
O resultado da execução será exibido na área "Resultado da Execução"
Injeção de WebShell de Memória
Insira a URL alvo
Selecione o tipo de webshell de memória (Execução Simples de Comandos / Godzilla)
Selecione o sistema operacional alvo (auto/linux/windows)
Clique no botão "Injetar WebShell de Memória"
O resultado da injeção e as informações de conexão serão exibidos na área "Resultado da Injeção"
Reverse Shell
Insira a URL alvo
Insira o IP e a porta para o reverse shell
Selecione o sistema operacional alvo (linux/windows)
Opcional: insira um comando de reverse shell personalizado
Clique no botão "Injetar Reverse Shell"
O resultado da injeção será exibido na área "Resultado da Injeção"
Princípio da Vulnerabilidade
A vulnerabilidade CVE-2025-55182 é causada por uma falha de segurança no framework Next.js ao processar requisições específicas. Um atacante pode construir uma requisição maliciosa do tipo multipart/form-data para executar comandos arbitrários no servidor.
A ferramenta detecta a vulnerabilidade através das seguintes etapas:
Constrói uma requisição contendo o payload de execução de comando
Envia para o caminho /_next/data do servidor alvo
Verifica se a resposta contém o resultado esperado da execução do comando
Determina se a vulnerabilidade está presente com base no resultado
Projetos de Referência
Este projeto referencia o seguinte projeto open-source:
ReactExploitGUI – Forneceu as ideias principais e métodos de implementação para a exploração da vulnerabilidade
Aviso de Segurança
Esta ferramenta destina-se apenas a testes de segurança autorizados e testes de penetração
Ao usar esta ferramenta, respeite todas as leis e regulamentos aplicáveis
Não use esta ferramenta em alvos não autorizados
Após a conclusão dos testes, remova imediatamente qualquer webshell de memória injetado
Observações
Velocidade de varredura: por padrão, são usadas 10 threads concorrentes; ajuste conforme o ambiente de rede
Timeout: o timeout padrão é de 10 segundos; ajuste conforme o ambiente de rede
Conexão do webshell de memória: ao usar o webshell Godzilla, é necessário baixar o plugin de conexão Node.js correspondente
Reverse shell: é necessário iniciar a porta de escuta correspondente localmente (ex.: nc -lvvp 4444)
Solução de Problemas
Problemas Comuns e Soluções
Barra de progresso da varredura não avança
Verifique se a URL alvo está correta
Verifique se a conexão de rede está funcionando
Tente reduzir o número de threads concorrentes
Falha na execução do comando
Confirme se o alvo possui a vulnerabilidade
Confirme se a seleção do sistema operacional está correta
Verifique se o comando está de acordo com a sintaxe do sistema alvo
Falha na injeção do webshell de memória
Confirme se o alvo possui a vulnerabilidade
Verifique se a conexão de rede está estável
Tente usar um tipo diferente de webshell de memória
Reverse Shell não conecta
Confirme se a porta de escuta local foi iniciada
Verifique as configurações do firewall de rede
Confirme se as configurações de IP e porta do reverse shell estão corretas
Tente usar um comando de reverse shell personalizado
Histórico de Versões
v1.0.0: Versão inicial
Implementação da funcionalidade básica de detecção de vulnerabilidades
Implementação da funcionalidade de execução de comandos
Implementação da funcionalidade de injeção de webshell de memória
Implementação da funcionalidade de reverse shell
Aviso de Isenção de Responsabilidade
Esta ferramenta é destinada exclusivamente para aprendizado e testes de segurança autorizados. Não deve ser usada para fins ilegais. Qualquer consequência decorrente do uso desta ferramenta é de responsabilidade do usuário.
Contato
Em caso de dúvidas ou sugestões, entre em contato com o autor.