Skills

Oss Bucket Exploit

对象存储(S3/OSS/COS/OBS)Bucket 误配利用。当发现 AWS S3、阿里云 OSS、腾讯云 COS、华为云 OBS 等对象存储服务,或在 HTTP...

Install

npx skills add wgpsec/AboutSecurity --skill oss-bucket-exploit -g -a claude-code -y
Repository
wgpsec/AboutSecurity1.8k
Category
DevOps
Updated
11d ago
License
See repository
Context cost
Mediumabout 2,125 tokens
Runs scripts
No, instructions only

What it does

对象存储(S3/OSS/COS/OBS)Bucket 误配利用。当发现 AWS S3、阿里云 OSS、腾讯云 COS、华为云 OBS 等对象存储服务,或在 HTTP 响应中看到 x-amz-*、x-oss-*、x-cos-* 等 Header 时使用。覆盖 Bucket 枚举、ACL 误配检测、公开读写利用、Bucket 接管、Object 遍历、任意文件上传、Policy 策略滥用。发现任何云存储桶相关的资产或 URL(*.s3.amazonaws.com、*.oss-cn-*.aliyuncs.com、*.cos.*.myqcloud.com 等)都应使用此技能。优先使用 coscli/tccli 操作腾讯云 COS,awscli 操作 AWS S3

对象存储 Bucket 误配利用方法论

对象存储是云上最常见的暴露面, , Bucket 一旦配置公开读写,就等于把文件服务器直接暴露在互联网上。更危险的是 ACL 误配可以让攻击者接管整个 Bucket,进行钓鱼、供应链投毒、数据窃取。

⛔ 深入参考(必读)


Phase 1: 识别对象存储

线索云平台Bucket URL 格式
x-amz-* Header, Server: AmazonS3AWS S3BUCKET.s3.amazonaws.com 或 s3.REGION.amazonaws.com/BUCKET
x-oss-* Header, .aliyuncs.com阿里云 OSSBUCKET.oss-cn-REGION.aliyuncs.com
x-cos-* Header, Server: tencent-cos, .myqcloud.com腾讯云 COSBUCKET-APPID.cos.REGION.myqcloud.com
x-obs-* Header, .myhuaweicloud.com华为云 OBSBUCKET.obs.REGION.myhuaweicloud.com
# 快速判断
curl -sI https://TARGET_URL | grep -iE 'x-amz|x-oss|x-cos|x-obs|AmazonS3|aliyuncs|myqcloud|tencent-cos'

腾讯云 COS 特征

腾讯云 COS 的 Bucket 名称格式为 BUCKET-APPID,其中 APPID 是用户唯一标识。

# Bucket 访问域名格式
<BucketName-APPID>.cos.<Region>.myqcloud.com

# 示例
mybucket-1250000000.cos.ap-guangzhou.myqcloud.com

# 全局 Bucket 列表(需认证)
GET Service HTTP/1.1
Host: cos.ap-guangzhou.myqcloud.com

Phase 2: 攻击决策树

发现对象存储?
├─ 1. 列出 Bucket 内容(公开读?)
│   ├─ 成功 → 搜索敏感文件(配置/备份/代码/凭据)
│   └─ 403 → 尝试 ACL 和 Policy 利用
├─ 2. 检查 ACL 误配(ACL 可读?ACL 可写?)
│   ├─ ACL 可写 → 修改 ACL 获取 FULL_CONTROL
│   └─ Object ACL 可写 → 修改单个 Object 权限
├─ 3. 检查 Bucket Policy 误配
│   ├─ Policy 可写 → 直接获取完整权限
│   └─ 条件绕过 → 利用 Policy 中的弱条件
├─ 4. 公开写入 → 上传 Webshell/钓鱼页面/供应链投毒
└─ 5. Bucket 接管(NoSuchBucket → 抢注同名 Bucket)

Phase 3: 公开读检测与敏感文件搜索

AWS S3

aws s3 ls s3://BUCKET_NAME --no-sign-request
aws s3 sync s3://BUCKET_NAME ./loot --no-sign-request

阿里云 OSS

curl -s "https://BUCKET.oss-cn-REGION.aliyuncs.com/?list-type=2"
ossutil ls oss://BUCKET --endpoint oss-cn-REGION.aliyuncs.com

腾讯云 COS(优先使用 coscli)

Read the whole SKILL.md on GitHub

More in DevOps