该仓库包含了针对 VMware vCenter 中 CVE-2024-37081 漏洞的概念验证(PoC)。该漏洞源于 /etc/sudoers 文件中的错误配置,允许在执行 sudo 命令时保留危险的环境变量(dangerous environmental variables)。攻击者可利用此漏洞以 root 权限执行任意命令。
/etc/sudoers 文件中 Defaults env_keep 参数的错误配置,使得在执行 sudo 命令时可以传播危险的环境变量(如 PYTHONPATH、VMWARE_PYTHON_PATH、VMWARE_PYTHON_BIN 等),从而可能以 root 权限执行任意代码。%operator(组)%admin(组)infraprofile(用户)vpxd(用户)sts(用户)pod(用户)克隆该仓库:
git clone https://github.com/Mr-r00t11/CVE-2024-37081.git
cd CVE-2024-37081
运行 PoC 脚本:
python3 poc.py
poc.py: 用于演示漏洞利用的 Python 脚本。README.md: 本文件。poc.py 脚本执行以下步骤:
/tmp/malicious/__init__.py 目录下创建一个恶意 Python 文件,执行 id 命令并将输出保存到 /tmp/pwned。PYTHONPATH 设置为 /tmp/malicious,并以 operator 用户身份执行 sudo 命令来导入一个 Python 模块。execute_with_pythonpath(),但使用环境变量 VMWARE_PYTHON_PATH,并以 pod 用户身份执行命令。VMWARE_PYTHON_BIN 指向该脚本,并以 admin 用户身份执行 sudo 命令。vpxd 用户身份执行 sudo 命令,使用 sendmail 读取 文件。此脚本仅应在受控环境中用于教育目的。未经授权利用系统漏洞是违法的,并会受到法律制裁。请确保你拥有适当的权限,并完全理解执行此类代码的后果。
本项目采用 MIT License 许可证。
/etc/shadow/tmp/pwned 文件是否已创建,若已创建则表示恶意代码执行成功。