文章目录
1.Nacos简介
Nacos 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助用户发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,能够快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 可以更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
2.Nacos漏洞利用场景
内网横向
3.Nacos下载安装
3.1.下载
3.2.解压
nacos部署需要java环境,
3.3.部署方式
在nacos所在目录打开cmd命令框。执行命令
startup.cmd -m standalone
(单集权模式)
3.4.访问地址
http://127.0.0.1:8848/nacos/
4.Naocs利用思路
4.1.默认口令
通常nacos的默认端口是8848,在内网横向的时候,通常使用工具批量扫描8848端口,以达到规避的效果。默认密码是nacos/nacos,运气比较好的话,会存在默认口令和未授权。
查看版本tips:http://127.0.0.1:8848/nacos/v1/console/server/state
4.2.Nacos未授权访问CVE-2021-29441
4.2.1.漏洞简介
该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。并且利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息。
4.2.2.漏洞影响版本
Nacos <= 2.0.0-ALPHA.1
4.2.3.漏洞复现
4.2.3.1.抓包
拼接路径http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9在浏览器中访问可以看见用户名密码。可判断存在CVE-2021-29441。如下是使用yakit抓的包:
4.2.3.1.改包
把上面的数据包中的GET改为POST,User-Agent的内容换成Nacos-Server,pageNo=1&pageSize=9换成需要添加的用户名和密码:hluas/hluas
4.2.4.漏洞修复
4.2.4.1.第一步
升级到最新版本,下载地址:https://github.com/alibaba/nacos/releases
4.2.4.2.第二步
改nacos的配置文件,在nacos解压包文件中把application.properties文件里面的配置项nacos.core.auth.enabled改为true
4.3.Derby未授权访问(CVE-2021-29442)
4.3.1.漏洞简介
CVE-2021-29442是Nacos(阿里巴巴开源的服务发现与配置管理平台)中的一个未授权访问漏洞,源于其嵌入式Derby数据库未正确限制访问权限。攻击者可利用该漏洞绕过身份验证,直接通过特定接口执行任意SQL查询,导致敏感信息泄露(如用户凭证、配置数据等)
4.3.2.漏洞影响版本
受影响版本:
Nacos = 1.4.0(无论是否开启鉴权功能)
Nacos = 1.3.x及更早版本(部分场景可能受影响)
4.3.3.漏洞复现
未开启鉴权时:
直接访问以下接口执行SQL查询:
4.3.4.漏洞修复
4.4.nacos身份认证绕过默认jwt(QVD-2023-6271)
4.3.1.漏洞简介
该漏洞是由于Nacos在默认配置下未修改默认密钥(SecretKey012345678901234567890123456789012345678901234567890123456789),导致攻击者可利用硬编码的JWT(JSON Web Token)密钥伪造合法令牌,绕过身份认证直接访问后台系统。
4.3.2.漏洞影响版本
影响版本:0.1.0 <= Nacos <= 2.2.0
4.3.3.漏洞复现
4.3.3.1.环境部署
4.3.4.漏洞修复
4.5.Nacos集群Raft反序列化漏洞(QVD-2023-13065)
4.3.1.漏洞简介
该漏洞存在于 Nacos 集群的 Raft 通信协议中,由于对部分 Jraft 请求的反序列化处理不当,攻击者可通过构造恶意 Hessian 序列化数据,在目标服务器上实现任意代码执行。
核心问题:默认配置下,Nacos 集群间通信端口(7848)未对反序列化数据进行严格校验,导致恶意攻击者可通过此端口发送精心构造的序列化数据,触发远程代码执行(RCE)
4.3.2.漏洞影响版本
Nacos 1.4.0 ≤ 版本 ≤ 1.4.6
Nacos 2.0.0 ≤ 版本 ≤ 2.2.3
4.3.3.漏洞复现
4.3.4.漏洞修复
4.6.Nacos Derby未授权RCE漏洞(QVD-2024-26473)
4.3.1.漏洞简介
QVD-2024-26473是Nacos中Derby数据库接口的未授权远程命令执行漏洞。攻击者可通过未授权访问Derby数据库接口,执行恶意SQL语句,最终实现任意代码执行。该漏洞利用了Derby默认配置的未授权访问漏洞(CVE-2021-29442)和Nacos接口的条件竞争问题,导致攻击者可加载恶意JAR文件并注册函数。