阿里云sts泄露导致任意文件覆盖
阿里云sts是临时的阿里云oss访问凭证,通常会有有效期,根据权限的不同可以进行不同的操作。
常见的漏洞是可以用来上传任意文件,或者替换原有文件。
利用工具
oss浏览器下载:https://github.com/aliyun/oss-browser
将获取到的参数填写,endpoint、预设路径根据实际情况填写
ECS扫描 工具地址:https://github.com/iiiusky/alicloud-tools
行云管家:https://yun.cloudbility.com/
1 | 查看所有实例信息 |
泄露常见位置
一般是上传文件时候会调用getsts/STS/ 等接口,进行返回,一般都是设置了有效期
/api/v2/sts/auth
常见返回字段
SecurityToken/AccessKeyId/AccessKeySecret
endpoint
bucketName
accessKeyId
accessKeySecret
securityToken
regionId
1 | {"data":{"getSts":{"Credentials":{"SecurityToken":"x","AccessKeyId":"STS.x","AccessKeySecret":"x","Expiration":"2024-09-12T02:56:16Z"}}}} |
尝试利用
windows下载链接
https://gosspublic.alicdn.com/ossutil/1.7.19/ossutil-v1.7.19-windows-amd64.zip
文件链接示例:
f-test.oss-cn-hangzhou.aliyuncs.com/x-upload/ff.js
命令说明:
ossutil cp f.js oss://f-test/x-upload/ff.js 可以用来文件上传,如果文件存在可以进行文件覆盖
命令示例:
1 | #该命令创建将一个配置文件,在其中存储配置信息。 直接回车使用默认 |
修复方案
1.防止覆盖同名Object
https://help.aliyun.com/zh/oss/user-guide/simple-upload?spm=a2c4g.11186623.0.0.7f845c7ecNZsfm
https://developer.aliyun.com/ask/127399?spm=a2c6h.13159741
LINKS
【云安全】阿里云 OSS对象存储攻防
漏洞实战 | 从存储桶sts泄露到js投毒
『红蓝对抗』教你如何接管 阿里云 控制台
从CVE到接口sql注入再到后台接口fuzz一波三折最终接管整个阿里云(涉及百万信息泄露)
通过OSS浏览器劫持阿里云Bucket
云主机秘钥泄露(AK/SK)及实战利用案例
敏感信息泄露到接管云服务器
【漏洞挖掘系列】OSS的STS模式授权案例
[AOH 026][1day]XSS全站用户?篡改厂商首页JS文件实战
阿里云OSS访问小记
其他利用
阿里云ssrf 用阿里云元数据可以进行ecs接管 http://100.100.100.200/latest/meta-data
参考链接:https://mp.weixin.qq.com/s/YVZJLJ__qohScrzrV4avnA
任意上传文件xss 替换原网站静态服务器域名可以造成原网站 xss 原理是oss服务器到静态资源服务会进行资源转发
阿里云OSS桶接管 接管删除的存储桶
原理:管理员通过域名解析绑定了一个存储桶,管理员不需要这个存储桶将器删除后,由于没有将域名解析的CNAME删除,就会出现下面的NoSuchBucket情况,要想接管该存储桶还需要一个前提就是需要在传输管理配置绑定域名,下面的情况可以接管存储桶。