nacos漏洞全解篇
本文介绍了Nacos开源项目中的两个关键漏洞CVE-2021-29441和CVE-2021-29442,分析了其认证绕过机制及远程代码执行风险,并提供了漏洞复现步骤和修复建议。 2025-12-30 10:1:44 Author: www.freebuf.com(查看原文) 阅读量:0 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

1.漏洞原理

Nacos是属于一种比较新的开源项目,但是到目前来说已经被利用烂了,今天要讲的是Nacos系列的两个CVE漏洞,CVE-2021-29441 、CVE-2021-29442前一个是Nacos的认证绕过后一个是认证绕过和远程代码执行(RCE),该漏洞发生在Nacos在执行认证和授权时会判断请求的用户代理是否为"Nacos-Server"如果是则不会执行任何认证。

2.CVE-2021-29441漏洞复现

启动靶场sudo docker-compose up -d访问web端口8848,http://yourip:8848

1767058698_69532d0ab6d892680c9ef.png!small

burp抓包进行漏洞验证,访问这个路径/nacos/v1/auth/users?pageNo=1&pageSize=1出现403也就是未授权状态,此时要验证漏洞加上一个UA(Nacos-Server)

1767058846_69532d9e3363d7a3db0ba.png!small

添加UA之后再次发包发现并不需要授权了,就说明漏洞存在

1767058994_69532e3220d89b899fee5.png!small

这个nacos之所以特别危险是因为可以直接未授权的添加任意用户同时增加了测试面,接下来测试添加任意用户,访问/nacos/v1/auth/users路径,使用Nacos判断用户请求代理机制的缺陷直接添加账密

1767059892_695331b4293f0b04048f3.png!small

使用新创建的用户账密进行登录测试

1767059978_6953320a75e9c48ba21a6.png!small

1767060018_695332324981646a5a625.png!small

有用户账密之后继续使用未授权访问/nacos/v1/auth/users?pageNo=1&pageSize=1现在就能看到用户账密

1767060314_6953335a8d6d30f232c91.png!small

但是这个密码是加密的有大佬说过这个密码是BCrypt单向哈希加密,这里测试密码的爆破这个密码字典就是收集的$2a$10$eETdTtVMakO.Pg5OfgYDt.iBPgMy9/u8eeI2MHL8iei2chr7cwYSK,明文为字典也就是(dict),贴一下爆破工具的下载链接https://github.com/wolaile08/BCryptDecode java8的环境,爆破出来是这样的,密码的值保存到mima.txt里面dict.txt使用明文也就是进行匹配在给出明文密码的一个逻辑,可以使用较大的dict字典进行爆破会有不一样的收获,目录结构如下:
1767063440_69533f90361173344bea5.png!small

1767063338_69533f2a59709641699d1.png!small

这里官方给出了测试的poc可以使用poc进行测试,python poc.py IP:8848

1767063702_69534096d6417c94f17fe.png!small

这个poc脚本就是利用UA缺陷进行测试并且创建一个用户账密vulhub/vulhub

1767063965_6953419d39f09777c333a.png!small

3.CVE-2021-29442漏洞复现

这个漏洞主要是removal接口RCE造成远程加载jar包,使用derby数据库中的执行命令功能去执行jar包中的命令,这里直接使用官方给的poc去RCE就行

1767087427_69539d43b268e4d7a59b3.png!small

免责声明

1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。

2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。

3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/web/464393.html
如有侵权请联系:admin#unsafe.sh