Skip to content

Latest commit

 

History

History
155 lines (60 loc) · 4.49 KB

[东方隐侠安全实验室]-2023-3-17-【烽火狼烟】Nacos身份认证绕过漏洞.md

File metadata and controls

155 lines (60 loc) · 4.49 KB

【烽火狼烟】Nacos身份认证绕过漏洞

原创 Wannacry、S1X 东方隐侠安全实验室

东方隐侠安全实验室

微信号 dfyx_sec

功能介绍 侠之大者,为国为民。东方隐侠安全团队,专注于安全基础能力研究,定期进行安全知识分享,共享国内外网络安全资讯,开展各类技术交流培训等,欢迎关注!


__发表于

收录于合集 #安全资讯 4个

点击蓝字 关注我们

漏洞描述

东方隐侠安全团队已成功复现Nacos token.secret.key身份认证绕过漏洞,漏洞原理为开源服务管理平台 Nacos在默认配置下未对 token.secret.key 进行修改,导致远程攻击者可以绕过密钥认证进入后台造成系统受控等后果。

漏洞信息

漏洞类型:身份认证绕过漏洞等级:高危漏洞编号:NVDB-CNVDB-2023674205
受影响版本:0.1.0 <= Nacos <= 2.2.0

漏洞原理

漏洞的本质是因为使用了默认的key。

JWT(JSON Web Token)是一种用于在网络应用之间安全传递信息的开放标准。在使用JWT时,通常需要使用密钥对token进行签名,以确保token在传输过程中不被篡改。如果在代码中将密钥硬编码到应用程序中,将会存在JWT硬编码漏洞。JWT硬编码漏洞是指将密钥硬编码到应用程序代码中,而不是存储在安全的密钥存储库中,攻击者可以轻松地获取该密钥并使用其签署和验证JWT。这使攻击者可以创建或修改JWT,或者验证伪造的JWT,从而导致安全漏洞。例如,应用程序使用硬编码密钥对JWT进行签名,攻击者可以轻松获取该密钥并创建有效的JWT,该JWT会被误认为是经过身份验证的用户,从而获得未经授权的访问权限。因此,为了避免JWT硬编码漏洞,应该将密钥存储在安全的密钥存储库中,并且只有授权的应用程序可以访问它。

漏洞复现

登录页面

默认 secret.key 为

SecretKey012345678901234567890123456789012345678901234567890123456789,伪造 jwt

利用伪造后的 jwt 发起请求,例如读取用户列表

或者是在请求头处添加

Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODgwNzY1Nn0.EYvjr2bJCv44VomUuWOt78Vbu7ALhyXu2WMGHrOyyBw

需要注意一点,伪造的 jwt 中使用的是旧时间戳,使用默认 payload 可以做任何操作除了登录接口

可以直接设置超长时间来伪造 jwt

成功绕过登录,进入后台:

漏洞修复

更新版本:https://nacos.io/zh-cn/blog/announcement-token-secret-key.html
缓解措施:1、检查application.properties文件中token.secret.key属性,若为默认值,可参考:https://nacos.io/zh- cn/docs/v2/guide/user/auth.html进行更改。2、将Nacos部署于内部网络环境

EXP获取

当前EXP已在野公开,各位少侠可加入【东方隐侠安全团队】知识星球获取各类漏洞最新漏洞利用EXP:

关注东方隐侠安全团队 为安全界刮起一股侠客风

    东方隐侠安全团队,一支专业的网络安全团队,将持续为您分享红蓝对抗、病毒研究、安全运营、应急响应等网络安全知识,提供一流网络安全服务,敬请关注!

公众号|东方隐侠安全实验室

预览时标签不可点

微信扫一扫
关注该公众号

知道了

微信扫一扫
使用小程序


取消 允许


取消 允许

: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看