文章目录

  • 探测2181
  • 探测四字命令
  • 用安装好zk环境的客户端连接测试
  • 修复
    • 修复步骤一 关闭四字命令
    • 修复步骤二 关闭未授权访问

zookeeper未授权访问测试参考文章:
https://www.cnblogs.com/Hi-blog/p/Zookeeper-UnAuthorization-Access.html#_label04

探测2181

探测Zookeeper服务开放
如使用nmap探测某个目标地址是否运行Zookeeper服务,探测2181端口开放。
root@kali:~# nmap -Pn -p 2181 xx.xx.xx.xx

探测四字命令

用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交四字命令,来探测四字命令是否开启
参考文章:
https://www.cnblogs.com/kuku0223/p/8428341.html
https://www.jianshu.com/p/1d638fac4da8
https://zookeeper.apache.org/doc/r3.6.1/zookeeperAdmin.html#sc_zkCommands

  • conf命令
输出相关服务配置的详细信息,端口、数据路径、日志路径、session 超时时间,最大连接数等。
root@kali:~# echo conf | nc xx.xx.xx.xx 2181
  • cons命令
列出所有连接到当前服务器的客户端/会话的详细信息
root@kali:~# echo cons | nc xx.xx.xx.xx 2181 | more
  • dump命令
输出未处理的会话和临时节点,leader 节点有效。
root@kali:~# echo dump | nc xx.xx.xx.xx 2181 | more
  • envi命令
输出服务器的详细信息。
root@kali:~# echo envi | nc xx.xx.xx.xx 2181

用安装好zk环境的客户端连接测试

./zkCli.sh -server x.x.x.x:2181
ls /
# 输出目录就是 连接成功# 输出 Authentication is not valid : /   就是没有权限

修复

修复步骤一 关闭四字命令

ZooKeeper3.4.6支持某些特定的四字命令与其的交互。它们大多是查询命令,但也有重启zk之类的命令,四字命令可以用来获取、重启 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。
从运维的角度看,这个功能很方便,但是从安全角度来看,就需要关闭这些特定的四字命令来确保安全了,修复方式为:升级zookeeper>=3.5.3(旧版本不能给四字命令加白名单哦,升级请自行评估风险),然后设置四字命令白名单、关闭http使用四字命令工具即可,示范如下:

/home/work/software/apache-zookeeper-3.6.1-bin/conf/zoo.cfg#限制tcp使用4字命令的白名单,添加了白名单的四字命令才能执行 (升级到高版本以后默认的白名单4字命令里只有srvr这一个,请按需增加)
4lw.commands.whitelist=stat, srvr #是否开启jetty服务允许使用http方式执行4字命令,默认为true开启,false为关闭(升级到高版本以后默认开启http方式)
admin.enableServer=false
  • 如果真的有需求要开启http功能
如果有需求要开启http功能,可以修改根路径名称,改成20位的随机字符
#修改http四字命令的根路径,默认为/commands
admin.commandURL=/2cgyS2rQGW4yzjJlXV0k访问路径就会变成:curl http://10.39.27.200:8080/2cgyS2rQGW4yzjJlXV0k/envi

设置成功之后 ,继续做修复步骤二;
参考文章:
https://www.cnblogs.com/kuku0223/p/8428341.html
https://www.jianshu.com/p/1d638fac4da8
https://zookeeper.apache.org/doc/r3.6.1/zookeeperAdmin.html#sc_zkCommands

修复步骤二 关闭未授权访问

开启SASL_PLAINTEXT认证(用户名和密码认证)
https://www.cnblogs.com/iamsach/p/9234624.html

或者用下面的方式

添加IP白名单对连接ZK的客户端进行限制
通过IP白名单对连接ZK的客户端进行限制,比较简单,只需要收集一下IP即可。因zookeeper不支持节点间权限的继承,所以需要对关键节点进行权限控制。
这里对“/”、“/dubbo”、“/zookeeper”节点进行限制,示范如下:

<ZooKeeper_HOME>/bin/
./zkCli.sh -server ip:port
setAcl / ip:xx.xx.xx.152:cdrwa,ip:xx.xx.xx.151:cdrwa,ip:xx.xx.xx.156:cdrwa,ip:xx.xx.xx.155:cdrwa,ip:xx.xx.xx.150:cdrwa,ip:xx.xx.xx.149:cdrwa
setAcl /dubbo ip:xx.xx.xx.152:cdrwa,ip:xx.xx.xx.151:cdrwa,ip:xx.xx.xx.156:cdrwa,ip:xx.xx.xx.155:cdrwa,ip:xx.xx.xx.150:cdrwa,ip:xx.xx.xx.149:cdrwa
setAcl /zookeeper ip:xx.xx.xx.152:cdrwa,ip:xx.xx.xx.151:cdrwa,ip:xx.xx.xx.156:cdrwa,ip:xx.xx.xx.155:cdrwa,ip:xx.xx.xx.150:cdrwa,ip:xx.xx.xx.149:cdrwa

