前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Nacos Jraft Hessian反序列漏洞分析

Nacos Jraft Hessian反序列漏洞分析

作者头像
叔牙
发布2024-11-23 16:22:26
发布2024-11-23 16:22:26
5450
举报

微信公众号:PersistentCoder 关注可了解更多的教程。

提示: 靶场来自个人云服务器,真实网络环境渗透测试请严格遵守《中国网络信息安全法》,请勿轻易用于他人线上网络环境安全测试,本人不承担任何法律责任。

一、漏洞概述

1.漏洞描述:

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

2.影响版本:
  • 1.4.0 <= Nacos < 1.4.6(使用cluster集群模式运行)
  • 2.0.0 <= Nacos < 2.2.3(任意模式运行)
3.Nacos默认及重要端口说明

Nacos服务端暴露的主要端口及其用途包括:

  • 主端口 (默认8848): 这是Nacos客户端、控制台以及OpenAPI所使用的HTTP端口,用于配置管理、服务发现的HTTP请求。
  • gRPC客户端请求服务端端口 (默认9848): 即主端口+1000偏移量,用于客户端通过gRPC协议向Nacos服务端发起连接和请求。
  • 服务端gRPC请求服务端端口 (默认9849): 即主端口+1001偏移量,用于服务间的同步和其他内部通信。
  • Jraft请求服务端端口 (默认7848): 即主端口-1000偏移量,用于处理服务端间的Raft一致性算法相关的请求。

二、漏洞复现

1.服务启动与端口暴露

启动nacos服务,并开放7848端口。

2.漏洞扫描

使用漏洞利用工具对nacos服务进行扫描:

然后切到内存马注入tab进行内存马探活和注入,选择nacos jaft hessian反序列化漏洞,然后内存马探活,最后进行内存马注入:

从nacos的protocol日志中看到如下内容:

看到这个就知道是通过序列化和反序列化进行的反射相关操作,真实验证了那句话,大部分RCE漏洞都是序列化和反序列化惹的祸,所以给开发人员也提了个醒,使用序列化和反序列化的时候,一定要慎之又慎。

这里内存马已经注入成功了,可以进行后续的利用。

3.漏洞利用

内存马注入后,就可以使用工具或者命令进行后续的利用动作了,比如常见的冰蝎、哥斯拉等,这里注入的内存马可以使用冰蝎、CMD和哥斯拉,我们此处使用冰蝎。

在冰蝎中添加shell并保存:

然后右键打开shell:

然后看到已经连接成功,并且可以进行命令操作:

后续可以结合msf做一些反弹shell的动作:

4.危害

内存马注入连接后,这台机器基本上算是拿下了,拿下后可以做c段扫描、提权、内网渗透等相关操作。并且nacos中存放了很多敏感重要的业务配置等,可以根据这些内容进行数据库爆破、redis爆破、以及攻下整个内网环境。可以说是基本失去对服务器的制动权。

三、漏洞防护

1.升级到安全版本

升级到最新或者次最新版本。目前官方最新版本是2.4.3,可升级到2.4.3或者2.4.2版本。

2.关闭非必要端口

此漏洞依赖于7848端口的公网开放,那么关掉或者定向开放。特别是很多中小型业务使用都是单机的,开7848端口干啥呢?如果是集群,集群内开放端口即可。

3.构建内网访问环境

一般非业务访问端口开放到公网访问,要么是小可爱、要么是简单粗暴方便开发环境使用,那么如果构建一个安全的内网开发环境,是不是也解决了端口泛滥和未知漏洞的渗透呢?

参考

https://nacos.io/ https://github.com/alibaba/nacos https://avd.aliyun.com/detail?id=AVD-2023-1700159 https://www.cnvd.org.cn/flaw/show/CNVD-2023-45001

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PersistentCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、漏洞概述
    • 1.漏洞描述:
    • 2.影响版本:
    • 3.Nacos默认及重要端口说明
  • 二、漏洞复现
    • 1.服务启动与端口暴露
    • 2.漏洞扫描
    • 3.漏洞利用
    • 4.危害
  • 三、漏洞防护
    • 1.升级到安全版本
    • 2.关闭非必要端口
    • 3.构建内网访问环境
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档