# Huawei Pentesting

华为云渗透测试方法论。当目标使用华为云服务、发现 obs.*.myhuaweicloud.com 资产、获取华为云 AK/SK、在 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 huawei-pentesting -g -a claude-code -y`
Codex: `npx skills add wgpsec/AboutSecurity --skill huawei-pentesting -g -a codex -y`
Cursor: `npx skills add wgpsec/AboutSecurity --skill huawei-pentesting -g -a cursor -y`
Gemini CLI: `npx skills add wgpsec/AboutSecurity --skill huawei-pentesting -g -a gemini-cli -y`

## Description

华为云渗透测试方法论。当目标使用华为云服务、发现 obs.*.myhuaweicloud.com 资产、获取华为云 AK/SK、在 ECS 实例内可访问 169.254.169.254 OpenStack 风格元数据、或需要对华为云 IAM/ECS/OBS/RDS/CCE/FunctionGraph 等服务进行安全评估时使用。覆盖 IAM 提权（OpenStack Keystone）、ECS 接管、OBS 对象存储利用、RDS 数据库攻击、CCE 容器集群、FunctionGraph 函数计算、ELB 负载均衡、LTS 日志、KMS 密钥管理。华为云使用 OpenStack CLI + obsutil + REST API 三种接口

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

# 华为云渗透测试方法论

华为云 IAM/ECS/OBS/RDS/CCE 等服务构成主要攻击面。与 AWS/阿里云/腾讯云最大的不同在于，华为云使用**三种独立的 CLI 接口**（openstack CLI、obsutil、REST API），且其 IAM 基于 OpenStack Keystone 实现，元数据端点使用标准 `169.254.169.254` 但路径为 OpenStack 风格。本技能以渗透阶段（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 凭据类型

| 凭据类型 | 识别特征 | 有效期 | 获取方式 |
|---|---|---|---|
| 长期 AK/SK | AccessKeyId + SecretAccessKey | 永久（直到手动轮换） | IAM 控制台创建 / 代码泄露 |
| IAM Token | X-Auth-Token（Keystone 风格） | 默认 24 小时 | 用户名密码换取 / AK/SK 签名 |
| 临时安全凭据 | AK/SK + SecurityToken | 15 分钟 ~ 24 小时 | IAM Agency（委托）|
| IAM Agency（委托） | 类似 AWS AssumeRole | 按 Token 有效期 | 跨账号/服务委托 |

### 1.2 三种 CLI 接口（华为云独有）

华为云使用三种不同的命令行接口，这是渗透时必须理解的核心区别：

| 接口 | 覆盖服务 | 认证方式 | 安装 |
|---|---|---|---|
| openstack CLI | IAM / ECS / 安全组 | 环境变量 or `clouds.yaml` | `pip install python-openstackclient` |
| obsutil | OBS 对象存储 | `obsutil config -i AK -k SK -e endpoint` | 华为云官网下载二进制 |
| curl + REST API | RDS / ELB / CCE / FunctionGraph / LTS / KMS | `X-Auth-Token` Header | 系统自带 |

```bash
# openstack CLI 配置（环境变量方式）
export OS_AUTH_URL=https://iam.{region}.myhuaweicloud.com/v3
export OS_PROJECT_NAME={region}
export OS_USERNAME=USERNAME
export OS_PASSWORD=PASSWORD
export OS_DOMAIN_NAME=DOMAIN_NAME

# openstack CLI 配置验证
openstack token issue

# obsutil 配置
obsutil config -i ACCESS_KEY_ID -k SECRET_ACCESS_KEY \
  -e https://obs.{region}.myhuaweicloud.com

# obsutil 验证
obsutil ls -limit=1
```

### 1.3 获取 IAM Token（REST API 前置条件）

华为云 REST API 调用需要先通过 IAM 获取 X-Auth-Token：

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