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
# Entre no diretório do projeto
cd CVE202555182GUI
# Compile e empacote
mvn clean package
2. Executar a ferramenta
# 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.