Ferramenta de Exploração RCE Remota para React Server Components
📖 Introdução à Ferramenta
A Ferramenta de Exploração RCE Remota para React Server Components é uma ferramenta de teste de segurança especializada para vulnerabilidades de execução remota de código nos frameworks React Server Components e Next.js, fornecendo uma interface gráfica e suporte a vários modos de ataque e detecção em lote.
⚠️ Aviso Legal: Esta ferramenta destina-se apenas a testes de segurança autorizados e competições CTF. É estritamente proibido usá-la para ataques ilegais. Qualquer consequência resultante do uso desta ferramenta é de responsabilidade do usuário.
🎯 Escopo de Impacto da Vulnerabilidade
Versões Afetadas do React Server
- React Server 19.0.0
- React Server 19.0.1 (Nota: alguns patches iniciais não cobriram completamente)
- React Server 19.1.* (todas as versões 19.1.x)
- React Server 19.2.0
Versões Afetadas do Next.js
- Next.js v15.0.0 - v15.0.4
- Next.js v15.1.0 - v15.1.8
- Next.js v15.2.x - v15.5.6
- Next.js v16.0.0 - v16.0.6
- Next.js v14.3.0-canary.77 e versões Canary superiores
Outros Componentes Afetados
- Dify - Plataforma de desenvolvimento de aplicações de IA
- NextChat - Framework de aplicações de chat
- Outras aplicações construídas com base nas versões afetadas do React Server Components ou Next.js
Nota: Se a sua aplicação usar qualquer uma das versões acima, recomendamos atualizar imediatamente para uma versão segura ou tomar medidas de proteção adequadas.
✨ Funcionalidades
🎯 Funcionalidades Principais
- Detecção de Vulnerabilidades: Detecta rapidamente se o alvo possui vulnerabilidade RCE no React Server Components / Next.js
- Retorno de Comando: Executa comandos do sistema diretamente e obtém o resultado
- Injeção de WebShell na Memória: Injeta um Webshell persistente no servidor alvo
- Reverse Shell: Obtém um shell interativo do sistema alvo
- Detecção em Lote: Suporta detecção em lote de múltiplas URLs alvo, identificando rapidamente sistemas vulneráveis
🔧 Funcionalidades Auxiliares
- Suporte a Proxy: Suporta configuração de proxy HTTP (ex.: Burp Suite) para facilitar a análise de tráfego
- Cabeçalhos Personalizados: Permite adicionar cabeçalhos HTTP personalizados para contornar proteções simples
- Log em Tempo Real: Logs de operação exibidos em tempo real para fácil rastreamento do processo de teste
- Configuração de Timeout: Permite personalizar o tempo limite de requisição para se adaptar a diferentes ambientes de rede
🚀 Início Rápido
Requisitos de Ambiente
- Java 8 ou superior
- Sistema Operacional Windows / Linux / macOS
Iniciar a Ferramenta
-
Execute o arquivo React Server Components 远程RCE.jar com duplo clique
-
Ou inicie via linha de comando:
java -jar React Server Components 远程RCE.jar
-
Na primeira inicialização, será exibido um aviso legal. Leia atentamente e concorde para continuar.
📋 Guia de Uso
1️⃣ Configuração Básica
Antes de usar qualquer funcionalidade, é necessário configurar as informações básicas:
- URL do Alvo: Insira o endereço do site a ser testado (ex.:
http://192.168.1.100:3000)
- Caminho de Ataque: Caminho da aplicação (padrão:
/apps, pode ser ajustado conforme o alvo)
- Tempo Limite: Segundos de timeout da requisição (padrão: 30 segundos)
- Cabeçalhos Personalizados: Opcional, um por linha, formato
Header-Name: value
2️⃣ Detecção de Vulnerabilidades
- Preencha a URL do alvo e as configurações básicas
- Clique no botão "Testar Vulnerabilidade"
- Aguarde o resultado da detecção; a ferramenta determinará automaticamente se o alvo possui a vulnerabilidade
Dica: Recomenda-se realizar a detecção de vulnerabilidades primeiro para confirmar se o alvo é vulnerável antes de prosseguir.
🎮 Detalhamento dos Modos de Ataque
Modo 1: Retorno de Comando
Cenário de uso: executar comandos do sistema e visualizar os resultados.
Passos de uso:
- Alterne para a aba "Retorno de Comando"
- No campo de entrada de comando, digite o comando a ser executado (ex.:
whoami, ipconfig, ls -la)
- Clique no botão "Executar Comando"
- Visualize o resultado da execução do comando na área de texto abaixo
Exemplos de comandos comuns:
- Windows:
whoami, ipconfig, dir, net user
- Linux:
whoami, ifconfig, ls -la, uname -a
Modo 2: Injeção de WebShell na Memória
Cenário de uso: deixar uma backdoor persistente no servidor alvo.
Passos de uso:
-
Alterne para a aba "Injeção de WebShell na Memória"
-
Defina o caminho de acesso do WebShell (ex.: /exec)
-
Clique no botão "Injetar WebShell na Memória"
-
Após a injeção bem-sucedida, execute comandos da seguinte forma:
Acesse: http://[endereço_do_alvo]/exec?cmd=whoami
Instruções de uso:
- O WebShell é registrado na memória da aplicação alvo, sem deixar arquivos no disco
- O WebShell será perdido após o reinício do servidor
- O comando a ser executado é passado através do parâmetro de URL
cmd
Modo 3: Reverse Shell
Cenário de uso: obter um shell interativo do sistema alvo.
Passos de uso:
-
Inicie um listener na máquina local (ex.: usando netcat):
-
Alterne para a aba "Reverse Shell"
-
Preencha o IP de escuta (endereço IP da sua máquina)
-
Preencha a porta de escuta (exemplo: 4444)
-
Clique no botão "Enviar Reverse Shell"
-
Volte para a janela do netcat e aguarde a conexão do shell
Notas importantes:
- Certifique-se de que o servidor alvo consegue acessar seu IP e porta de escuta
- O firewall deve permitir conexões de entrada na porta correspondente
- Em ambientes reais, pode haver restrições de política de rede
Modo 4: Detecção em Lote
Cenário de uso: realizar varredura em lote de vulnerabilidades em vários alvos.
Passos de uso:
- Alterne para a aba "Detecção em Lote"
- No campo de texto, insira a lista de URLs alvo (uma por linha)
- Clique no botão "Iniciar Varredura"
- Visualize os resultados; a ferramenta marcará os alvos vulneráveis
⚙️ Configuração Avançada
Configurar Proxy HTTP
Usado para encaminhar o tráfego para ferramentas de captura de pacotes como Burp Suite, facilitando a análise de requisições e respostas.
Passos de configuração:
- Clique no menu superior "Configurações" → "Configurações de Proxy"
- Selecione "Ativado"
- Preencha o host do proxy (ex.:
127.0.0.1)
- Preencha a porta do proxy (ex.:
8080)
- Clique em "Salvar"
Configuração do Burp Suite:
- Certifique-se de que o listener de proxy do Burp Suite está em execução
- Endereço de escuta padrão:
127.0.0.1:8080
- No Burp, você pode interceptar e modificar todas as requisições enviadas pela ferramenta
Verificação do status do proxy:
- Após a configuração, o status do proxy será exibido no canto superior direito da interface
- Verde indica ativado; cinza indica não configurado
🛡️ Recomendações de Segurança
- Use apenas em ambientes autorizados: Certifique-se de ter autorização explícita para testar o alvo
- Não use em ambientes de produção: Evite causar danos a sistemas em produção
- Proteja os dados de teste: Informações sensíveis obtidas durante o teste devem ser armazenadas com segurança
- Cumpra as leis e regulamentos: Testes de penetração não autorizados podem violar a lei
- Uso em competições CTF: Esta ferramenta é adequada para uso em ambientes legais como CTF e campos de treinamento
❓ Perguntas Frequentes
Q1: O que fazer se aparecer "Nenhuma vulnerabilidade detectada"?
Possíveis causas:
- URL do alvo incorreta ou serviço não iniciado
- O alvo não possui a vulnerabilidade
- Caminho de ataque configurado incorretamente
- Rede inacessível ou bloqueada por firewall
Soluções:
- Verifique se a URL do alvo pode ser acessada normalmente
- Tente ajustar o parâmetro do caminho de ataque
- Verifique a conexão de rede e as configurações de proxy
Q2: Comando executado sem retorno?
Possíveis causas:
- O comando foi executado com sucesso, mas não há saída (ex.: alguns comandos de escrita em arquivo)
- Restrições de permissão do sistema alvo
- Erro de sintaxe no comando
Soluções:
- Tente executar comandos com saída clara (ex.:
id)
- Verifique se a sintaxe do comando está correta
- Consulte os detalhes na área de log na parte inferior
Q3: Falha na conexão do Reverse Shell?
Possíveis causas:
- O alvo não consegue acessar seu IP de escuta
- Firewall bloqueando a conexão
- Porta ocupada
Soluções:
- Confirme que o serviço de escuta foi iniciado (
nc -lvnp porta)
- Verifique as configurações do firewall, permitindo a porta correspondente
- Certifique-se de que o endereço IP está correto (se o alvo e você estiverem na mesma rede interna, use o IP interno)
Q4: Como visualizar as requisições e respostas detalhadas?
Soluções:
- Configure um proxy HTTP (ex.: Burp Suite)
- Visualize o tráfego HTTP completo na ferramenta de proxy
- A área de log na parte inferior também exibe informações críticas
📞 Suporte Técnico
- Autor: CrabSec
- Versão: v1.0.0
📜 Declaração de Direitos Autorais
Esta ferramenta destina-se apenas a fins de aprendizado e testes de segurança autorizados. Qualquer consequência resultante do uso desta ferramenta é de responsabilidade do usuário, e o desenvolvedor não assume nenhuma responsabilidade.
Por favor, respeite as leis de segurança cibernética e regulamentações relacionadas. Seja um pesquisador de segurança ético!
Bons testes! 🎉