
Python-Exploit-Skript für CVE-2024-23897 (Jenkins RCE) mit einer automatisierten, Docker-basierten verwundbaren Laborumgebung für kontrollierte Sicherheitstests und Schulungen.
CVE-2024-23897 ist eine kritische Schwachstelle, die in Jenkins entdeckt wurde, einem beliebten Tool für kontinuierliche Integration. Diese Schwachstelle ermöglicht die Remote-Befehlsausführung (RCE) auf dem Jenkins-Server, da keine ordnungsgemäßen Einschränkungen für Knotenzugriff und Verbindungsfunktionen vorhanden sind.
CVE-ID: CVE-2024-23897Typ: Remote-Codeausführung (RCE)Auswirkung: Ein nicht authentifizierter Angreifer kann speziell gestaltete Anfragen senden, die die Ausführung beliebiger Befehle auf dem Jenkins-Server ermöglichen, was zur Kompromittierung des Systems führt.Betroffen: Jenkins-Versionen vor der Behebung dieser CVE.jenkins-cli.jar ausnutzen, die die Kommunikation zwischen Jenkins und seinen Knoten ermöglicht.Jenkins-Server hochladen und ausführen.Jenkins auf die neueste verfügbare Version zu aktualisieren, die diese Schwachstelle behoben hat.Dieses Python-Skript nutzt die Schwachstelle CVE-2024-23897 in veralteten Jenkins-Servern aus. Das Skript interagiert mit dem Jenkins-Server und führt mithilfe der Datei jenkins-cli.jar beliebige Befehle aus.
Python 3.xrequests und subprocess sind in der Ausführungsumgebung installiert.verwundbaren Jenkins-Server.Herunterladen der Datei jenkins-cli.jar` vom Jenkins-Server.Verbinden des Jenkins-Knotens mithilfe der heruntergeladenen Datei und Ausführen von bösartigen Befehlen auf dem entfernten Server.Durchführen bestimmter Aktionen wie das Lesen beliebiger Dateien auf dem Server.Installieren der Abhängigkeiten: Stellen Sie sicher, dass Python 3 und die Bibliothek requests installiert sind. Sie können sie mit pip installieren:pip3 install requests
Verwendung des Skripts: Laden Sie die Datei des Exploit-Skripts herunter und führen Sie sie vom Terminal aus:
python3 cve-2024-23897.py
Das Skript fragt Sie nach den folgenden Parametern:
IP-Adresse des Jenkins-Servers: Die IP, auf der Jenkins läuft.Port des Jenkins-Servers: Der Port, auf dem Jenkins lauscht (Standard ist 8080).Pfad zum Lesen der Datei: Der Pfad der Datei, auf die Sie auf dem verwundbaren Server zugreifen möchten (z. B. /etc/passwd).Das Skript lädt die Datei jenkins-cli.jar vom Jenkins-Server herunter und führt dann die Befehle aus, die in der Datei definiert sind, die Sie als Parameter angegeben haben.
Um die Schwachstelle in einer kontrollierten Umgebung zu testen, haben wir ein Docker-basiertes verwundbares Labor beigefügt. Sie müssen lediglich die ZIP-Datei auf Ihrer Kali Linux-Maschine entpacken, die .sh-Datei ausführen und die Docker-Umgebung bereitstellen, um den Test durchzuführen.
LAB .tar herunterladen: Entpacken Sie zuerst die Datei, die das verwundbare Labor enthält:
Bereitstellungsskript ausführen: In einem Ordner müssen Sie die 2 Dateien haben, eine davon ist auto_mount.sh. Dieses Skript wurde entwickelt, um die verwundbare Docker-Umgebung automatisch bereitzustellen und das Labor als TAR, das Sie als Parameter übergeben müssen. Führen Sie es aus mit:
bash auto_mount.sh cve-2024-23897.tar
Das Skript nimmt die komprimierte Docker-.tar-Datei als Parameter, um den verwundbaren Container zu starten und die Ausnutzung der Schwachstelle zu testen.
Mit dem Jenkins-Server verbinden: Sobald die Docker-Umgebung läuft, können Sie sich von Ihrer Kali Linux-Maschine aus mit dem Jenkins-Server verbinden. Die Jenkins-Oberfläche ist unter der im Container konfigurierten IP-Adresse und dem Port erreichbar.
Exploit-Skript ausführen: Jetzt, da der verwundbare Jenkins-Server läuft, können Sie das Exploit-Skript auf der Kali-Maschine ausführen und die Remote-Codeausführung auf Jenkins versuchen.
Python-Skript zur Ausnutzung der Schwachstelle CVE-2024-23897.Docker-Umgebung.Docker-Datei zum Starten eines verwundbaren Jenkins-Servers.Entwickelt von: d1se0
Kontakt: [email protected]