# Aliyun Pentesting

阿里云渗透测试方法论。当目标使用阿里云服务、发现 oss-*.aliyuncs.com 资产、获取阿里云 AccessKey（LTAI 开头）、在 ECS 实例内部可访问...

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

## Install

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

## Description

阿里云渗透测试方法论。当目标使用阿里云服务、发现 oss-*.aliyuncs.com 资产、获取阿里云 AccessKey（LTAI 开头）、在 ECS 实例内部可访问 100.100.100.200 元数据、或需要对阿里云 RAM/ECS/OSS/RDS/ACK/FC 等服务进行安全评估时使用。覆盖 RAM 提权、ECS 接管、OSS Bucket 利用、RDS 数据库攻击、ACK 容器集群、FC 函数计算、SLB 负载均衡、日志服务、KMS 密钥管理

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

# 阿里云渗透测试方法论

阿里云 RAM/ECS/OSS/RDS/ACK 等服务构成主要攻击面。与 AWS 不同，阿里云的元数据端点为 `100.100.100.200`，AccessKey 以 `LTAI` 开头，且部分安全机制（如元数据服务访问限制、ActionTrail 覆盖范围）与国际云平台存在显著差异。本技能以渗透阶段（Phase）为主线，从凭据识别到各服务利用，提供完整攻击路径。

## ⛔ 深入参考（必读）

识别到具体攻击服务后，加载对应参考文档获取完整技术细节：

- 计算/存储/数据库详细利用 → 读 [references/compute-storage-attacks.md](references/compute-storage-attacks.md)
- 容器/Serverless/日志/KMS 详细利用 → 读 [references/platform-services-attacks.md](references/platform-services-attacks.md)

---

## Phase 1: 环境识别

拿到阿里云相关目标后，首先识别凭据类型、确认 CLI 工具可用、判断网络位置。

### 1.1 凭据类型

| 凭据类型 | 识别特征 | 有效期 | 获取方式 |
|---|---|---|---|
| 长期 AccessKey | AccessKeyId 以 `LTAI` 开头 | 永久（直到手动轮换） | RAM 控制台创建 / 代码泄露 |
| STS 临时凭据 | AccessKeyId 以 `STS.` 开头 + SecurityToken | 15 分钟 ~ 12 小时 | AssumeRole / ECS 元数据 |
| RAM Role（ECS 绑定） | 通过 100.100.100.200 获取 | 自动轮换（约 6 小时） | ECS 实例元数据服务 |
| Bearer Token | 用于部分 OpenAPI | 视场景而定 | OAuth 授权流程 |

### 1.2 CLI 配置与身份验证

```bash
# 配置 aliyun CLI（交互式，填入 AccessKeyId/Secret/Region）
aliyun configure

# 验证当前身份（最基础的检查，等同于 AWS 的 sts get-caller-identity）
aliyun sts GetCallerIdentity
# 返回: AccountId, Arn, IdentityType (对应 User/Role/AssumedRoleUser)

# 查看当前 RAM 用户详情
aliyun ram GetUser
```

### 1.3 元数据端点

阿里云 ECS 元数据端点与 AWS `169.254.169.254` 不同，使用 `100.100.100.200`：

```bash
# 判断是否在 ECS 实例内部
curl -s http://100.100.100.200/latest/meta-data/

# 获取实例绑定的 RAM Role 名称
curl -s http://100.100.100.200/latest/meta-data/ram/security-credentials/

# 获取该 Role 的临时凭据（AccessKeyId/AccessKeySecret/SecurityToken）
curl -s http://100.100.100.200/latest/meta-data/ram/security-credentials/ROLE_NAME

# 获取实例 ID、区域等信息
curl -s http://100.100.100.200/latest/meta-data/instance-id
curl -s http://100.100.100.200/latest/meta-data/region-id

# 获取 User-Data（可能包含初始化脚本中的凭据）
curl -s http://100.100.100.200/latest/user-data
```

**注意：** 阿里云目前不强制 IMDSv2（Token 模式），大部分 ECS 实例的元数据服务可直接通过 HTTP GET 访问，无需 Token Header。这使得 SSRF 漏洞在阿里云环境中的危害更大。

### 1.4 对象存储 URL 格式

The rest: https://github.com/wgpsec/AboutSecurity/blob/HEAD/skills/cloud/aliyun-pentesting/SKILL.md
