漏洞描述
Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。
该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。并且利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息。
漏洞危害
通过版本漏洞,攻击者可以在不登陆系统的情况下读取已存在的用户或者添加用户,进而登陆系统,登陆系统后可获取大量配置信息以发起进一步攻击。
影响范围
Nacos <= 2.0.0-ALPHA.1
环境搭建
用的是在kali虚拟机中使用vulhub复现:
进入环境:
cd vulhub/nacos/CVE-2021-29441
启动环境:
docker-compose build
docker-compose up -d
查看环境:
docker-compose ps
访问环境:
http://ip:端口/nacos/#/login
默认端口号一般是:8848
漏洞复现:
这里就用线上现成的靶场了。
1、查看用户列表(包含密码)
访问该路径可以查看到nacos目前已经注册过的账号和加密后的密码:
http://靶场ip/nacos/v1/auth/users?pageNo=1&pageSize=1
可以看到有nacos账户 密码为加盐后的密码。
新增用户
火狐浏览器开启代理,burp抓包放入重放攻击模块
修改数据包
修改数据包进行重放攻击:
get请求变更为post请求
用户代理user-agent改为Nacos-Server
伪造用户:/xxx/xxx?username=test1&password=test1
用户名:test1,密码:test1
访问http://靶场ip/nacos/v1/auth/users?pageNo=1&pageSize=10,有新添加好的账户
登录账户
拿到flag值
免费领取安全学习资料包!
渗透工具
技术文档、书籍
面试题
帮助你在面试中脱颖而出
视频
基础到进阶
环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等
应急响应笔记
学习路线