提交官方不认为是漏洞,忽略,遂当作技巧分享。
漏洞详情
官网下载ISO:ZStack-Cloud-x86_64-DVD-3.10.38-c76.iso
测试
启动VM:
使用默认管理员admin password,登录后台,随便进行几个操作,如添加vCenter:
接着通过/calls/uuids
接口,会泄露操作的uuid
(注意,是未授权访问)
然后利用uuid
请求 /calls/uuid
,本例就是:/calls/661f50e3fdeb325c957d04ca0a12a4ab
,泄露管理session uuid
以及job uuid
还有一些任务细节,利用这个sessionUuid
就可以未授权操作后台任务。
所以通过这两个接口即可未授权获取到后台管理员的SESSION。
漏洞利用
可以随意编写一个python脚本只需持续监控uuid的产生即可:
监控获取SESSION示例:
利用获取到的SESSION操作后台任务:
实战利用技巧
当时这个未授权泄露SESSION也是在一次项目中黑盒测试所得,配合一个认证后RCE(CVE-2021-32829)拿到权限,漏洞详情请看:https://securitylab.github.com/advisories/GHSL-2021-065-zstack/
于是与上述描述利用一样,使用python脚本监控SESSION,随后调用接口batch-queries?script=
进行RCE:
所以,这算不算漏洞?
广告环节
原文始发于微信公众号(黑客在思考):ZStack Cloud 3.10.X 版本未授权泄露SESSION利用