欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

nacos权限绕过漏洞,docker 2375漏洞

终极管理员 知识笔记 87阅读

文章目录 一、漏洞复现1.1 访问登录口用户名输入nacos密码输入任意值进行抓包1.2 伪造登录凭证1.3 登录包中新加入一项凭证验证 二、漏洞解决2.1 分析原因2.2 解决方案2.3 操作留痕1、先了解nacos部署环境2、查看比对配置文件3、修改配置文件后重启

一、漏洞复现

报告截取内容如下

1.1 访问登录口用户名输入nacos密码输入任意值进行抓包 1.2 伪造登录凭证

添加有效登录时间戳

登录信息中

在payload中输入nacos与时间戳

并添加入nacos默认密钥

SecretKey012345678901234567890123456789012345678901234567890123456789

同时选中base64加密

点击生成

1.3 登录包中新加入一项凭证验证

Authorization: Bearer 加上凭证

点击发送发现正确登录返回信息

之后讲登录返回包修改为正确登录信息

发现登录成功

二、漏洞解决

1、更新版本

缓解措施

1、检查application.properties文件中token.secret.key属性若为默认值可参考

具体实操留痕如下主要是公司的nacos是由之前离职的同事部署具体研究一步看一部

2.1 分析原因

查看上文中的nacos博客文章可以知道本次绕过身份验证的漏洞原因是利用token默认值进行撞击绕过身份验证。在nacos2.2.0.1和1.4.5版本之前的版本中可能是为了便于开发环境使用默认开启了一个自带的token默认值导致上述报告中可以利用默认的访问秘钥跳过认证直接登陆。

2.2 解决方案

总结如下

旧版本查看是否使用了默认的token.secret.keynacos.core.auth.server.identity.keynacos.core.auth.server.identity.value如仍然使用默认值请参考文档内容尽快进行修改。新版本根据文档设置token.secret.keynacos.core.auth.server.identity.keynacos.core.auth.server.identity.value并尽快修改默认密码。这类应用一般应该部署于内部网络环境因此不建议用户将Nacos暴露在公网环境

分析解决方案目前公司的nacos是2.04采用旧版本解决方案并且确实部署在内网环境中没有对公网公开所以只需要解决第一个方案。

2.3 操作留痕 1、先了解nacos部署环境

nacos采用docker部署使用docker inspect指令可以查看到到挂载目录

进入挂载目录修改配置文件后再重启nacos即可。

2、查看比对配置文件

经过比对发现配置如下

关于${NACOS_AUTH_TOKEN:****}这样格式写法的含义

当环境变量中存在NACOS_AUTH_TOKEN时采用环境变量如果不存在NACOS_AUTH_TOKEN时使用后面的值 3、修改配置文件后重启

标签:
声明:无特别说明,转载请标明本文来源!