Zookeeper未授权访问漏洞

本文遵循BY-SA版权协议,转载请附上原文出处链接。


本文作者: 黑伴白

本文链接: http://heibanbai.com.cn/posts/a4c5db36/

Zookeeper未授权访问漏洞

默认安装配置完的zookeeper允许未授权访问,管理员未配置访问控制列表(ACL)。导致攻击者可以在默认开放的2181端口下通过执行envi命令获得大量敏感信息(系统名称、java环境)导致任意用户可以在网络不受限的情况下进行未授权访问读取数据甚至杀死服务。

原因:默认的ACL中未进行限制访问

连接zookeeper

./zkCli.sh -server 199.188.166.110:2181

image-20210130000539248

查看当前权限

默认所有人可访问

getAcl /

image-20210130000607809

添加可访问IP

setAcl / ip:192.168.1.xx:cdrwa,ip:192.168.1.xx:cdrwa

image-20210130000641132
未授权也可以连接,但是查看节点时会报错”KeeperErrorCode = NoAuth for /“,localhost都不行,必须填可访问IP,才能访问。

设置为所有人可访问

setAcl / world:anyone:cdrwa

注:

  1. 在设置IP白名单时,将本机ip 127.0.0.1也加上,让本机也可以访问及修改

  2. 在第一次添加完ip白名单后,又想继续添加白名单,则在设置的时候,以前的ip也都是写在命令里,不然以前添加的都会被覆盖掉,那就比较惨了

ZK的节点有5种操作权限:

CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)

注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限

身份的认证有4种方式:

  • world:默认方式,相当于全世界都能访问
  • auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
  • digest:即用户名:密码这种方式认证,这也是业务系统中最常用的*
  • ip:使用Ip地址认证

蚂蚁🐜再小也是肉🥩!


Zookeeper未授权访问漏洞
http://heibanbai.com.cn/posts/a4c5db36/
作者
黑伴白
发布于
2021年1月30日
许可协议

“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付