
CVE-2023-4220 PoC Chamilo RCE
Questo repository contiene una Proof of Concept (PoC) per CVE-2023-4220, una vulnerabilità di Remote Code Execution (RCE) che affligge Chamilo LMS. Questa vulnerabilità consente ad attaccanti non autenticati di sfruttare una funzionalità di caricamento di file di grandi dimensioni, portando all'esecuzione di codice arbitrario sul server.
[!IMPORTANT] Questo repository è destinato esclusivamente a scopi educativi e di ricerca legale. Utilizza questo codice in modo responsabile e solo su sistemi su cui hai il permesso di testare. L'autore non si assume alcuna responsabilità per i danni causati dall'uso improprio delle informazioni fornite.
Un sistema di gestione dell'apprendimento (LMS) è un'applicazione software o una tecnologia basata sul web utilizzata per pianificare, implementare e valutare un processo di apprendimento specifico. È impiegato per pratiche di e-learning e, nella sua forma più comune, consiste di due elementi: un server che svolge la funzionalità di base e un'interfaccia utente (UI) utilizzata da istruttori, studenti e amministratori.
Chamilo è un sistema di gestione dell'apprendimento (LMS) open-source basato su PHP che facilita l'istruzione e la formazione online. Offre funzionalità come creazione di corsi, gestione dei contenuti, valutazioni, collaborazione e distribuzione di risorse didattiche.
requests & argparse & time[!NOTE] Questa PoC è stata testata utilizzando python 3.11.9, requests 2.32.3 e chamilo 1.11
Clonare il repository:
Clona il repository e spostati nella sua directory.
git clone https://github.com/VanishedPeople/CVE-2023-4220.git
cd CVE-2023-4220
Installare le dipendenze:
pip install -r requirements.txt
Identificare il bersaglio: Assicurati di avere l'istanza di Chamilo LMS vulnerabile (versione interessata).
Eseguire l'exploit: Esegui lo script di exploit con l'URL del bersaglio.
Caricare il payload dannoso: Lo script di exploit caricherà un file dannoso sull'istanza Chamilo LMS di destinazione sfruttando la funzionalità di caricamento di file di grandi dimensioni.
Attivare l'esecuzione di codice remoto: Dopo il caricamento, il file dannoso viene eseguito sul server, dando all'attaccante capacità di esecuzione di codice remoto.
Risultato: Dovresti vedere una shell o l'esecuzione di comandi sul server, a seconda del payload e dell'opzione utilizzata.
Verifica se l'LMS è vulnerabile
python3 main.py --url <URL> -m check
python3 main.py --url <URL> --mode webshell
Avvia una reverse shell
python3 main.py --url <URL> --mode revshell
Per mitigare questa vulnerabilità, assicurati che la versione di Chamilo LMS sia aggiornata all'ultima versione in cui questo problema è stato risolto. Si raccomanda inoltre di implementare una rigorosa validazione e autenticazione per i caricamenti di file, al fine di evitare vulnerabilità simili.
Questo progetto è concesso in licenza secondo l'Apache License 2.0 - consulta il file LICENSE per i dettagli.