Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CloudPrivs — 通过暴力测试从云凭证中确定权限。 | Kitploit
工具/GitHubGitHub/abstractclass/cloudprivs
权限提升漏洞分析信息收集渗透测试云安全
GitHubabstractclass/cloudprivs

CloudPrivs

通过暴力测试从云凭证中确定权限。

查看仓库
69221个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CloudPrivs

我有凭据,接下来呢?

概述

CloudPrivs 是一款利用 Boto3 等 SDK 现有能力来暴力枚举所有云服务权限的工具,以确定给定凭据拥有哪些权限。

该工具适用于渗透测试人员、红队成员及其他安全专业人员。云服务通常不提供查看某组凭据拥有哪些权限的方法,而海量的服务和操作也让手动确认变得异常困难。这意味着凭据集可能存在权限提升的机会,但用户可能永远无法发现,因为他们根本不知道获取的 AWS 凭据可以执行 Lambda 函数。

安装

目前尚未发布到 PyPi,但正在努力中

Pip(简单方式)

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
python -m pip install -e .

这种方式不使用虚拟环境,如果你运行许多 Python 程序则不建议使用。

Pip(推荐方式)

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
python -m  venv venv/
./venv/bin/activate # Windows 使用 activate.ps1
python -m pip install -e .

你也可以使用 Pyenv+virtualenv(如果可用):

root@kitploit:~
git clone https://github.com/AbstractClass/CloudPrivs
cd CloudPrivs
pyenv virtualenv CloudPrivs
pyenv local CloudPrivs
python -m pip install -e .

使用

cloudprivs [提供商] [参数]

提供商

目前唯一可用的提供商是 AWS,但 GCP 支持正在开发中。如果希望提供帮助,请参见#自定义。

AWS

root@kitploit:~
选项:
  -v, --verbose                在输出中显示失败和错误测试
  -s, --services 文本           仅测试指定的服务,而不是所有可用服务
  -p, --profile 文本            要扫描的 AWS 配置文件名称,若未指定则使用环境变量
  -t, --custom-tests 文件名     自定义测试 YAML 文件的位置。阅读文档获取更多信息
  -r, --regions 文本            用于匹配区域的一系列过滤器,例如 "us"、"eu-west"、"ap-north-1"
  --help                        显示此帮助信息并退出。

提示

--region 和 --service 支持多个参数,但每次使用时都必须提供标志,例如 cloudprivs aws -r us -r eu -s ec2 -s lambda。我也不喜欢这样,但这是 Click 的一个限制,我目前尚未找到变通方法。

请注意,region 标志支持部分匹配,最常用的参数是 -r us -r eu,仅覆盖常见区域。

结果按区域分组显示,每行包含一个测试用例及其测试结果。

错误

如果工具在测试过程中遇到意外错误,错误信息会实时输出到 stderr,这可能会打断输出流。如果不想看到这些信息,可以重定向 stderr。

工作原理

与其他需要手动编写每个测试用例的工具(如 WeirdAAL)不同,CloudPrivs 直接查询 Boto3 SDK 来动态生成所有可用服务以及每个服务的所有可用区域列表。

生成完整列表后,默认情况下会不带参数调用每个函数,但也支持为每个操作添加自定义参数(更多信息见#自定义)。

注意:某些 AWS 函数被调用时可能会产生费用。我仅允许以 get_、list_ 和 describe_ 开头的操作,以降低意外成本的风险。这在我的测试中似乎是安全的,但请谨慎使用。其他工具(如 enumerate-iam)也采用了类似做法,但我不能保证调用所有这些函数(即使不带参数)不会意外产生费用。

自定义

CloudPrivs 支持在两个方面轻松扩展/自定义:

  • 提供商
  • 自定义测试

提供商

实现一个新的提供商(例如 GCP)很简单:

  1. 编写测试逻辑,命名约定和结构无关紧要。
  2. 在 CloudPrivs/providers 文件夹下,为你的提供商创建一个新文件夹(例如 gcp)。
  3. 在 CloudPrivs/providers/__init__.py 文件中,将你的提供商添加到 __all__ 变量中,名称必须与文件夹名一致。
  4. 在提供商文件夹中创建一个名为 cli.py 的文件。
  5. 使用 Click 为你的提供商创建一个 CLI,并将 CLI 入口函数命名为 cli(请参考 AWS 提供商)。
  6. 完成!运行 cloudprivs <提供商> 现在应显示你的 CLI。

自定义测试

AWS 提供商支持在调用 AWS 函数时注入参数。提供此功能是因为 AWS 函数通常需要参数才能调用,而且这些参数有时可以是固定变量。这意味着如果我们能提供虚拟变量,就可以增加测试覆盖率。在其他情况下,我们可以注入像 dryrun=true 这样的参数来加快调用速度。

自定义测试存储在位于 cloudprivs/providers/aws/CustomTests.yaml 的 YAML 文件中。

YAML 的结构如下:

root@kitploit:~
---
<服务名称>:
    - <函数名称>:
        args:
            - <参数1>
            - <参数2>
        kwargs:
            arg1: val1
            arg2: val2

注意:函数名称支持部分匹配,这意味着你可以使用像 describe_ 这样的函数名称,指定的参数将注入到所有包含 describe_ 的函数中。规则按“最先找到”原则匹配,因此如果要覆盖通用规则,请将更具体的规则放在通用规则的上方。例如:

root@kitploit:~
ec2:
    - describe_instances
        args:
        kwargs:
            DryRun: True
            NoPaginate: True
    - describe_
        args:
        kwargs:
            DryRun: True

添加新规则

可以通过修改现有的 CustomTests.yaml 文件或创建一个新的 YAML 文件并使用 --custom-tests 标志指定它来添加新规则。新文件将与现有的测试文件合并,重复值将被覆盖,提供的文件优先。

库用法

AWS

AWS 提供商作为一个库编写,以便集成到其他工具中。可以按如下方式使用:

root@kitploit:~
import boto3
from cloudprivs.providers.aws import service
from concurrent.futures import ThreadPoolExecutor

session = boto3.Session('default')
with ThreadPoolExecutor(15) as executor:
  iam = service.Service('iam', session, executor=executor)
  scan_results = iam.scan() # 将覆盖 executor 中列出的所有区域(默认是所有可用区域)
  formatted_results = iam.pretty_print_scan(scan_results)
  print(formatted_results)

所有内容均在代码中完整记录,应该很容易理解。

路线图

该工具功能可用,但远未完成。我正在积极开发新功能,并欢迎贡献。请随时提出 Issue/功能请求,并发送 PR。

计划中的功能

  • 将工具发布到 PyPi
  • GCP 支持
  • JSON 输出
  • 添加单元测试
  • 迁移到 Golang
下载工具