Outil d'exploitation RCE à distance pour React Server Components
📖 Présentation de l'outil
L'outil d'exploitation RCE à distance pour React Server Components est un outil de test de sécurité spécialement conçu pour les vulnérabilités d'exécution de code à distance dans React Server Components et le framework Next.js. Il offre une interface graphique et prend en charge plusieurs modes d'attaque et la détection par lots.
⚠️ Avertissement : Cet outil est destiné uniquement aux tests de sécurité autorisés et aux compétitions CTF. Toute utilisation pour des attaques illégales est strictement interdite. L'utilisateur assume l'entière responsabilité des conséquences de l'utilisation de cet outil.
🎯 Portée des vulnérabilités affectées
Versions de React Server affectées
React Server 19.0.0
React Server 19.0.1 (Note : certains correctifs anciens ne couvrent pas entièrement)
React Server 19.1.* (toutes les versions 19.1.x)
React Server 19.2.0
Versions de Next.js affectées
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 et versions Canary ultérieures
Autres composants affectés
Dify - Plateforme de développement d'applications IA
NextChat - Framework d'application de chat
Autres applications construites avec des versions affectées de React Server Components ou Next.js
Remarque : Si votre application utilise l'une des versions ci-dessus, il est recommandé de mettre à jour immédiatement vers une version sécurisée ou de prendre les mesures de protection appropriées.
✨ Fonctionnalités
🎯 Fonctionnalités principales
Détection des vulnérabilités : Détecte rapidement si la cible présente la vulnérabilité RCE React Server Components / Next.js
Exécution de commandes avec retour : Exécute directement des commandes système et récupère le résultat
Injection de cheval de Troie mémoire : Injecte un Webshell persistant sur le serveur cible
Reverse Shell : Obtient un shell interactif sur le système cible
Scan par lots : Prend en charge la détection par lots de plusieurs URL cibles pour identifier rapidement les systèmes vulnérables
🔧 Fonctions auxiliaires
Support proxy : Prend en charge la configuration d'un proxy HTTP (ex : Burp Suite) pour l'analyse du trafic
En-têtes personnalisés : Permet d'ajouter des en-têtes HTTP personnalisés pour contourner les protections simples
Journal en temps réel : Affichage en temps réel des journaux d'opérations pour faciliter le suivi des tests
Paramètre de délai d'expiration : Délai d'expiration des requêtes personnalisable pour s'adapter à différents environnements réseau
🚀 Démarrage rapide
Prérequis
Java 8 ou version ultérieure
Systèmes d'exploitation Windows / Linux / macOS
Lancement de l'outil
Double-cliquez sur le fichier React Server Components 远程RCE.jar
Ou lancez via la ligne de commande :
root@kitploit:~
java -jar React Server Components 远程RCE.jar
Au premier lancement, un avertissement s'affiche. Veuillez le lire attentivement et l'accepter avant de continuer.
📋 Guide d'utilisation
1️⃣ Configuration de base
Avant d'utiliser toute fonctionnalité, vous devez configurer les informations de base :
URL cible : Saisissez l'adresse du site cible (exemple : http://192.168.1.100:3000)
Chemin d'attaque : Chemin de l'application (par défaut : /apps, ajustable selon la cible)
Délai d'expiration : Nombre de secondes avant expiration (par défaut : 30 secondes)
En-têtes personnalisés : Optionnel, un par ligne, format Header-Name: value
2️⃣ Détection des vulnérabilités
Remplissez l'URL cible et la configuration de base
Cliquez sur le bouton "Tester la vulnérabilité"
Attendez le résultat, l'outil déterminera automatiquement si la cible présente la vulnérabilité
Astuce : Il est recommandé d'effectuer d'abord une détection de vulnérabilité pour confirmer que la cible est vulnérable avant de poursuivre.
🎮 Explication détaillée des modes d'attaque
Mode 1 : Exécution de commandes avec retour
Scénario d'utilisation : besoin d'exécuter des commandes système et d'en voir les résultats
Étapes :
Basculer vers l'onglet "Exécution de commandes avec retour"
Dans la zone de saisie de commande, entrez la commande à exécuter (ex : whoami, ipconfig, ls -la)
Cliquez sur le bouton "Exécuter la commande"
Consultez le résultat de l'exécution dans la zone de texte ci-dessous
Exemples de commandes courantes :
Windows : whoami, ipconfig, dir, net user
Linux : whoami, ifconfig, ls -la, uname -a
Mode 2 : Injection de cheval de Troie mémoire
Scénario d'utilisation : besoin de laisser une porte dérobée persistante sur le serveur cible
Étapes :
Basculer vers l'onglet "Injection de cheval de Troie mémoire"
Définissez le chemin d'accès au cheval de Troie mémoire (ex : /exec)
Cliquez sur le bouton "Injecter le cheval de Troie mémoire"
Après une injection réussie, exécutez des commandes comme suit :
root@kitploit:~
Accédez : http://cible/exec?cmd=whoami
Instructions :
Le cheval de Troie mémoire est enregistré dans la mémoire de l'application cible, il ne laisse aucun fichier sur le disque
Le cheval de Troie mémoire devient inactif après un redémarrage du serveur
Transmettez la commande à exécuter via le paramètre d'URL cmd
Mode 3 : Reverse Shell
Scénario d'utilisation : besoin d'obtenir un shell interactif sur le système cible
Étapes :
Lancez un écouteur sur votre machine locale (ex : avec netcat) :
root@kitploit:~
nc -lvnp 4444
Basculer vers l'onglet "Reverse Shell"
Remplissez l'IP d'écoute (l'adresse IP de votre machine)
Remplissez le port d'écoute (ex : 4444)
Cliquez sur le bouton "Envoyer le reverse shell"
Revenez à la fenêtre netcat et attendez la connexion du shell
Remarques :
Assurez-vous que le serveur cible peut accéder à votre IP et port d'écoute
Le pare-feu doit autoriser les connexions entrantes sur le port correspondant
Dans un environnement réel, cela peut être limité par les politiques réseau
Mode 4 : Détection par lots
Scénario d'utilisation : besoin de scanner plusieurs cibles pour des vulnérabilités par lots
Étapes :
Basculer vers l'onglet "Détection par lots"
Saisissez la liste des URL cibles dans la zone de texte (une par ligne)
Cliquez sur le bouton "Démarrer le scan"
Consultez les résultats, l'outil marquera les cibles vulnérables
⚙️ Configuration avancée
Configuration du proxy HTTP
Utilisé pour rediriger le trafic vers un outil d'interception comme Burp Suite, facilitant l'analyse des requêtes et réponses.
Étapes de configuration :
Cliquez sur le menu "Paramètres" → "Paramètres du proxy"
Sélectionnez "Activer"
Remplissez l'hôte du proxy (ex : 127.0.0.1)
Remplissez le port du proxy (ex : 8080)
Cliquez sur "Enregistrer"
Configuration Burp Suite :
Assurez-vous que l'écouteur du proxy Burp Suite est démarré
Adresse d'écoute par défaut : 127.0.0.1:8080
Dans Burp, vous pouvez intercepter et modifier toutes les requêtes envoyées par l'outil
Vérification de l'état du proxy :
Une fois configuré, l'état du proxy s'affiche dans le coin supérieur droit de l'interface
Vert signifie activé, gris signifie non configuré
🛡️ Recommandations de sécurité
Utiliser uniquement dans un environnement autorisé : Assurez-vous d'avoir une autorisation explicite avant de tester une cible
Ne pas utiliser en production : Évitez d'endommager les systèmes de production
Protéger les données de test : Les informations sensibles obtenues lors des tests doivent être conservées en toute sécurité
Respecter les lois et règlements : Les tests d'intrusion non autorisés peuvent enfreindre la loi
Utilisation dans les CTF : Cet outil convient aux environnements légaux comme les CTF et les plateformes d'entraînement
❓ Questions fréquentes
Q1 : Que faire si le message "Aucune vulnérabilité détectée" s'affiche ?
Causes possibles :
L'URL cible est incorrecte ou le service n'est pas démarré
La cible ne présente pas cette vulnérabilité
Le chemin d'attaque est mal configuré
Problème de réseau ou blocage par le pare-feu
Solutions :
Vérifiez que l'URL cible est accessible
Essayez d'ajuster le paramètre de chemin d'attaque
Vérifiez la connexion réseau et les paramètres de proxy
Q2 : L'exécution de commande ne retourne aucun résultat ?
Causes possibles :
La commande a réussi mais n'a pas de sortie (ex : certaines commandes d'écriture de fichier)
Restrictions de permissions sur le système cible
Erreur de syntaxe de la commande
Solutions :
Essayez d'exécuter une commande avec une sortie claire (ex : id)
Vérifiez la syntaxe de la commande
Consultez les détails dans la zone de journal en bas
Q3 : La connexion reverse shell a échoué ?
Causes possibles :
La cible ne peut pas accéder à votre IP d'écoute
Le pare-feu bloque la connexion
Le port est déjà utilisé
Solutions :
Confirmez que le service d'écoute est démarré (nc -lvnp port)
Vérifiez les paramètres du pare-feu pour autoriser le port correspondant
Assurez-vous que l'adresse IP est correcte (si la cible et vous êtes sur le même réseau local, utilisez l'IP locale)
Q4 : Comment voir les requêtes et réponses détaillées ?
Solution :
Configurez un proxy HTTP (ex : Burp Suite)
Consultez le trafic HTTP complet dans l'outil proxy
La zone de journal en bas affiche également les informations clés
📞 Support technique
Auteur : CrabSec
Version : v1.0.0
📜 Déclaration de droits d'auteur
Cet outil est destiné uniquement à des fins d'apprentissage et de tests de sécurité autorisés. L'utilisateur assume l'entière responsabilité des conséquences de l'utilisation de cet outil, le développeur décline toute responsabilité.
Veuillez respecter les lois sur la cybersécurité et les réglementations en vigueur, soyez un chercheur en sécurité éthique !