基本概念和功能
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它提供了一组简单易用的特性集,帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos致力于帮助用户发现、配置和管理微服务,支持几乎所有主流类型的服务发现、配置和管理,包括Kubernetes Service、gRPC、Dubbo RPC Service、Spring Cloud RESTful Service等
信息收集
使用灯塔批量扫描,信息收集发现一个nacos站点,我擦公网开放还属于某大SRC的naocs平台活久见了~
先试试nacos默认口令、弱口令,尝试后后发现不存在弱口令~
漏洞尝试
即然弱口令不行,那肯定要试一下未授权访问,这里尝试读取用户列表,即/nacos/v1/auth/users
发现响应包有提示,如下图
看不懂报错咱就请chatgpt,噢~缺乏参数是吧
拼接完又出现提示
这个不用多说,pageNo和pageSize是页码和页面大小,传给他就是了
成功读取到了该系统的用户列表,已厚码
一个接口未授权了,其他接口也是可以的
命名空间,进一步未授权读取配置文件的内容也是可以的(内容可能有aksk、数据库配置信息、appid、appsecret、corpid、corpsecret等等)
权限绕过
nacos在<=2.2.0版本中存在jwt默认key的问题,可以利用这个漏洞直接进入后台
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
{
"sub": "nacos",
"exp": 9999999999
}
在重放器中输入任意用户名和密码,获取到响应包的内容,复制整个响应包
继续拦截抓包
拦截响应包
替换成刚刚复制的响应包内容,响应码改为 200
成功登录
还有一些rce的漏洞可以测试,但此处未成功
Nacos属于是漏洞很多很好测的通用系统,不管是SRC还是打攻防遇到了都是重点对线。
修复加固
Nacos 是一个动态服务发现、配置和服务管理平台,用于构建云原生应用。如果你在使用 Nacos 时遇到“接口未授权”的问题,这通常是因为安全设置或认证配置不正确。以下是一些解决步骤,帮助你修复这个问题:
1. 检查 Nacos 配置
首先,确保你的 Nacos 服务器配置了正确的认证方式。Nacos 支持多种认证方式,包括但不限于用户名/密码、Token、LDAP等。
对于用户名/密码认证:
检查 application.properties
或 application.yml
文件:
确保配置了正确的认证信息。例如:
nacos.core.auth.enabled=true
nacos.core.auth.system.type=nacos
nacos.core.auth.username.password.secret.key=your_secret_key```
或者
# application.yml
nacos:
core:
auth:
enabled: true
system:
type: nacos
username: nacos
password: nacos
重启 Nacos 服务:
修改配置后,需要重启 Nacos 服务以使更改生效。
2. 使用正确的认证信息
当你访问 Nacos 的 RESTful API 时,需要提供正确的认证信息。例如,如果你使用用户名/密码方式,你可以通过以下方式提供认证信息:
基本认证:在 HTTP 请求的 Authorization 头中添加 Base64 编码的用户名和密码。例如,如果用户名是 nacos,密码是 nacos,则编码后应该是 bmFjb3M6bmFjb3M=。然后添加到请求头中:
Authorization: Basic bmFjb3M6bmFjb3M=
使用 Token:如果你配置了 Token 认证,确保你获取了有效的 Token 并在请求中提供了这个 Token。例如:
Authorization: Bearer your_token_here
3. 检查网络和防火墙设置
确保没有网络或防火墙设置阻止了你的请求访问 Nacos 服务器。特别是如果你在使用代理或者 VPN,确保这些设置不会干扰认证过程。
4. 查看日志和错误信息
如果问题仍然存在,查看 Nacos 的日志文件可以提供更多线索。日志文件通常可以在 Nacos 的安装目录下的 logs 文件夹中找到。检查与认证相关的错误或警告信息。
5. 更新和兼容性检查
确保你使用的 Nacos 客户端库或 SDK 与你的 Nacos 服务器版本兼容。有时候,升级到最新版本可以解决一些已知的问题或兼容性问题。
通过上述步骤,你应该能够解决 Nacos 接口未授权的问题。如果问题仍然存在,可能需要更详细地检查你的配置或寻求来自 Nacos 社区的帮助。
原文始发于微信公众号(Rot5pider安全团队):【漏洞挖掘】Nacos未授权漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论