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.key
、nacos.core.auth.server.identity.key
和 nacos.core.auth.server.identity.value
如仍然使用默认值请参考文档内容尽快进行修改。新版本根据文档设置token.secret.key
、nacos.core.auth.server.identity.key
和 nacos.core.auth.server.identity.value
并尽快修改默认密码。这类应用一般应该部署于内部网络环境因此不建议用户将Nacos暴露在公网环境。 分析解决方案目前公司的nacos是2.04采用旧版本解决方案并且确实部署在内网环境中没有对公网公开所以只需要解决第一个方案。
2.3 操作留痕 1、先了解nacos部署环境nacos采用docker部署使用docker inspect
指令可以查看到到挂载目录
进入挂载目录修改配置文件后再重启nacos即可。
2、查看比对配置文件经过比对发现配置如下
关于${NACOS_AUTH_TOKEN:****}
这样格式写法的含义