SRC日常捡洞之某云服务平台Nacos权限认证绕过

1、概述

日常捡洞,发现某公司云服务平台存在nacos权限认证绕过漏洞。在这之前还真是第一次遇见,所有对于渗透测试来说永远要学习新的知识,当然也不可能所有的都能学到,只能是遇见不熟悉的立即去学这才是应有的态度。谁也没有绝对的把握说自己什么都懂。

2、漏洞复现

浏览器访问测试域名,第一步要做的永远是信息收集,对于此次的漏洞发现是对域名进行目录扫描中发现的问题。首先来说下什么是Nacos?

阿里为 SpringCloud 贡献了一个子项目,叫做 SpringCloud Alibaba,其中包括了微服务开发中的几个基础组件,Nacos 就是此项目中的一项技术。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

通过目录探测,系统存在nacos/目录,浏览器访问https://www.example.com/nacos。

1668062315_636c9c6b808c031f27359.png!small?1668062315932

通过漏洞探测,发现此系统存在权限认证绕过漏洞。根据漏洞payload,直接访问URL:https://www.example.com/nacos/v1/auth/users?pageNo=1&pageSize=1000,可以直接查看系统用户列表以及加密的密码,这里相当于未授权访问。

1668062338_636c9c82e1256fbb0364e.png!small?1668062338798

然后接下来,访问URL:https://www.example.com//nacos/v1/auth/usersusername=test1&password=Test@123,抓取数据包,将数据包GET 改为POST方式提交,User-Agent必须修改为User-Agent: Nacos-Server,发送修改后的数据包,可添加用户test1 密码为:Test@123  提交数据包后提示创建用户成功。

1668062359_636c9c978b8b07211d282.png!small?1668062359546

再次访问URL:https://www.example.com/nacos/v1/auth/users?pageNo=1&pageSize=1000,查看用户,已经成功添加至系统用户例表中。

1668062377_636c9ca9237046a986fd4.png!small?1668062377038

使用添加用户进行登录操作,可成功登录系统。

1668062396_636c9cbc504fe894863a8.png!small?1668062396226

完成权限认证绕过的关键在于User-Agent必须修改为User-Agent: Nacos-Server。测试完成后可通过构造数据包对测试用户进行删除,如下图所示:

1668062415_636c9ccfc77848762adda.png!small?1668062415676

查看系统用户列表用户删除成功,测试完成。

1668062432_636c9ce0a9925220a17bc.png!small?1668062432515

通过分析,系统存在用户nacos 且默认密码为nacos 可用默认账户、密码直接登录系统。这里对比了一下用户密码加密字符串与默认密码的加密字符串一致。

1668062448_636c9cf09a877f795d873.png!small?1668062448473

3、修复建议

① 修改默认口令,口令长度不小于8位,包含数字、大小写字母、特殊字符等。

② 升级至最新版本并根据文档进行升级及修复

③ Nacos 定义为一个应用服务发现和配置管理中间件服务,这类应用一般应该部署于内部网络,因此不建议用户将Nacos暴露在公网环境。

4、结束语

SRC可以作为渗透测试挖漏洞练手的一种方式也是一种学习方式,见多识广嘛。所以在SRC的过程中也需要一个笔记本记下来。

分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)