一、前言
昨天下午(7.15)各个群里以及公众号都在传,github上有网友公布了最新的nacos远程代码执行漏洞及exp,还已复现,来仔细瞅瞅到底怎么回事。
二、研究分析
这个nacos的0day漏洞真实存在,需要登录后台才能利用,但有些资产存在以前的匿名访问漏洞、或者鉴权漏洞也就可以打成功了。
这个漏洞的本质是打的Derby数据库(nacos默认),将jar包下载到Derby数据库中,因为其特性在更新或查询数据时会调用系统命令,最终把传入的参数当作系统命令来执行。
可参考:derby数据库如何实现RCE - lvyyevd's 安全博客
来看看作者写的exp
server.py 该文件是为了部署一个服务用于下载jar包,被编码的jar包是为了执行传入的命令和回显命令输出
exploit.py 主要功能是加载远程的service.py放置的远程jar包并执行
三、复现
win部署nacos
下载nacos2.3.2或2.4.0版本,解压。使用 startup.cmd -m standalone 启动nacos
docker部署
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
docker-compose -f example/standalone-derby.yaml up
打EXP
安装好exp依赖,配置好config.py,然后运行service.py,再运行exploit.py,
四、修复建议
修复历史存在的未授权访问漏洞,升级nacos到最新版,或打补丁;
禁止nacos的匿名访问,开启鉴权,杜绝弱口令。
原文始发于微信公众号(Secu的矛与盾):速看,Nacos最新0day漏洞?复现以及临时修复建议
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论