SiteQ8/S7aba
GitHub: SiteQ8/S7aba
一款纯 Bash 编写的多云特权提升与后渗透框架,统一支持 AWS、Azure、GCP 和 Kubernetes 的完整攻击链条。
Stars: 0 | Forks: 0
云特权提升与后渗透框架
功能 •
快速开始 •
使用方法 •
攻击流程 •
提供商 •
贡献
## ⚠️ 法律免责声明
**S7aba 仅设计用于授权的安全测试。** 未经事先双方同意而使用此工具攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。作者不承担任何责任,也不对本程序造成的任何误用或损害负责。
## 🔍 什么是 S7aba?
**S7aba**(سحابة —— 阿拉伯语单词,意为“云”)是一个纯 Bash 云特权提升和后渗透框架,专为红队成员、渗透测试人员和云安全专业人员设计。
它能自动检测您的云环境,枚举权限和错误配置,识别特权提升路径,并提供后渗透能力——所有这些都来自一个**零依赖**(标准云 CLI 除外)的命令行工具。
### 为什么选择 S7aba?
- **纯 Bash** —— 无需 Python、Go 或 Ruby。只要有 Bash 就能运行
- **多云支持** —— 适用于 AWS、Azure、GCP 和 Kubernetes 的单一框架
- **模块化** —— 针对每个提供商和攻击阶段的即插即用模块
- **默认安全** —— Dry-run 模式、确认提示、完整审计日志
- **可扩展** —— 通过创建简单的 shell 脚本添加新提供商或技术
## 📸 截图
### 帮助菜单
### 云侦察
### 特权提升发现
## ✨ 功能
| 阶段 | 能力 | 描述 |
|-------|-----------|-------------|
| 🔍 **侦察** | 身份与权限 | 枚举 IAM 用户、角色、策略和有效权限 |
| 🔍 **侦察** | 服务发现 | 映射 S3、EC2、Lambda、RDS 及其他云资源 |
| 🔍 **侦察** | 网络分析 | VPC、安全组、公共端点、IMDS 配置 |
| 🔍 **侦察** | 密钥扫描 | SSM 参数、Secrets Manager、Lambda 环境变量 |
| ⚡ **特权提升** | IAM 提权 | 14+ 种 AWS 特权提升方法(Rhino Security 风格) |
| ⚡ **特权提升** | 策略滥用 | CreatePolicyVersion、SetDefaultPolicyVersion、内联策略 |
| ⚡ **特权提升** | 角色链 | PassRole+Lambda、PassRole+EC2、PassRole+CloudFormation |
| 🔗 **横向移动** | 信任映射 | 跨账户角色、服务相关角色、联合身份 |
| 🔗 **横向移动** | 服务支点 | 使用发现的凭证在云服务之间移动 |
| 🛡️ **权限维持** | IAM 后门 | 通过 IAM 操作创建持久访问 |
| 📤 **数据窃取** | 数据发现 | 在云存储中查找并分类敏感数据 |
| 🧹 **清理** | 痕迹移除 | 移除痕迹、日志和创建的资源 |
| 📊 **报告** | 多格式 | 生成文本、JSON 或 HTML 格式的报告 |
## 🚀 快速开始
```
# Clone
git clone https://github.com/SiteQ8/S7aba.git
cd S7aba
# 添加可执行权限
chmod +x s7aba.sh
# 运行侦察 (自动检测 cloud provider)
./s7aba.sh recon
# 或指定 provider
./s7aba.sh -p aws recon
```
### 前置条件
**必需:**
- Bash 4.0+
- `curl`, `jq`, `grep`, `awk`, `sed`, `base64`
**至少一种云 CLI:**
- AWS CLI (`aws`) — 用于 AWS 评估
- Azure CLI (`az`) — 用于 Azure 评估
- Google Cloud SDK (`gcloud`) — 用于 GCP 评估
- kubectl — 用于 Kubernetes 评估
## 📖 使用方法
```
./s7aba.sh [OPTIONS]
[ARGS]
COMMANDS:
recon Enumerate cloud environment & permissions
privesc Identify & exploit privilege escalation paths
persist Establish persistence mechanisms
exfil Data discovery & exfiltration techniques
lateral Lateral movement across cloud services
cleanup Remove artifacts & cover tracks
report Generate assessment report
interactive Launch interactive TUI mode
OPTIONS:
-p, --provider Target cloud (aws|azure|gcp|k8s|multi)
-r, --region Target region
-o, --output Output format (text|json|html)
-v, --verbose Verbose output
-d, --dry-run Simulate without executing
-h, --help Show help
--version Show version
```
### 示例
```
# 完整侦察并启用 verbose logging
./s7aba.sh -v -p aws recon
# 权限提升扫描 (dry-run)
./s7aba.sh -p aws -d privesc
# Kubernetes 横向移动
./s7aba.sh -p k8s lateral
# 生成 HTML 报告
./s7aba.sh -o html report
# 交互式 TUI 模式
./s7aba.sh interactive
```
## 🎯 攻击流程
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ RECON │────▶│ PRIVESC │────▶│ LATERAL │
│ │ │ │ │ MOVEMENT │
│ • Identity │ │ • IAM Paths │ │ • Trust Map │
│ • Permissions│ │ • Policy Abuse│ │ • Svc Pivots │
│ • Services │ │ • Role Chain │ │ • Targets │
│ • Network │ │ • Exploit │ │ │
└──────────────┘ └──────────────┘ └──────┬───────┘
│
┌──────────────┐ ┌──────────────┐ ┌──────▼───────┐
│ REPORT │◀────│ CLEANUP │◀────│ PERSIST & │
│ │ │ │ │ EXFIL │
│ • Text/JSON │ │ • Remove │ │ • Backdoors │
│ • HTML │ │ artifacts │ │ • Data Disc. │
│ • Findings │ │ • Cover logs │ │ • Exfil Chan.│
└──────────────┘ └──────────────┘ └──────────────┘
```
### AWS 特权提升方法
S7aba 检查 **14+ 种已知的 AWS IAM 特权提升技术**:
| # | 方法 | 风险 | 描述 |
|---|--------|------|-------------|
| 1 | `CreatePolicyVersion` | 高 | 创建管理员策略版本,设为默认 |
| 2 | `SetDefaultPolicyVersion` | 高 | 切换到更旧、权限更大的策略版本 |
| 3 | `PassRole+Lambda` | 高 | 将管理员角色传递给 Lambda 函数 |
| 4 | `PassRole+EC2` | 高 | 使用管理员实例配置文件启动 EC2 |
| 5 | `AttachUserPolicy` | 严重 | 将 AdministratorAccess 附加到自身 |
| 6 | `AttachGroupPolicy` | 高 | 将管理员策略附加到用户组 |
| 7 | `PutUserPolicy` | 严重 | 向用户添加内联管理员策略 |
| 8 | `AddUserToGroup` | 高 | 加入管理员组 |
| 9 | `UpdateAssumeRolePolicy` | 高 | 修改管理员角色信任策略 |
| 10 | `PassRole+CloudFormation` | 高 | 使用管理员角色的 CFN 堆栈 |
| 11 | `LambdaCodeInjection` | 中 | 修改 Lambda 以窃取凭证 |
| 12 | `SSMCommand` | 高 | 通过 SSM 在 EC2 上执行命令 |
| 13 | `CreateAccessKey` | 中 | 为其他用户生成密钥 |
| 14 | `PassRole+Glue` | 高 | 带有管理员角色的 Glue 开发终端节点 |
### Azure 特权提升方法
| # | 方法 | 风险 | 描述 |
|---|--------|------|-------------|
| 1 | `UserAccessAdmin→Owner` | 严重 | 通过用户访问管理员自我分配所有者角色 |
| 2 | `Contributor→RunCommand` | 高 | 通过 Run Command 在虚拟机上执行命令 |
| 3 | `Contributor→CustomScript` | 高 | 在虚拟机上部署自定义脚本扩展 |
| 4 | `Contributor→FunctionApp` | 高 | 创建带有托管身份的 Function App |
| 5 | `VMRunCommand` | 高 | 在虚拟机上运行任意命令 |
| 6 | `AutomationRunbook` | 高 | 创建带有 RunAs 账户的 Runbook |
| 7 | `LogicAppManagedId` | 高 | 带有用于 ARM 访问的托管身份的逻辑应用 |
| 8 | `KeyVaultPolicyMod` | 高 | 修改 Key Vault 访问策略 |
| 9 | `AppSecretAdd` | 高 | 向拥有的应用程序添加凭证 |
| 10 | `ManagedIdentityToken` | 高 | 从 IMDS 提取 MI 令牌 |
| 11 | `TenantConsent` | 严重 | 滥用租户范围的同意权限 |
### GCP 特权提升方法
| # | 方法 | 风险 | 描述 |
|---|--------|------|-------------|
| 1 | `SetIamPolicy` | 严重 | 修改项目 IAM 以授予所有者权限 |
| 2 | `CreateSAKey` | 高 | 为特权 SA 生成密钥 |
| 3 | `GetSAToken` | 高 | 为 SA 生成访问令牌 |
| 4 | `SignBlobJwt` | 高 | 作为服务账户签名 Blob/JWT |
| 5 | `ActAs+Compute` | 高 | 使用特权 SA 创建虚拟机 |
| 6 | `ActAs+CloudFunction` | 高 | 使用特权 SA 部署 Cloud Function |
| 7 | `ActAs+CloudRun` | 高 | 使用特权 SA 部署 Cloud Run |
| 8 | `SetMetadata` | 高 | 通过实例元数据注入启动脚本 |
| 9 | `CloudBuild` | 高 | 使用 Cloud Build SA 提交构建 |
| 10 | `UpdateRole` | 高 | 向自定义角色添加权限 |
| 11 | `DeploymentManager` | 高 | 使用 DM SA 创建部署 |
| 12 | `OrgPolicyOverride` | 严重 | 覆盖组织安全策略 |
### Kubernetes 特权提升方法
| # | 方法 | 风险 | 描述 |
|---|--------|------|-------------|
| 1 | `BindClusterAdmin` | 严重 | 绑定到 cluster-admin 的 ClusterRoleBinding |
| 2 | `EscalateClusterRole` | 严重 | 使用通配符权限修改 ClusterRole |
| 3 | `PrivilegedPod` | 高 | 特权 Pod 逃逸到主机 |
| 4 | `HostPathPod` | 高 | 将主机文件系统挂载到 Pod 中 |
| 5 | `HostPIDPod` | 高 | 具有 hostPID 的 Pod 用于节点进程访问 |
| 6 | `ReadSecrets` | 高 | 读取 SA 令牌和密钥 |
| 7 | `Impersonate` | 高 | 模拟特权用户/SA |
| 8 | `PodExec` | 高 | 进入现有特权 Pod 执行命令 |
| 9 | `PatchWorkload` | 高 | 修改 Pod/Deployment 以进行提权 |
| 10 | `DaemonSetAllNodes` | 高 | 在每个节点上部署 DaemonSet |
| 11 | `MintSAToken` | 高 | 为特权 SA 创建令牌 |
| 12 | `CronJobBackdoor` | 中 | 用于持久执行的 CronJob |
## ☁️ 支持的提供商
| 提供商 | 状态 | 侦察 | 提权 | 横向 | 维持 | 窃取 | 清理 |
|----------|--------|-------|---------|---------|---------|-------|---------|
| **AWS** | ✅ 就绪 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Azure** | ✅ 就绪 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **GCP** | ✅ 就绪 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Kubernetes** | ✅ 就绪 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
所有 4 个提供商均在所有 6 个攻击阶段 + 报告功能中完全实现。
## 📁 项目结构
```
S7aba/
├── s7aba.sh # Main entry point
├── src/
│ ├── lib/
│ │ ├── utils.sh # Utility functions
│ │ ├── logger.sh # Logging & output formatting
│ │ └── cloud_detect.sh # Cloud provider auto-detection
│ └── modules/
│ ├── recon_aws.sh # AWS reconnaissance
│ ├── privesc_aws.sh # AWS privilege escalation
│ ├── lateral_*.sh # Lateral movement modules
│ ├── persist_*.sh # Persistence modules
│ ├── exfil_*.sh # Data exfiltration modules
│ ├── cleanup_*.sh # Cleanup modules
│ └── report.sh # Report generation
├── ui/
│ └── index.html # Web UI landing page
├── docs/
│ └── screenshots/ # Documentation screenshots
├── logs/ # Runtime logs (gitignored)
├── reports/ # Generated reports (gitignored)
├── SECURITY.md # Security policy
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Code of conduct
├── LICENSE # MIT License
└── README.md # This file
```
## 🤝 贡献
欢迎贡献!无论是新的云提供商模块、额外的提权技术、错误修复还是文档改进。
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。
### 贡献领域
- 🔧 **Azure/GCP/K8s 模块** —— 实现侦察、提权、横向移动、维持、数据窃取
- 🧪 **新提权技术** —— 添加新兴的 IAM 滥用方法
- 📊 **报告模板** —— PDF 报告、SARIF 输出、与平台集成
- 🧹 **测试** —— 单元测试、集成测试、CI/CD
- 📖 **文档** —— 教程、演练、视频演示
## 🔒 安全
发现漏洞?请负责任地报告。
请参阅 [SECURITY.md](SECURITY.md) 了解我们的安全政策和披露流程。
**请勿公开披露安全漏洞。**
## 📄 许可证
本项目基于 MIT 许可证授权 —— 详情请参阅 [LICENSE](LICENSE)。
## 🙏 致谢
- [Rhino Security Labs](https://rhinosecuritylabs.com/) — AWS IAM 特权提升研究
- [PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings) — 云安全参考
- [HackTricks Cloud](https://cloud.hacktricks.xyz/) — 云渗透测试方法论
- [Prowler](https://github.com/prowler-cloud/prowler) — 云安全工具灵感
由 @SiteQ8 构建 — Ali AlEnezi 🇰🇼
标签:Bash 脚本, Cloud Exploitation, Cybersecurity, GCP 安全, K8s 渗透, Kubernetes 安全, Pandas, Red Teaming, StruQ, 云渗透, 协议分析, 反取证, 安全评估, 应用安全, 恶意样本开发, 权限提升, 模型鲁棒性, 横向移动, 渗透测试框架, 特权升级, 白盒审计, 编程规范, 防御