Outil de détection et d'exploitation de la vulnérabilité CVE-2025-55182
Présentation du projet
Cet outil est un outil GUI développé avec Java Swing pour détecter et exploiter la vulnérabilité CVE-2025-55182. Cette vulnérabilité est une faille de sécurité dans le framework Next.js qui permet à un attaquant d'exécuter des commandes arbitraires via la construction de requêtes spécifiques.
Fonctionnalités
1. Détection de vulnérabilité
Prise en charge du scan d'URL par lots
Scan multithreadé pour accélérer la détection
Affichage en temps réel de la progression et du compteur (ex : 1/1000 (0 %))
Affiche uniquement les cibles vulnérables, filtre les informations non pertinentes
Prise en charge de la détection par lots via fichier importé
Fonction d'arrêt du scan
2. Exécution de commandes
Prise en charge des commandes Linux/Windows
Sélection automatique ou manuelle du système d'exploitation cible
Affichage en temps réel des résultats d'exécution
3. Injection de cheval de Troie en mémoire (Memory Shell)
Prise en charge de l'injection d'un cheval de Troie en mémoire simple pour l'exécution de commandes
Prise en charge de l'injection du cheval de Troie en mémoire Godzilla (avec chiffrement RC4)
Génération automatique des informations de connexion et des instructions d'utilisation
4. Reverse Shell
Prise en charge du reverse shell Linux/Windows
Prise en charge de commandes reverse personnalisées
Plusieurs méthodes de reverse (tube nommé Linux, PowerShell Windows)
Architecture technique
Langage de développement : Java
Framework GUI : Swing
Communication réseau : HttpURLConnection
Traitement concurrent : ExecutorService (pool de threads)
Gestion de projet : Maven
Prérequis
JDK 8 ou version ultérieure
Maven 3.6 ou version ultérieure
Compilation et exécution
1. Compilation du projet
root@kitploit:~
# Entrer dans le répertoire du projet
cd CVE202555182GUI
# Compiler et empaqueter
mvn clean package
2. Exécution de l'outil
root@kitploit:~
# Exécuter le fichier JAR exécutable avec dépendances
java -jar target/CVE202555182GUI-1.0-SNAPSHOT-jar-with-dependencies.jar
Utilisation
Détection de vulnérabilité
Saisissez une ou plusieurs URL cibles dans la zone de texte « URL cible » (une par ligne)
Ou cliquez sur le bouton « Importer un fichier » pour sélectionner un fichier contenant la liste des URL
Cliquez sur « Démarrer la détection » pour lancer le scan
Les résultats du scan s'affichent dans la zone « Résultats du scan » ci-dessous
Vous pouvez cliquer sur « Arrêter le scan » pour interrompre le processus
Exécution de commandes
Saisissez l'URL cible
Saisissez la commande à exécuter
Sélectionnez le système d'exploitation cible (auto/linux/windows)
Cliquez sur « Exécuter la commande »
Les résultats s'affichent dans la zone « Résultat d'exécution » ci-dessous
Injection de cheval de Troie en mémoire
Saisissez l'URL cible
Sélectionnez le type de cheval de Troie (exécution de commandes simple / cheval Godzilla)
Sélectionnez le système d'exploitation cible (auto/linux/windows)
Cliquez sur « Injecter le cheval de Troie »
Les résultats et les informations de connexion s'affichent dans la zone « Résultat d'injection » ci-dessous
Reverse Shell
Saisissez l'URL cible
Saisissez l'IP et le port de reverse
Sélectionnez le système d'exploitation cible (linux/windows)
Optionnel : saisissez une commande reverse personnalisée
Cliquez sur « Injecter le reverse shell »
Les résultats s'affichent dans la zone « Résultat d'injection » ci-dessous
Principe de la vulnérabilité
La vulnérabilité CVE-2025-55182 est due à un défaut de sécurité dans le framework Next.js lors du traitement de requêtes spécifiques. Un attaquant peut exécuter des commandes arbitraires en construisant une requête malveillante de type multipart/form-data.
L'outil détecte la vulnérabilité selon les étapes suivantes :
Construction d'une requête contenant une charge utile (payload) d'exécution de commande
Envoi au chemin /_next/data du serveur cible
Vérification de la réponse pour détecter si le résultat d'exécution attendu est présent
Détermination de l'existence de la vulnérabilité en fonction du résultat
Projets de référence
Ce projet s'inspire du projet open source suivant :
ReactExploitGUI - Fournit les idées principales et les méthodes de mise en œuvre de l'exploitation
Avertissement de sécurité
Cet outil est destiné uniquement aux tests de sécurité et aux tests d'intrusion autorisés
Veuillez respecter les lois et réglementations en vigueur lors de son utilisation
N'utilisez pas cet outil sur des cibles non autorisées
Après les tests, veuillez nettoyer rapidement les chevaux de Troie en mémoire injectés
Remarques
Vitesse de scan : par défaut, scan simultané avec 10 threads, ajustable selon l'environnement réseau
Délai d'attente : par défaut 10 secondes, ajustable selon l'environnement réseau
Connexion du cheval de Troie : lors de l'utilisation du cheval Godzilla, un plugin de connexion Node.js correspondant doit être téléchargé
Reverse Shell : un port d'écoute local correspondant doit être démarré (ex. : nc -lvvp 4444)
Dépannage
Problèmes courants et solutions
La barre de progression ne bouge pas
Vérifiez que l'URL cible est correcte
Vérifiez la connexion réseau
Essayez de réduire le nombre de threads simultanés
Échec de l'exécution de la commande
Confirmez que la cible est vulnérable
Vérifiez que le système d'exploitation sélectionné est correct
Vérifiez que la commande respecte la syntaxe du système cible
Échec de l'injection du cheval de Troie
Confirmez que la cible est vulnérable
Vérifiez la stabilité de la connexion réseau
Essayez d'utiliser un type de cheval de Troie différent
Le reverse Shell ne se connecte pas
Confirmez que le port d'écoute local est démarré
Vérifiez les paramètres du pare-feu réseau
Confirmez que l'IP et le port de reverse sont corrects
Essayez d'utiliser une commande reverse personnalisée
Historique des versions
v1.0.0 : Version initiale
Implémentation des fonctions de base de détection de vulnérabilité
Implémentation des fonctions d'exécution de commandes
Implémentation des fonctions d'injection de cheval de Troie en mémoire
Implémentation des fonctions de reverse shell
Clause de non-responsabilité
Cet outil est destiné uniquement à l'apprentissage et aux tests de sécurité autorisés. Ne l'utilisez pas à des fins illégales. Toute conséquence résultant de l'utilisation de cet outil est de la responsabilité de l'utilisateur.
Contact
Pour toute question ou suggestion, n'hésitez pas à contacter l'auteur.