python exploit.py --ip <Zabbix_IP> --sid <LowPrivileged_SID> --hostid <HostID> --phpsessid <PHPSESSID> --false_time <FalseTime> --true_time <TrueTime>
此漏洞利用工具旨在利用XXE(XML外部实体)漏洞。通过它,我读取了Web服务的后端代码,并发现了一个端点,在该端点上我可以使用gopher协议向易受远程代码执行攻击的Zabbix版本6.0.27发起内部请求。
在侦察阶段,我对外部Web服务器进行了暴力破解攻击,以获取docker-compose.yml文件,该文件提供了内部Zabbix服务器的容器名称。利用这些信息,我通过gopher协议向Web应用程序根目录发送了一个POST请求,Web服务器在cookie中返回了一个经base64编码的JSON,其中包含一个低权限用户的主机ID(host-id)和会话ID(session id)。
借助这些详细信息,我能够改编原始漏洞利用工具,利用zabbix-server:10051上的SQL注入漏洞获取管理员会话ID,然后创建并执行一个脚本以实现远程代码执行。
如果您需要使用gopher来利用此Zabbix漏洞,您可以修改InternalRequest函数,以按您需要的方式发起请求。
10.0.46.27:5555)。确保您的机器正在监听指定的端口(脚本中为5555)以接收反向Shell。您可以使用netcat来实现这一点:
nc -lvnp 5555
将CreateScript函数中的IP地址10.0.46.27和端口5555替换为您自己的IP和期望的端口,以接收反向Shell。