nacos漏洞小记

        Nacos 是一个动态服务发现、配置管理和服务管理平台。它支持服务注册与发现,能实时感知服务状态变化并通知相关服务;可集中管理应用配置信息且能实时推送配置变更,无需重启应用即可生效。具有易于使用、高可用、多语言支持和强扩展性等特点,方便与多种开源组件集成,满足不同场景下的微服务架构需求。

漏洞

1、弱口令naco/nacos

2、CVE-2021-29441(权限绕过)

        Nacos 是一个专为动态服务发现和配置以及服务管理而设计的平台。在 1.4.1 之前的 Nacos 中,当配置为使用鉴权 (-Dnacos.core.auth.enabled=true) 时,Nacos 使用 AuthFilter servlet 过滤器强制执行鉴权。此筛选器具有一个后门,使 Nacos 服务器能够绕过此筛选器,从而跳过身份验证检查。此机制依赖于 user-agent HTTP 标头,因此很容易被欺骗。此问题可能允许任何用户在 Nacos 服务器上执行任何管理任务。通过欺骗绕过身份验证。

漏洞复现

通过登录抓包,在POST请求中拼接/nacos/v1/auth/users?pageNo=1&pageSize=10,username和password输入一个不存在的用户会未经权限认证直接创建,登陆后访问获取敏感信息进一步利用...

修改User-Agent:Nacos-Server后POST的结果:

网上看到有博主讲在利用时修改User-Agent:Nacos-Server,测试改不改User-Agent:Nacos-Server好像都可以复现漏洞,在漏洞描述中确实有提到此身份绕过依赖于 user-agent HTTP 标头,此处有点疑惑。。。

通过登录抓包,在GET请求中拼接/nacos/v1/auth/users?pageNo=1&pageSize=10,也未经权限认证直接可以获取当前存在的nacos用户

修改User-Agent:Nacos-Server后GET的结果:

3、CVE-2021-29442(未授权接口命令执行

        Nacos 是一个用于动态服务发现、配置和服务管理的平台。在 1.4.1 版本之前的 Nacos 中,ConfigOpsController 允许用户执行管理操作,如查询数据库甚至清空数据库。虽然 /data/remove 端点有 @Secured 注释进行适当保护,但 /derby 端点未受保护,未经身份验证的用户可以公开访问。这些端点仅在使用嵌入式存储(derby DB)时有效,因此使用外部存储(如 mysql)的安装不应受此问题影响。缺少关键功能的身份验证。

漏洞利用

使用vulhub靶场中的poc脚本测试命令执行,似乎部分命令不支持会报错。。。(poc在文末参考资料的vulhub靶场中体现)

修复建议

1、避免在公网开放nacos控制台界面,限制仅授权IP访问该服务或本地访问,减少攻击面;

2、开启nacos鉴权,使用包含数字、大小写字母、特殊符号等八位以上强口令;

3、及时更新受影响的软件到最新版本,或根据安全公告,修复漏洞。

参考资料

NVD - CVE-2021-29441

NVD - CVE-2021-29442

vulhub靶场/nacos at master · vulhub/vulhub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值