Zookeeper未授权访问利用

前言:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

Zookeeper 的默认开放端口是2181。Zookeeper 安装部署之后默认情况下不需要任何身份验证,造成攻击者可以远程利用 Zookeeper,通过服务器收集敏感信息或者在 Zookeeper 集群内进行破坏(比如:kill命令)。攻击者能够执行所有只允许由管理员运行的命令。

默认端口:

  • app=“zookeeper”
  • 2181、2182

漏洞复现:

通过测试得知当前IP地址开放端口2181,截图如下。
在这里插入图片描述

尝试使用命令获取相关信息,成功获取到当前IP相关信息,说明存在未授权访问漏洞。

  • conf命令
  • echo conf |nc xx.xx.xx.xx 2181
    Zookeeper未授权访问利用_第1张图片

列出所有连接到当前服务器的客户端/会话的详细信息。

  • cons命令
  • echo cons | nc xx.xx.xx.xx 2181 | more

Zookeeper未授权访问利用_第2张图片
输出服务器的详细信息。

  • envi命令
  • echo envi | nc xx.xx.xx.xx 2181
    Zookeeper未授权访问利用_第3张图片

连接测试:

kali下载安装Zookeeper工具:

apt-get install zookeeper

工具安装好了后,通过命令:

/usr/share/zookeeper/bin# ./zkCli.sh -server xx.xx.xx.xx:2181 进行连接

连接成功如下:
Zookeeper未授权访问利用_第4张图片

zookeeper可视化管理工具

下载连接:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip

连接成功后截图如下:
Zookeeper未授权访问利用_第5张图片

修复方案:

  • 1、设置防火墙策略限制 IP 访问【建议采取此种方案】
  • 2、不要将 zookeeper 暴露在外网
  • 3、设置用户认证和 ACL

你可能感兴趣的:(Web安全,未授权访问,渗透测试,zookeeper)