Herramienta de explotación de RCE remota de React Server Components
📖 Introducción a la herramienta
La herramienta de explotación de RCE remota de React Server Components es una herramienta de pruebas de seguridad diseñada específicamente para vulnerabilidades de ejecución remota de código en los frameworks React Server Components y Next.js. Proporciona una interfaz gráfica de usuario y admite múltiples modos de ataque y funciones de detección por lotes.
⚠️ Aviso legal: Esta herramienta está destinada únicamente a pruebas de seguridad autorizadas y competiciones CTF. Está estrictamente prohibido su uso para ataques ilegales. Cualquier consecuencia derivada del uso de esta herramienta será responsabilidad del usuario.
🎯 Alcance de las vulnerabilidades afectadas
Versiones afectadas de React Server
React Server 19.0.0
React Server 19.0.1 (nota: algunos parches iniciales no cubren completamente la vulnerabilidad)
React Server 19.1.* (todas las versiones 19.1.x)
React Server 19.2.0
Versiones afectadas de 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 y versiones Canary posteriores
Otros componentes afectados
Dify - plataforma de desarrollo de aplicaciones de IA
NextChat - framework de aplicaciones de chat
Otras aplicaciones construidas con versiones afectadas de React Server Components o Next.js
Nota: Si su aplicación utiliza cualquiera de las versiones anteriores, se recomienda actualizar inmediatamente a una versión segura o tomar las medidas de protección adecuadas.
✨ Características
🎯 Funciones principales
Detección de vulnerabilidades: detecta rápidamente si el objetivo presenta la vulnerabilidad RCE de React Server Components / Next.js
Salida de comandos: ejecuta comandos del sistema directamente y obtiene la salida
Inyección de webshell en memoria: inyecta una webshell persistente en el servidor de destino
Reverse Shell: obtiene un shell interactivo del sistema objetivo
Escaneo por lotes: admite la detección por lotes de múltiples URLs objetivo para identificar rápidamente sistemas vulnerables
🔧 Funciones auxiliares
Soporte de proxy: admite la configuración de un proxy HTTP (como Burp Suite) para facilitar el análisis del tráfico
Cabeceras de solicitud personalizadas: permite añadir cabeceras HTTP personalizadas para evadir protecciones simples
Registro en tiempo real: los registros de operaciones se muestran en tiempo real para facilitar el seguimiento del proceso de prueba
Configuración de tiempo de espera: permite personalizar el tiempo de espera de las solicitudes para adaptarse a diferentes entornos de red
🚀 Inicio rápido
Requisitos del entorno
Java 8 o superior
Sistemas operativos Windows / Linux / macOS
Iniciar la herramienta
Haga doble clic en el archivo React Server Components 远程RCE.jar
O iníciela mediante la línea de comandos:
root@kitploit:~
java -jar React Server Components 远程RCE.jar
Al iniciarse por primera vez se mostrará el aviso legal; léalo atentamente y acéptelo para continuar usando la herramienta
📋 Guía de uso
1️⃣ Configuración básica
Antes de utilizar cualquier función, debe configurar la información básica:
URL objetivo: introduzca la dirección del sitio web a probar (por ejemplo: http://192.168.1.100:3000)
Ruta de ataque: ruta de la aplicación (por defecto: /apps, ajustable según el objetivo)
Tiempo de espera: segundos de tiempo de espera de la solicitud (por defecto: 30 segundos)
Cabeceras de solicitud personalizadas: opcional, una por línea, con el formato Header-Name: value
2️⃣ Detección de vulnerabilidades
Rellene la URL objetivo y la configuración básica
Haga clic en el botón "Probar vulnerabilidad"
Espere el resultado de la detección; la herramienta determinará automáticamente si el objetivo presenta la vulnerabilidad
Consejo: se recomienda realizar primero la detección de vulnerabilidades y confirmar que el objetivo es vulnerable antes de continuar con otras operaciones.
🎮 Explicación detallada de los modos de ataque
Modo 1: Salida de comandos
Escenario de uso: cuando se necesita ejecutar comandos del sistema y ver el resultado de la ejecución
Pasos de uso:
Cambie a la pestaña "Salida de comandos"
En el campo de entrada de comandos, introduzca el comando a ejecutar (por ejemplo: whoami, ipconfig, ls -la)
Haga clic en el botón "Ejecutar comando"
Consulte el resultado de la ejecución en el área de texto inferior
Ejemplos de comandos habituales:
Windows: whoami, ipconfig, dir, net user
Linux: whoami, ifconfig, ls -la, uname -a
Modo 2: Inyección de webshell en memoria
Escenario de uso: cuando se necesita dejar una puerta trasera persistente en el servidor de destino
Pasos de uso:
Cambie a la pestaña "Inyección de webshell en memoria"
Configure la ruta de acceso de la webshell en memoria (por ejemplo: /exec)
Haga clic en el botón "Inyectar webshell en memoria"
Una vez inyectada correctamente, puede ejecutar comandos de la siguiente manera:
root@kitploit:~
访问:http://目标地址/exec?cmd=whoami
Instrucciones de uso:
La webshell en memoria se registra en la memoria de la aplicación de destino y no deja archivos en el disco
La webshell en memoria deja de ser válida tras reiniciar el servidor
El comando a ejecutar se pasa mediante el parámetro de URL cmd
Modo 3: Reverse Shell
Escenario de uso: cuando se necesita obtener un shell interactivo del sistema objetivo
Pasos de uso:
Inicie un listener en su máquina local (por ejemplo, con netcat):
root@kitploit:~
nc -lvnp 4444
Cambie a la pestaña "Reverse Shell"
Introduzca la IP del listener (la dirección IP de su máquina)
Introduzca el puerto del listener (por ejemplo: 4444)
Haga clic en el botón "Enviar reverse shell"
Vuelva a la ventana de netcat y espere la conexión del shell
Notas importantes:
Asegúrese de que el servidor de destino pueda acceder a su IP y puerto de escucha
El cortafuegos debe permitir las conexiones entrantes en el puerto correspondiente
En entornos reales puede estar sujeto a restricciones de políticas de red
Modo 4: Detección por lotes
Escenario de uso: cuando se necesita escanear múltiples objetivos en busca de vulnerabilidades
Pasos de uso:
Cambie a la pestaña "Detección por lotes"
En el cuadro de texto, introduzca la lista de URLs objetivo (una por línea)
Haga clic en el botón "Iniciar escaneo"
Revise los resultados del escaneo; la herramienta marcará los objetivos que presentan vulnerabilidades
⚙️ Configuración avanzada
Configurar proxy HTTP
Se utiliza para reenviar el tráfico a herramientas de captura de paquetes como Burp Suite, a fin de facilitar el análisis de solicitudes y respuestas.
Pasos de configuración:
Haga clic en el menú superior "Configuración" → "Configuración de proxy"
Seleccione "Habilitar"
Introduzca el host del proxy (por ejemplo: 127.0.0.1)
Introduzca el puerto del proxy (por ejemplo: 8080)
Haga clic en "Guardar"
Configuración de Burp Suite:
Asegúrese de que el listener de proxy de Burp Suite esté iniciado
Dirección de escucha por defecto: 127.0.0.1:8080
En Burp puede interceptar y modificar todas las solicitudes enviadas por la herramienta
Visualización del estado del proxy:
Una vez configurado, la esquina superior derecha de la interfaz mostrará el estado del proxy
Verde indica que está habilitado; gris indica que no está configurado
🛡️ Recomendaciones de seguridad
Úsela únicamente en entornos autorizados: asegúrese de contar con una autorización explícita antes de probar un objetivo
No la utilice en entornos de producción: evite causar daños a sistemas en producción
Proteja los datos de las pruebas: la información sensible obtenida durante las pruebas debe guardarse de forma segura
Cumpla las leyes y regulaciones: las pruebas de penetración no autorizadas pueden infringir la ley
Uso en competiciones CTF: esta herramienta es adecuada para entornos legales como CTF y campos de entrenamiento
❓ Preguntas frecuentes
P1: ¿Qué hago si aparece "No se detectó ninguna vulnerabilidad"?
Posibles causas:
La URL objetivo es incorrecta o el servicio no está iniciado
El objetivo no presenta esta vulnerabilidad
La ruta de ataque está mal configurada
No hay conectividad de red o el cortafuegos bloquea la conexión
Soluciones:
Compruebe si la URL objetivo es accesible normalmente
Intente ajustar los parámetros de la ruta de ataque
Revise la conexión de red y la configuración del proxy
P2: ¿La ejecución de comandos no muestra salida?
Posibles causas:
El comando se ejecutó correctamente pero no generó salida (por ejemplo, ciertos comandos de escritura de archivos)
Restricciones de permisos del sistema de destino
Error de sintaxis en el comando
Soluciones:
Intente ejecutar un comando que produzca una salida clara (como id)
Compruebe si la sintaxis del comando es correcta
Consulte la información detallada en el área de registro inferior
P3: ¿Falla la conexión del reverse shell?
Posibles causas:
El objetivo no puede acceder a su IP de escucha
El cortafuegos bloquea la conexión
El puerto está ocupado
Soluciones:
Confirme que el servicio de escucha está iniciado (nc -lvnp 端口)
Revise la configuración del cortafuegos y permita el puerto correspondiente
Asegúrese de que la dirección IP sea correcta (si el objetivo y usted están en la misma red interna, use la IP interna)
P4: ¿Cómo puedo ver las solicitudes y respuestas detalladas?
Soluciones:
Configure un proxy HTTP (como Burp Suite)
Vea el tráfico HTTP completo en la herramienta de proxy
El área de registro inferior también mostrará información clave
📞 Soporte técnico
Autor: CrabSec
Versión: v1.0.0
📜 Aviso de derechos de autor
Esta herramienta está destinada únicamente al aprendizaje y a pruebas de seguridad autorizadas. Todas las consecuencias derivadas del uso de esta herramienta serán responsabilidad del usuario; el desarrollador no asume ninguna responsabilidad.
¡Respete la ley de seguridad de redes y las leyes y regulaciones aplicables, y sea un investigador de seguridad ético!