Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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
CVE-2025-55182-scanner — Un escáner de superficie no intrusivo para CVE-2025-55182 (RCE de React Server Components). Detecta endpoints RSC expuestos en aplicaciones React 19 y Next.js. | Kitploit
Herramientas/GitHubGitHub/fatguru/cve-2025-55182-scanner
Escáneres de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebEvasión de WAFSeguridad WebPruebas de PenetraciónRed Teaming
GitHubfatguru/cve-2025-55182-scanner

CVE-2025-55182-scanner

Un escáner de superficie no intrusivo para CVE-2025-55182 (RCE de React Server Components). Detecta endpoints RSC expuestos en aplicaciones React 19 y Next.js.

Ver Repositorio
1121716hace 9 mesesRevisado por Kitploit

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 →
Compartir

Escáner de Exposición de Superficie de React Server Components

(CVE-2025-55182)

Un detector de superficie especializado y no intrusivo para CVE-2025-55182 (RCE de React Server Components).


⚠️ Contexto técnico crítico

Lee esto antes de escanear:

Aunque CVE-2025-55182 es una vulnerabilidad RCE crítica (CVSS 10.0), la explotación en entornos de producción reales de Next.js es condicional.

  1. La barrera de la lista blanca: Next.js utiliza un serverManifest para permitir módulos en la lista blanca. Los intentos directos de cargar módulos peligrosos (como child_process) vía RSC a menudo fallan porque no están en este manifiesto.
  2. La cadena de ataque: Para lograr RCE en un objetivo endurecido, los atacantes a menudo necesitan encadenar esta vulnerabilidad con una primitiva de Prototype Pollution para sobrescribir el serverManifest en memoria y evadir la lista blanca.
  3. Minificación de Webpack: En builds de producción, los IDs de módulos están minificados (p. ej., 742 en lugar de "vm"). Los exploits rígidos que adivinan nombres fallarán (falsos negativos).

Esta herramienta es un detector de superficie. Identifica si el protocolo RSC está expuesto y activo. Encontrar un endpoint expuesto es el paso previo para identificar la superficie de ataque donde podría intentarse una cadena de Prototype Pollution.


🛡️ ¿Por qué usar este detector de superficie?

  • La mayoría de los PoCs y escáneres públicos producen falsos negativos en entornos de producción porque caen en cuatro trampas comunes:

  • Rigidez del exploit: intentan ejecutar gadgets específicos (como vm o child_process) que están bloqueados por las listas blancas, o dependen de IDs hardcodeados (p. ej., "id":"vm") que fallan contra builds de Webpack minificadas.

  • Redirecciones de raíz: hacer POST / en Next.js a menudo provoca una redirección 307/308 (p. ej., a /login), lo que hace que el cuerpo del POST se pierda o se convierta en GET antes de que el servidor lo procese.

  • Desajuste de transporte: muchos escáneres envían los payloads como text/plain o JSON crudo. Las Server Actions estrictas de Next.js a menudo requieren encapsulación multipart/form-data. Si el formato es incorrecto, el servidor devuelve 404/200 sin llegar a activar el parser vulnerable.

  • Ceguera ante WAF: las herramientas estándar ven un 403 Forbidden y se rinden. No distinguen entre un bloqueo global de IP y un filtro de reglas específico, perdiendo oportunidades de evadir el WAF mediante técnicas de codificación o padding.

Este escáner resuelve los tres desafíos:

✅ Sondeo inteligente de rutas: sondea automáticamente rutas aleatorias inexistentes (p. ej., /x7z9q2) para evadir redirecciones de raíz (307/308) y forzar al Next.js App Router a procesar el contexto de la solicitud.

✅ Transporte estricto (Multipart): usa encapsulación multipart/form-data en lugar de texto plano. Esto resuelve los falsos negativos en endpoints de Server Actions estrictos que de otro modo devuelven 404.

✅ Análisis diferencial de WAF: distingue entre bloqueos globales ([BLOCKED]) y filtrado por reglas específicas ([FILTERED]). Si el backend permite el protocolo pero bloquea el payload, el escáner lo identifica como un objetivo de alto valor.

✅ Modo de auto-bypass: incluye un motor --bypass opcional que intenta automáticamente técnicas de evasión (escapes Unicode, mutación de espacios en blanco, padding basura) contra objetivos [FILTERED].

✅ Detección endurecida: captura "caídas silenciosas" ([SUSPICIOUS]) en servidores empresariales que eliminan las cabeceras X-Powered-By, e identifica la huella de redirección 303 See Other de Assetnote.

