QVD-2024-26473 0day nacos RCE命令执行漏洞复验证

一、漏洞描述

  RCE(Remote Code Execution,远程代码执行)漏洞是指攻击者能够在远程服务器上执行任意代码的安全漏洞。此类漏洞通常会让攻击者完全控制受影响的系统,导致严重的安全问题。

Nacos 是一个用于动态服务发现和配置以及服务管理的平台,Derby 是一个轻量级的嵌入式数据库。接口 /nacos/v1/cs/ops/derby 和 /nacos/v1/cs/ops/data/removal 在使用 Derby 数据库作为内置数据源时。用于运维人员进行数据运维和问题排查,在使用 standalone 模式启动 Nacos 时,为了避免因搭建外置数据库而占用额外的资源,会使用 Derby 数据库作为数据源。

二、POC利用

环境准备:下载nacos2.3.2或2.4.0版本,解压。
使用 startup.cmd -m standalone 启动nacos
POC是一个python项目,依赖requests和flask,请先使用requiments.txt安装依赖

1.配置config.py中的ip和端口,执行service.py,POC攻击需要启动一个jar包下载的地方,jar包里可以放任意代码,都可执行,项目里放了一个接收参数执行java命令的

2.执行exploit.py,输入地址和命令即可执行。

三、项目地址

https://github.com/ayoundzw/nacos-poc

四、影响范围

nacos 2.3.2

nacos 2.4.0

其他版本不确定,nacos 0day 需要登录到后才才能利用。

五、漏洞复现

1、首先在本地kali上拉取镜像

git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
docker-compose -f example/standalone-derby.yaml up

可以访问:http://192.168.20.54:8848/

adbd931ecbda37723d7d12e88ef39f37.png

2、然后编辑config.py文件

IP为kali IP

7617d2d966fda9b9834256d9627b2338.png

3、开启http服务

python3 service.py

316efaef030eb59f5a51dee2688671bb.png

5e4b287b63c50b7a23e965913d270312.png

4、运行exp

python3 exploit.py

// 可能有一些报错要处理,history部分命令

366 sudo apt-get install python-pip
367 sudo apt-get install python3-pip
368 pip3 install flask
369 pip install flask
370 python2 service.py
371 sudo pip2 install flask
372 python3 service.py
373 pip3 install werkzeug2.0.3
374 sudo apt remove python3-werkzeug\n
375 sudo apt remove python3-venv\n
376 sudo apt remove python3-werkzeug
377 pip3 install werkzeug2.0.3
378 python3 service.py
379 pip3 install flask\n
380 python3 service.py

d90b7933fdac9c755c764160198721da.png