网传 Nacos 0day漏洞复现

文摘   科技   2024-07-16 18:10   上海  

目录

0x01 漏洞简介0x02 漏洞复现  启动 nacos 环境  漏洞 EXP  未鉴权环境测试  鉴权环境测试0x03 EXP分析0x04 修复方案

 



0x01 漏洞简介

最近网上爆出 Nacos 的 0day,跟着复现学习下。


0x02 漏洞复现

启动 nacos 环境

下载nacos-server-2.3.2版本:

https://github.com/alibaba/nacos/releases

解压后在 bin 目录下启动 nacos, 启动命令:startup.sh -m standalon根据官方的描述,2.2.2 版本后的 nacos 默认启动是没有开启鉴权的。

开启鉴权
修改 nacos conf 目录下的application.properties 即可。支持热更新。

漏洞 EXP

下载 exp:

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

未鉴权环境测试

这里先测试未开启鉴权的环境进行测试,命令执行成功。

抓包查看,可以看到调用接口 /nacos/v1/cs/ops/derby

鉴权环境测试

开启鉴权后进行测试

提示没有权限

添加 Token 后访问,命令执行成功。

0x03 EXP 分析

查看 exp 中的 exploit.py文件,发现先后调用了两个接口/nacos/v1/cs/ops/data/removal/nacos/v1/cs/ops/derby

查看 exp 中的 service.py文件,获取 payload 信息。

将 payload 使用 base64 解码,然后保存成 a.jar文件,解压后得到 java 的 Class 文件,推测是加载的执行代码的类。

搜索关于 /nacos/v1/cs/ops/derby的信息,发现该接口存在过 SQL 注入漏洞。Nacos Derby SQL注入漏洞:

https://blog.csdn.net/qq_37113223/article/details/138268522

综上,推测是先利用接口/nacos/v1/cs/ops/data/removal写入 Java 命令执行的类,然后利用利用接口/nacos/v1/cs/ops/derbySQL 注入漏洞进行命令执行。


0x04 修复方式

经过测试, nacos的0day漏洞是需要登录后台才能利用,这里给出一个临时的修补漏洞的方法:

1、升级nacos到最新版本(原因:杜绝nacos前期出现的几个未授权访问漏洞)。2、nacos 开启鉴权,禁止匿名访问。3、设置复杂度较强的 nacos 口令。


写在最后

     本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。

    未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

云下信安
再溯源就不礼貌了