
CVE-2023-4220 PoC Chamilo RCE
이 저장소에는 Chamilo LMS에 영향을 주는 원격 코드 실행(RCE) 취약점인 CVE-2023-4220에 대한 개념 증명(PoC)이 포함되어 있습니다. 이 취약점으로 인해 인증되지 않은 공격자가 대용량 파일 업로드 기능을 악용하여 서버에서 임의 코드를 실행할 수 있습니다.
[!IMPORTANT] 이 저장소는 교육 목적 및 합법적인 연구 용도로만 제공됩니다. 이 코드를 책임감 있게 사용하고, 테스트 권한이 있는 시스템에서만 사용하십시오. 저자는 제공된 정보의 오용으로 인해 발생하는 어떠한 손해에 대해서도 책임을 지지 않습니다.
학습 관리 시스템(LMS)은 특정 학습 과정을 계획, 실행 및 평가하는 데 사용되는 소프트웨어 애플리케이션 또는 웹 기반 기술입니다. 이러닝(e-learning) 실무에 사용되며, 가장 일반적인 형태는 기본 기능을 수행하는 서버와 강사, 학생 및 관리자가 조작하는 사용자 인터페이스(UI)라는 두 가지 요소로 구성됩니다.
Chamilo는 온라인 교육과 훈련을 지원하는 오픈 소스 PHP 기반 학습 관리 시스템(LMS)입니다. 강좌 생성, 콘텐츠 관리, 평가, 협업 및 교육 자료 제공과 같은 기능을 제공합니다.
requests & argparse & time 라이브러리[!NOTE] 이 PoC는 python 3.11.9, requests 2.32.3 및 chamilo 1.11에서 테스트되었습니다.
저장소 복제:
저장소를 복제하고 해당 디렉터리로 이동합니다.
git clone https://github.com/VanishedPeople/CVE-2023-4220.git
cd CVE-2023-4220
의존성 설치:
pip install -r requirements.txt
대상 식별: 대상 Chamilo LMS 인스턴스가 취약한지(영향받는 버전인지) 확인합니다.
익스플로잇 실행: 대상의 URL로 익스플로잇 스크립트를 실행합니다.
악성 페이로드 업로드: 익스플로잇 스크립트는 대용량 파일 업로드 기능을 활용하여 대상 Chamilo LMS 인스턴스에 악성 파일을 업로드합니다.
원격 코드 실행 트리거: 업로드 후 악성 파일이 서버에서 실행되어 공격자에게 원격 코드 실행 기능을 제공합니다.
결과: 사용된 페이로드와 옵션에 따라 서버에서 셸 또는 명령 실행을 확인할 수 있습니다.
LMS가 취약한지 확인
python3 main.py --url <URL> -m check
웹 셸(webshell)을 업로드하여 RCE로 이어지게 합니다
python3 main.py --url <URL> --mode webshell
리버스 셸 생성
python3 main.py --url <URL> --mode revshell
이 취약점을 완화하려면 이 문제가 해결된 최신 버전으로 Chamilo LMS를 업데이트해야 합니다. 또한 유사한 취약점을 방지하기 위해 파일 업로드에 대한 엄격한 검증과 인증을 구현하는 것이 좋습니다.
이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.