设置完setAcl,然后用getAcl 查看一下是否配置成功.

ZooKeeper未授权访问漏洞确认与修复相关推荐

  1. ZooKeeper 未授权访问漏洞利用

    点击"仙网攻城狮"关注我们哦~ 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提 ...

  2. Elasticsearch 未授权访问漏洞验证及修复

    漏洞修复: 1.限制IP访问,禁止未授权IP访问ElasticSearch端口(默认9200). 2.通过ES插件形式来增加访问验证,需要注意增加验证后切勿使用弱口令: ①shield插件,收费,暂不 ...

  3. ZooKeeper未授权访问漏洞记录(影响范围:全版本,端口:2181)

    漏洞简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件 ...

  4. 2022-10-08(Discuz漏洞、FCKeditor文本编辑器漏洞、ZooKeeper 未授权访问、Memcahe 未授权访问)

    文章目录 Discuz漏洞-请求报文中含有恶意的PHP代码(CVE-2019-13956) FCKeditor文本编辑器漏洞 test.html browser.html fckeditor.html ...

  5. 未授权访问漏洞-Redis未授权访问漏洞

    文章目录 未授权概述 常见未授权访问漏洞 Redis未授权访问 Redis简介 应用场景 Redis 架构 漏洞发现 端口 端口探测 Redis常用命令 Redis历史漏洞 Redis未授权访问 Re ...

  6. 常见未授权访问漏洞详解

    参考文章1:二十八种未授权访问漏洞合集(CSDN) 参考文章2:28种未授权访问漏洞(知乎) 参考文章3:未授权访问漏洞总结(freebuf) 参考文章4:常见未授权访问漏洞总结(先知社区) 文章目录 ...

  7. 漏洞复现 - - - 未授权访问漏洞Redis

    目录 一,未授权访问漏洞概述 二,常见的未授权访问漏洞 Redis历史漏洞 三,Redis未授权访问 漏洞信息 Redis 简介 四,环境搭建 漏洞环境搭建 五,漏洞利用方法 实验环境 方法一 ​编辑 ...

  8. 二十八种未授权访问漏洞合集(暂时最全)

    目录 0x01 未授权漏洞预览 0x02 Active MQ 未授权访问 0x03 Atlassian Crowd 未授权访问 0x04 CouchDB 未授权访问 0x05 Docker 未授权访问 ...

  9. 常用的30+种未授权访问漏洞汇总

    未授权访问漏洞汇总预览 1 .FTP 未授权访问(21) 2 .LDAP 未授权访问(389) 3 .Rsync 未授权访问(873) 4 .ZooKeeper 未授权访问(2181) 5 .Dock ...

最新文章

  1. 【 Vivado 】时钟组(Clock Groups)
  2. leetcode 925. 长按键入
  3. python 定时执行 爬虫 模块_【Python】定时执行网站爬虫
  4. GridView的操作大全
  5. 获得手机屏幕相关参数
  6. 2012 php mysql_Apache+Mysql+PHP(win sercer2012)
  7. 基于CentOs的Hadoop集群全分布式部署
  8. sublime 添加 ConvertToUTF-8
  9. 人力资源分析测试工具软件,HR常用的3大人才测评工具,你会用几个?
  10. 什么是 1号信令、7号信令和PRI信令?
  11. obs录制视频做up主流程
  12. 快收藏!最适合计算机大学生的Java毕业设计项目--高校食堂点餐系统
  13. javascript 学习
  14. 大学里机器人比赛的那些事
  15. Java——Java连接Jira,创建、修改、删除工单信息
  16. HTML网页设计-梅西专属
  17. 锂离子电池离线参数辨识(基于二阶RC电池模型)
  18. Runable接口、Comparator接口、FileFilter接口匿名内部类写法 +Collections方法
  19. Linux环境下安装TASSEL_5_standalone
  20. Page分页和封装page页面

热门文章

  1. docker registry v2认证备忘
  2. 写给自己-不积跬步,无以至千里
  3. 论文算法学习实现(5):动态障碍物的检测和剔除2
  4. 《程序员羊皮卷》诚征书评
  5. 北伐日记 Vol.8-三里屯
  6. Axure8下载和安装
  7. Spring中的5种Aop常见应用方式(扫描注解方式)
  8. 详情小三角css,CSS实现小三角
  9. 连续两个南航的研究生面试出了从来没出现过的问题,本科和研究生都是计算机专业的,竟然说static是不可更改的。
  10. 【Java】hashMap的应用---姓氏统计