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

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

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

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

工具目录

分类

查看所有分类
Loading categories
cloudfoxable — 创建你自己的、设计上存在漏洞的 AWS 渗透测试靶场 | Kitploit
工具/GitHubGitHub/bishopfox/cloudfoxable
云基础设施安全CTF渗透测试云安全学习与教育实验室与实践
GitHubbishopfox/cloudfoxable

cloudfoxable

创建你自己的、设计上存在漏洞的 AWS 渗透测试靶场

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

cloudfoxable-single-flag

开始黑客之旅: CloudFoxable

阅读博客了解更多详情: 介绍 CloudFoxable:一个游戏化的云黑客沙箱

背景

CloudFox 帮助渗透测试人员和安全专业人员发现云基础设施中可利用的攻击路径。但是,如果你想查找并利用当前环境中尚不存在的服务呢?如果你无法访问企业 AWS 环境,又该怎么办?

这就是 CloudFoxable 的用武之地——一个特意构建的易受攻击 AWS 环境,专门用于展示 CloudFox 的功能,并帮助你更有效地发现潜在攻击路径。CloudFoxable 从 CloudGoat、flaws.cloud、flaws2.cloud 和 Metasploitable 1-3 中汲取灵感,以 CTF 形式提供了大量 flag 和攻击路径。

与 CloudGoat 和 IAM-Vulnerable 类似,CloudFoxable 会在用户管理的实验账户中部署特意构建的易受攻击 AWS 资源,供用户学习如何识别和利用云漏洞。不过,与 flaws.cloud 更相似的是,你的体验更偏向 Web 端且具有引导性。

  • 挑战总数: 18

Terraform 设置与基本用法

CloudFoxable 使用 Terraform 来部署和管理特意构建的易受攻击 AWS 基础设施。本节提供安装 Terraform 以及部署、修改和移除 CloudFoxable 资源所需的最少指导。

点击展开

安装 Terraform

在部署 CloudFoxable 之前,必须先在本机安装 Terraform。

请按照适用于你操作系统的官方 HashiCorp 安装指南操作:

https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli

验证安装:

root@kitploit:~
terraform version

安装成功后将会打印 Terraform 版本。

前置条件

在运行 Terraform 之前:

  • 你必须能够访问一个由你控制的 AWS 账户。
  • 必须在本机配置 AWS 凭证(例如,通过 aws configure、环境变量或假定角色)。
  • 你应该预期 Terraform 会在此账户中创建和销毁 AWS 资源。

重要提示: CloudFoxable 部署的是特意构建的易受攻击的基础设施。 请勿在生产环境、共享或企业 AWS 账户中部署。

Terraform 工作流程

所有 Terraform 命令都应在以下目录中运行:

root@kitploit:~
cd cloudfoxable/aws

初始化 Terraform

初始化工作目录并下载所需的提供商插件:

root@kitploit:~
terraform init

每个工作区需要执行一次此操作(或在提供商配置更改时执行)。

预览变更(可选)

若要查看 Terraform 将要创建、修改或销毁的内容:

root@kitploit:~
terraform plan

部署 CloudFoxable

要部署当前已启用的挑战:

root@kitploit:~
terraform apply

在提示时输入 yes 确认。

销毁所有资源(清理)

要移除所有由 CloudFoxable 创建的资源:

root@kitploit:~
terraform destroy

在提示时输入 yes 确认。

常用 Terraform 命令

命令描述
terraform init初始化 Terraform 项目
terraform plan显示提议的基础设施变更
terraform apply创建或更新资源

模块化方法

与 IAM-Vulnerable 类似,某些挑战默认启用(那些几乎没有或没有成本影响的挑战),而其他挑战默认禁用(那些部署后会产生成本的挑战)。这样,你可以根据需要启用特定模块。不过,启用/禁用挑战的机制与 IAM-Vulnerable 略有不同。

