Nacos Jraft 远程代码执行漏洞 附检测POC (nuclei)

admin 2023年6月19日13:50:00评论468 views字数 1118阅读3分43秒阅读模式

简介:

Nacos是一个开源的分布式配置中心、服务发现、动态 DNS 服务和服务网格平台,由阿里巴巴公司开发和维护。它可以帮助开发人员快速构建云原生应用,支持多种语言和框架,能够实现应用的配置管理、服务注册和发现、流量管理、服务治理等功能。Nacos提供了两种部署模式:单机模式和集群模式,可以根据实际需求选择合适的模式。

利用条件:

Nacos 1.x集群模式或Nacos 2.x

开放7848端口

漏洞环境部署:

docker pull nacos/nacos-server:2.0.3 # Start nacos docker run -d -p 8848:8848 -p 7848:7848 -e MODE=standalone -e PREFER_HOST_MODE=hostname  --restart always --name nacos nacos/nacos-server:2.0.3

基本原理:

Nacos在处理某些基于Jraft的请求时,采用Hessian进行反序列化,但并未设置限制,导致应用存在远程代码执行漏洞。Nacos 1.x在单机模式下默认不开放7848端口,故该情况通常不受此漏洞影响。然而,2.x版本无论单机或集群模式均默认开放7848端口

备注:Nacos默认情况下会启动两个端口,一个是8848端口,用于Nacos控制台的访问,另一个就是7848端口。7848端口是Nacos的内部通信端口,用于服务之间的通信和数据同步。当Nacos集群中有新的服务注册或配置信息更新时,这些信息会通过7848端口在集群中同步,保证整个集群的一致性。因此,7848端口对于Nacos的正常运行和集群通信是非常重要的。

漏洞检测:

Nacos进行版本和部署模式探测:

./nuclei -u http://127.0.0.1:8848/ -t nacos/nacos-jraftserver-deserialization-rce.yaml

Nacos Jraft 远程代码执行漏洞 附检测POC (nuclei)

nuclei检测poc:

https://github.com/UltimateSec/ultimaste-nuclei-templates/blob/main/nacos/nacos-jraftserver-deserialization-rce.yaml

修复方式:

禁止7848端口来自Nacos集群外的请求达到防护目的

参考:

https://stack.chaitin.com/techblog/detail?id=106

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

原文始发于微信公众号(极致攻防实验室):Nacos Jraft 远程代码执行漏洞 附检测POC (nuclei)

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

发表评论

匿名网友 填写信息