# Oss Bucket Exploit

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

- Repository: https://github.com/wgpsec/AboutSecurity (1833 stars)
- Category: DevOps
- License: see repository
- Last updated: 2026-10-24
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add wgpsec/AboutSecurity --skill oss-bucket-exploit -g -a claude-code -y`
Codex: `npx skills add wgpsec/AboutSecurity --skill oss-bucket-exploit -g -a codex -y`
Cursor: `npx skills add wgpsec/AboutSecurity --skill oss-bucket-exploit -g -a cursor -y`
Gemini CLI: `npx skills add wgpsec/AboutSecurity --skill oss-bucket-exploit -g -a gemini-cli -y`

## Description

对象存储（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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

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

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

## ⛔ 深入参考（必读）

- 各云厂商 Bucket 攻击详细命令（AWS/阿里云/腾讯云）、ACL 利用 Payload、Policy 构造、coscli 使用 → [references/bucket-attack-methods.md](references/bucket-attack-methods.md)

---

## Phase 1: 识别对象存储

| 线索 | 云平台 | Bucket URL 格式 |
|------|--------|-----------------|
| `x-amz-*` Header, `Server: AmazonS3` | AWS S3 | `BUCKET.s3.amazonaws.com` 或 `s3.REGION.amazonaws.com/BUCKET` |
| `x-oss-*` Header, `.aliyuncs.com` | 阿里云 OSS | `BUCKET.oss-cn-REGION.aliyuncs.com` |
| `x-cos-*` Header, `Server: tencent-cos`, `.myqcloud.com` | 腾讯云 COS | `BUCKET-APPID.cos.REGION.myqcloud.com` |
| `x-obs-*` Header, `.myhuaweicloud.com` | 华为云 OBS | `BUCKET.obs.REGION.myhuaweicloud.com` |

```bash
# 快速判断
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
```bash
aws s3 ls s3://BUCKET_NAME --no-sign-request
aws s3 sync s3://BUCKET_NAME ./loot --no-sign-request
```

### 阿里云 OSS
```bash
curl -s "https://BUCKET.oss-cn-REGION.aliyuncs.com/?list-type=2"
ossutil ls oss://BUCKET --endpoint oss-cn-REGION.aliyuncs.com
```

### 腾讯云 COS（优先使用 coscli）

The rest: https://github.com/wgpsec/AboutSecurity/blob/HEAD/skills/cloud/oss-bucket-exploit/SKILL.md
