l 漏洞名称:apache
zookeeper未受权访问vim
l 漏洞影响版本:服务器
zookeeper分布式
l 漏洞细节:oop
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。b它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。spa
ZooKeeper默认开启在2181端口,在未进行任何访问控制状况下,攻击者可经过执行envi命令得到系统大量的敏感信息,包括系统名称、Java环境。server
l Zookeeper安装:blog
1. 安装ip
#wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gzget
#tar zxvf zookeeper-3.3.6.tar.gz
#mv zookeeper-3.3.6 /usr/local/zookeeper-3.3.6-2181
#cd /usr/local/zookeeper-3.3.6-2181
#cp conf/zoo_sample.cfg conf/zoo.cfg
新建文件夹
#mkdir -p /usr/local/zookeeper-3.3.6-2181/data
#mkdir -p /usr/local/zookeeper-3.3.6-2181/log
2. 集群配置
#vim conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/usr/local/zookeeper-3.3.6-2181/data
dataLogDir=/usr/local/zookeeper-3.3.6-2181/log
# the port at which the clients will connect
clientPort=2181
#server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 #Leader 服务器挂了,须要一个端口来从新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通讯的端口。若是是伪集群的配置方式,因为 B 都是同样,因此不一样的 #Zookeeper 实例通讯端口号不能同样,因此要给它们分配不一样的端口号。
server.1=192.168.124.214:2287:3387
server.2=192.168.124.215:2288:33883
3.增长myid文件
并在data目录下放置myid文件:(上面zoo.cfg中的dataDir)
#mkdir data
#vim myid
myid指明本身的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容以下:
1
4. 启动
#./bin/zkServer.sh start
Server启动以后, 就能够启动client链接server了, 执行脚本:
#./bin/zkCli.sh -server ip:2181
5. 中止
#./bin/zkServer.sh stop
l 漏洞演示:
执行如下命令便可远程获取该服务器的环境
echo envi | nc ip port
安装nc:
#yum install nc