✅ Fingerprinting activo: utiliza un payload especializado (["$1:aa:aa"]) para provocar el error "Digest" único de React 19 RSC, confirmando que el parser está activo incluso sin un RCE completo.


🚀 Instalación

  1. Clona el repositorio:

    git clone https://github.com/fatguru/CVE-2025-55182-scanner.git
    cd CVE-2025-55182-scanner
    
    
  2. Instala las dependencias (recomendado en un entorno virtual):

    pip install -r requirements.txt
    

💻 Uso

Escaneo básico

Comprueba una sola URL. Nota: asegúrate de apuntar a la ruta correcta de la aplicación (p. ej., /dashboard, /login), no solo al dominio raíz, ya que los endpoints del App Router de Next.js son específicos de la ruta.

python3 cve_2025_55182_scanner.py -u http://localhost:3000/dashboard

Escaneo masivo

Escanea una lista de URLs desde un archivo (una URL por línea). Esta es la estrategia recomendada para no perderte rutas específicas.

python3 cve_2025_55182_scanner.py -l targets.txt -o results.csv

Modo inseguro (Nuevo)

Ignora los errores de certificados SSL/TLS (útil para escaneo basado en IP, laboratorios locales o certificados autofirmados).

python3 cve_2025_55182_scanner.py -u [https://192.168.1.50](https://192.168.1.50) -k

Escaneo con cabeceras personalizadas (Bypass de WAF / Autenticación)

Nuevo en v2.1: usa el flag --header para pasar cookies de sesión o tokens si la aplicación está detrás de autenticación o de un WAF que requiere cabeceras específicas.

python3 cve_2025_55182_scanner.py -u https://target.com --header "Cookie: session=123" --header "Authorization: Bearer xyz"

Opciones

FlagDescripción
-u, --urlURL objetivo única (p. ej., http://target.com/dashboard).
-l, --listArchivo que contiene una lista de URLs a escanear (una por línea).
--bypass(Nuevo v2.5) Habilita el modo de evasión de WAF. Intenta automáticamente técnicas de mutación (Unicode, Padding, Whitespace) si se detecta un objetivo como [FILTERED].
--headerAñade cabeceras personalizadas (p. ej., Cookie: session=xyz, Authorization: Bearer...). Se puede usar varias veces.
-o, --outputGuarda los resultados en un archivo de texto.
-k, --insecureDesactiva la verificación de certificados TLS (suprime las advertencias SSL).
-t, --threadsNúmero de hilos simultáneos para escaneo masivo (por defecto: 10).
--timeoutTiempo de espera de la solicitud en segundos (por defecto: 10s para acomodar payloads multipart).
--verboseHabilita el modo debug. Muestra pasos de sondeo detallados, estado de bloqueo del WAF e intentos de bypass.

📊 Interpretación de Resultados (v2.5)

[EXPOSED] | 🔴 (Rojo) | Vulnerable

El servidor procesó el payload y devolvió un error de digest de React 19 O una redirección de acción (303). Alta confianza de superficie expuesta.

[BYPASSED] | 🟠 (Naranja) | WAF Evadido

¡Éxito! El escáner detectó inicialmente un filtro, pero lo evadió con éxito usando técnicas de mutación (p. ej., Padding/Unicode) para activar la vulnerabilidad.

[SUSPICIOUS] | 🟡 (Amarillo) | Advertencia

El servidor falló (500) al parsear el payload. Indica lógica de serialización expuesta, incluso en objetivos endurecidos que eliminan las cabeceras X-Powered-By.

[FILTERED] | 🔵 (Azul) | Regla WAF Detectada

El servidor acepta tráfico RSC (el payload benigno pasó), pero una regla WAF específica bloqueó el payload de exploit. El objetivo está vivo detrás del WAF. Usa --bypass para intentar la evasión.

[INFO] | 🔵 (Cian) | Protocolo Detectado

El servidor habla RSC (text/x-component) pero manejó el payload correctamente. Probablemente parchado o comportamiento estándar.

[BLOCKED] | 🟣 (Magenta) | Bloqueo Global de WAF

Todo fue bloqueado (403/406), incluido el handshake benigno. El WAF está bloqueando el protocolo por completo o tu IP.

[SAFE] | 🟢 (Verde) | Limpio

El servidor devolvió 404/200 pero ignoró las cabeceras RSC/los cuerpos multipart en todas las rutas sondeadas.

🛠️ Plantilla de Nuclei (https://github.com/projectdiscovery/nuclei)

Descargar herramienta