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
# Entrer dans le répertoire du projet
cd CVE202555182GUI
# Compiler et empaqueter
mvn clean package
2. Exécution de l'outil
# 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.
Pour toute question ou suggestion, n'hésitez pas à contacter l'auteur.