
CVE-2023-4220 PoC Chamilo RCE
Dieses Repository enthält einen Proof of Concept (PoC) für CVE-2023-4220, eine Remote Code Execution (RCE)-Schwachstelle, die Chamilo LMS betrifft. Diese Schwachstelle ermöglicht es nicht authentifizierten Angreifern, eine Funktion zum Hochladen großer Dateien auszunutzen, was zu beliebiger Codeausführung auf dem Server führt.
[!IMPORTANT] Dieses Repository dient ausschließlich Bildungszwecken und rechtmäßiger Forschung. Verwenden Sie diesen Code verantwortungsbewusst und nur auf Systemen, für die Sie die Erlaubnis zum Testen haben. Der Autor übernimmt keine Haftung für Schäden, die durch Missbrauch der bereitgestellten Informationen entstehen.
Ein Lernmanagementsystem ist eine Softwareanwendung oder webbasierte Technologie, die zur Planung, Umsetzung und Bewertung eines bestimmten Lernprozesses verwendet wird. Es wird für E-Learning-Praktiken genutzt und besteht in seiner häufigsten Form aus zwei Elementen: einem Server, der die Basisfunktionalität bereitstellt, und einer Benutzeroberfläche (UI), die von Lehrenden, Studierenden und Administratoren bedient wird.
Chamilo ist ein Open-Source-Learning-Management-System (LMS) auf PHP-Basis, das Online-Bildung und -Schulungen erleichtert. Es bietet Funktionen wie Kurserstellung, Inhaltsverwaltung, Bewertungen, Zusammenarbeit und Bereitstellung von Bildungsressourcen.
requests & argparse & time-Bibliotheken[!NOTE] Dieser PoC wurde mit Python 3.11.9, requests 2.32.3 und Chamilo 1.11 getestet.
Repository klonen:
Klonen Sie das Repository und navigieren Sie in das Verzeichnis.
git clone https://github.com/VanishedPeople/CVE-2023-4220.git
cd CVE-2023-4220
Abhängigkeiten installieren:
pip install -r requirements.txt
Ziel identifizieren: Stellen Sie sicher, dass Sie eine verwundbare Chamilo LMS-Instanz (betroffene Version) haben.
Exploit ausführen: Führen Sie das Exploit-Skript mit der URL des Ziels aus.
Bösartige Nutzlast hochladen: Das Exploit-Skript lädt eine bösartige Datei in die Ziel-Chamilo-LMS-Instanz hoch, indem es die Funktion zum Hochladen großer Dateien nutzt.
Remote Code Execution auslösen: Nach dem Upload wird die bösartige Datei auf dem Server ausgeführt, was dem Angreifer Remote-Code-Ausführungsfähigkeiten verleiht.
Ergebnis: Sie sollten eine Shell oder die Ausführung von Befehlen auf dem Server sehen, abhängig von der verwendeten Nutzlast und Option.
Prüfen, ob das LMS verwundbar ist
python3 main.py --url <URL> -m check
python3 main.py --url <URL> --mode webshell
Erzeugen einer Reverse Shell
python3 main.py --url <URL> --mode revshell
Um diese Schwachstelle zu entschärfen, stellen Sie sicher, dass die Chamilo-LMS-Version auf die neueste Version aktualisiert wird, in der dieses Problem behoben ist. Es wird außerdem empfohlen, strenge Validierung und Authentifizierung für Datei-Uploads zu implementieren, um ähnliche Schwachstellen zu vermeiden.
Dieses Projekt ist unter der Apache License 2.0 lizenziert – siehe die Datei LICENSE für Details.