Share
## https://sploitus.com/exploit?id=45BBBC2B-9CBB-526E-B3BD-FA329E23116B
## 简介
Nacos Derby命令执行漏洞利用脚本,默认使用User-Agent绕过漏洞进行利用
Nacos 是一款用于服务注册、发现和配置管理的开源平台。在其早期版本(≤2.4.0-BETA)中,Nacos 默认集成了 Apache Derby 作为嵌入式数据库。由于 Derby 数据库默认未设置访问控制,攻击者可以未经授权地访问特定接口,执行任意 SQL 语句,最终导致远程命令执行漏洞。
**漏洞原理:**
1. **未授权访问:** 在默认配置下,Nacos 的 Derby 数据库接口未设置访问控制,允许任何人访问。
2. **SQL 注入:** 攻击者通过特定的 HTTP 请求,向 Nacos 的 Derby 接口发送恶意 SQL 查询。例如,访问以下 URL:
```
http://<Nacos服务器地址>:8848/nacos/v1/cs/ops/derby?sql=select * from users
```
这将返回用户表中的所有数据。
3. **远程命令执行:** 更为严重的是,攻击者可以利用 Derby 的特定功能,通过 SQL 语句执行任意代码。例如,使用 `CALL` 语句加载远程的恶意 JAR 包,并执行其中的代码,从而在受害者服务器上执行任意命令。
**修复措施:**
- **升级 Nacos:** 官方已在最新版本中修复了此漏洞,建议将 Nacos 升级至最新版本。
- **禁用 Derby 接口:** 如果不使用嵌入式数据库,建议禁用 Derby 接口,防止未经授权的访问。
- **启用身份验证:** 配置 Nacos 的身份验证机制,确保只有授权用户才能访问相关接口。
此漏洞的利用可能导致数据泄露、服务中断,甚至服务器被完全控制,危害极大。因此,强烈建议受影响的用户尽快采取上述措施进行防护。
## POC/EXP - 使用方法
```
nacos_derby_rce.py [-h] -u URL [-a TOKEN]
```