
CVE-2023-4220 PoC Chamilo RCE
Este repositorio contiene una prueba de concepto (PoC) para CVE-2023-4220, una vulnerabilidad de ejecución remota de código (RCE) que afecta a Chamilo LMS. Esta vulnerabilidad permite a atacantes no autenticados explotar una funcionalidad de carga de archivos grandes, lo que lleva a la ejecución arbitraria de código en el servidor.
[!IMPORTANT] Este repositorio está destinado únicamente a fines educativos e investigación lícita. Utilice este código de manera responsable y solo en sistemas para los que tenga permiso de prueba. El autor no asume ninguna responsabilidad por los daños causados por el mal uso de la información proporcionada.
Un sistema de gestión de aprendizaje es una aplicación de software o tecnología basada en web utilizada para planificar, implementar y evaluar un proceso de aprendizaje específico. Se utiliza para prácticas de aprendizaje electrónico y, en su forma más común, consta de dos elementos: un servidor que realiza la funcionalidad base y una interfaz de usuario (UI) que es operada por instructores, estudiantes y administradores.
Chamilo es un sistema de gestión de aprendizaje (LMS) de código abierto basado en PHP que facilita la educación y formación en línea. Ofrece funciones como creación de cursos, gestión de contenidos, evaluaciones, colaboración y entrega de recursos educativos.
requests & argparse & time[!NOTE] Esta PoC ha sido probada con python 3.11.9, requests 2.32.3 y chamilo 1.11
Clonar el repositorio:
Clone el repositorio y navegue a su directorio.
git clone https://github.com/VanishedPeople/CVE-2023-4220.git
cd CVE-2023-4220
Instalar las dependencias:
pip install -r requirements.txt
Identificar el objetivo: Asegúrese de tener la instancia de Chamilo LMS que sea vulnerable (versión afectada).
Ejecutar el exploit: Ejecute el script del exploit con la URL del objetivo.
Cargar el payload malicioso: El script del exploit cargará un archivo malicioso en la instancia de Chamilo LMS aprovechando la función de carga de archivos grandes.
Desencadenar la ejecución remota de código: Después de la carga, el archivo malicioso se ejecuta en el servidor, proporcionando al atacante capacidades de ejecución remota de código.
Resultado: Debería ver una shell o la ejecución de comandos en el servidor, dependiendo del payload y la opción utilizada.
Comprobar si el LMS es vulnerable
python3 main.py --url <URL> -m check
Subir una webshell, lo que lleva a RCE
python3 main.py --url <URL> --mode webshell
Generar una reverse shell
python3 main.py --url <URL> --mode revshell
Para mitigar esta vulnerabilidad, asegúrese de que la versión de Chamilo LMS esté actualizada a la última versión donde se haya solucionado este problema. También se recomienda implementar una validación y autenticación estrictas para las cargas de archivos a fin de evitar vulnerabilidades similares.
Este proyecto está licenciado bajo la Licencia Apache 2.0; consulte el archivo LICENSE para más detalles.