在 cloudfoxable.bishopfox.com 中,每个挑战都会告诉你是否需要做任何 terraform 更改(即部署某些内容)才能完成挑战。操作方式是编辑 terraform.tfvars,并根据需要将 enabled 标志从 false 更新为 true。

下面是一个示例:

root@kitploit:~
############################
# Enabled/Disabled Challenges
############################

# Always on (Low or No cost)
challenge_foo_enabled = true
challenge_bar_enabled = true
challenge_alice_enabled = true

# Enable as needed (These challenges incur cost)
challenge_bob_enabled = false
challenge_mallory_enabled = false

要启用 mallory 挑战,只需更新下面这一行:

root@kitploit:~
challenge_mallory_enabled = true

启用挑战后,你需要重新运行 terraform apply:

root@kitploit:~
terraform apply

现在你已经部署了 mallory 挑战。

清理

只要你想移除所有由 CloudFoxable 创建的资源,就可以运行以下命令:

  1. cd cloudfoxable/aws
  2. terraform destroy

使用 Docker 构建

如果你使用的是 Windows,在部署某些挑战时可能会遇到平台特定的限制问题。为避免这种情况,我们提供了一个 Dockerfile,帮助你在不同系统中构建并在一致的环境中运行该应用程序。

点击展开

克隆仓库

首先将仓库克隆到本地机器:

root@kitploit:~
git clone https://github.com/BishopFox/cloudfoxable.git
cd cloudfoxable

构建 Docker 镜像

克隆仓库后,使用以下命令构建 Docker 镜像。这将确保你使用的是全新的构建,不包含任何缓存层:

root@kitploit:~
docker build --no-cache -t cloudfoxable .

在 Windows 上使用 PowerShell 运行 Docker

如果你使用的是 Windows,请使用以下 PowerShell 命令运行 Docker 容器。该命令将:

  • 将你的 AWS 凭证文件挂载到容器中,以实现持久化。
  • 将你的 Terraform(状态)文件挂载到容器中,以实现持久化。你可以通过 nano 在容器中直接编辑 terraform.tfvars,它会通过绑定挂载同步到你的宿主机。
  • 启动一个交互式会话,你可以在其中运行 Terraform 命令。
root@kitploit:~
cd aws
docker run -it -v $env:USERPROFILE/.aws/credentials:/root/.aws/credentials -v ${PWD}:/cloudfoxable/aws cloudfoxable

还想了解更多?

https://github.com/iknowjason/Awesome-CloudSec-Labs

贡献

如果你想添加一个新挑战,以下是 fork 该仓库后在 CloudFoxable 中的操作步骤:

  • cp aws/challenges/1_challenge_template aws/challenges/challenge_name
  • 将挑战模板文件夹和 challenge_name.tf 文件重命名为你的挑战名称。
  • 添加你的 terraform 代码
  • 在 aws/variables.tf 中新建一个变量
    root@kitploit:~
    variable "challenge_name_enabled" {
    description = "Enable or disable challenge_name challenge (true = enabled, false = disabled)"
    type        = bool
    default     = false
    }
    
  • 将其添加到 terraform.tfvars.example 中的“启用/禁用挑战”部分。指定其默认启用(低成本/零成本)还是默认禁用(需付费 $$)
    root@kitploit:~
    challenge_name_enabled = false
    
  • 将模块添加到 aws/main.tf
    root@kitploit:~
    module "challenge_challenge_name" {
      source = "./challenges/challenge-name"
      count = var.challenge_name_enabled ? 1 : 0
      aws_assume_role_arn = (var.aws_assume_role_arn != "" ? var.aws_assume_role_arn : data.aws_caller_identity.current.arn) 
      account_id = data.aws_caller_identity.current.account_id
      aws_local_profile = var.aws_local_profile
      user_ip = local.user_ip
      }
    
  • 将挑战名称添加到 enabled_challenges 本地变量:
    root@kitploit:~
      var.challenge_name_enabled ?                   "name                      | $12/month    |" : ""
    
下载工具
terraform destroy移除所有已部署的资源