1.漏洞简介
1.1漏洞描述
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper默认开启在2181端口,在未进行任何访问控制情况下,攻击者可通过执行envi命令获得系统大量的敏感信息,包括系统名称、Java环境。
1.2影响范围
ZooKeeper全版本。
2.环境搭建
2.1漏洞环境搭建
检查版本信息,zookeeper版本为3.4.14,属于漏洞覆盖范围内。
3.漏洞验证
3.1.envi命令检测
使用envi命令发送一个请求,判断是否返回了enviroment。
echo envi|nc 192.168.230.129 2181
4.漏洞修复
4.1修改zoo.cfg
在/zookeeper/config/zoo.cfg写入一条命令白名单规则。
重启服务。
./zkServer.sh stop
./zkServer.sh start
配置白名单后,未授权已无法利用。
4.2ACL配置
./zkCli.sh查看acl
通过acl配置ip白名单为需要使用的ip。
5.漏洞复验
5.1envi命令检测
使用envi命令发送一个请求,判断是否返回了enviroment。
echo envi|nc 192.168.230.129 2181