轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
cloudgoat

rhinosecuritylabs/cloudgoat

rhinosecuritylabs

CloudGoat是Rhino Security Labs的“设计即漏洞”AWS部署工具,用于通过创建夺旗赛(CTF)风格场景来磨练云网络安全技能,允许用户探索、识别和利用AWS环境中的漏洞。

3 次收藏下载次数: 0状态:社区镜像维护者:rhinosecuritylabs仓库类型:镜像最近更新:3 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。
点击查看

CloudGoat (☁️🐐)

镜像概述和主要用途

CloudGoat是Rhino Security Labs开发的“设计即漏洞”AWS部署工具。它允许用户通过创建和完成多个夺旗赛(CTF)风格的场景来磨练云网络安全技能。每个场景由AWS资源组合而成,提供结构化学习体验,场景难度各异,部分场景有多种解决路径。用户作为***者,需探索环境、识别漏洞并利用漏洞达成场景目标。

核心功能和特性

  • 专注、精选、高质量的学习体验:每个场景提供实验、探索和实践云安全技能的机会。
  • 完善的文档:场景文档详细,便于理解难度、内容、结构和所需技能。
  • 易于安装和使用:简化流程,确保用户能专注于学习而非工具配置。
  • 模块化:每个场景是独立学习环境,可单独启动、重置或关闭。
  • 可扩展性:核心组件(Python应用和场景)设计支持社区扩展。

警告

警告1:CloudGoat会在您的账户中创建故意存在漏洞的AWS资源。请勿在生产环境或敏感AWS资源旁部署CloudGoat。

警告2:CloudGoat仅能管理其创建的资源。若在场景中自行创建资源,需在运行destroy命令前手动删除。

要求

  • 操作系统:Linux或MacOS(Windows不正式支持)。参数自动补全需bash 4.2+(Linux或OSX需升级bash)。
  • Python:Python3.6+。
  • Terraform:≥0.14,需安装并添加到$PATH。
  • AWS CLI:需安装并添加到$PATH,且AWS账户需有足够权限创建和销毁资源。
  • 工具:https://stedolan.github.io/jq/%E3%80%82

快速开始

安装步骤

确保系统满足上述要求,执行以下命令:

$ git clone https://github.com/RhinoSecurityLabs/cloudgoat.git
$ cd cloudgoat
$ pip3 install -r ./core/python/requirements.txt
$ chmod u+x cloudgoat.py

配置命令

建议运行以下配置命令以节省后续时间:

$ ./cloudgoat.py config profile
$ ./cloudgoat.py config whitelist --auto

创建场景后,项目根目录会生成以场景名和唯一ID命名的文件夹,内含start.txt文件(包含开始场景所需资源信息),有时还会创建cloudgoat/cloudgoat.pub SSH密钥对。

注意:不要删除或修改场景实例文件夹及内部文件,否则可能导致CloudGoat无法管理场景资源。完成场景后,手动删除自行创建的资源,再运行destroy命令。

Docker镜像使用方法

选项1:使用默认入口点运行

console
$ docker run -it rhinosecuritylabs/cloudgoat:latest

选项2:使用AWS配置和凭据运行

警告:此命令会将本地AWS配置文件挂载到Docker容器中,任何有权访问容器的用户都能获取主机的AWS凭据。

console
$ docker run -it -v ~/.aws:/root/.aws/ rhinosecuritylabs/cloudgoat:latest

可用场景

iam_privesc_by_rollback(小型/简单)

$ ./cloudgoat.py create iam_privesc_by_rollback

从权限高度受限的IAM用户开始,***者可查看IAM策略的历史版本并恢复允许完全管理员权限的版本,实现权限提升。

查看场景页面

lambda_privesc(小型/简单)

$ ./cloudgoat.py create lambda_privesc

以IAM用户Chris身份开始,***者发现可 assume 具有完全Lambda访问权限和传递角色权限的角色,利用这些权限实现权限提升,获取完全管理员权限。

注意:此场景可能需要创建AWS资源,CloudGoat仅能管理其创建的资源,需在运行./cloudgoat destroy前手动删除自行创建的资源。

查看场景页面

cloud_breach_s3(小型/中等)

$ ./cloudgoat.py create cloud_breach_s3

以无访问权限的***用户身份开始,利用配置错误的反向代理服务器查询EC2元数据服务获取实例配置文件密钥,使用这些密钥发现、访问并窃取S3存储桶中的敏感数据。

查看场景页面

iam_privesc_by_attachment(中型/中等)

$ ./cloudgoat.py create iam_privesc_by_attachment

以权限非常有限的用户身份开始,***者利用实例配置文件附加权限创建具有更高权限的新EC2实例,通过访问该实例获取目标账户的完全管理权限,完成场景目标:删除cg-super-critical-security-server。

注意:此场景可能需要创建AWS资源,需在运行./cloudgoat destroy前手动删除自行创建的资源。

查看场景页面

ec2_ssrf(中型/中等)

$ ./cloudgoat.py create ec2_ssrf

以IAM用户Solus身份开始,***者发现对Lambda函数有只读权限,其中硬编码的密钥指向易受服务器端请求伪造(SSRF)***的EC2实例上的Web应用。利用漏洞从EC2元数据服务获取密钥,访问私有S3存储桶,调用Lambda函数完成场景。

查看场景页面

ecs_takeover(中型/中等)

$ ./cloudgoat.py create ecs_takeover

从访问外部网站开始,***者需发现远程代码执行(RCE)漏洞,利用RCE获取网站容器可访问的资源,滥用ECS配置错误获取IAM权限,强制ECS将目标容器重新调度到已入侵的实例。

查看场景页面

rce_web_app(中型/困难)

$ ./cloudgoat.py create rce_web_app

以IAM用户Lara身份开始,探索负载均衡器和S3存储桶寻找漏洞,通过易受***的Web应用的RCE漏洞获取机密文件,最终访问高度安全的RDS数据库实例。或以IAM用户McDuck身份开始,枚举S3存储桶,获取SSH密钥直接访问EC2服务器及数据库。

查看场景页面

codebuild_secrets(大型/困难)

$ ./cloudgoat.py create codebuild_secrets

以IAM用户Solo身份开始,枚举并探索CodeBuild项目,发现其中未受保护的IAM用户Calrissian的密钥。以Calrissian身份操作,发现RDS数据库,利用RDS快照功能获取场景目标:一对秘密字符串。或探索SSM参数获取EC2实例的SSH密钥,通过元数据服务获取实例配置文件密钥,最终访问数据库获取秘密字符串。

注意:此场景可能需要创建AWS资源,需在运行./cloudgoat destroy前手动删除自行创建的资源。

查看场景页面

ecs_efs_***(大型/困难)

$ ./cloudgoat.py create ecs_efs_attack

从访问“ruse”EC2实例开始,用户利用实例配置文件后门运行中的ECS容器,通过容器元数据API获取凭据,使用这些凭据在具有特定标签的任何EC2实例上启动会话。***者修改Admin EC2的标签并启动会话,端口扫描子网寻找开放的EFS,挂载后获取弹性文件系统中的标志。

查看场景页面

使用指南

CloudGoat命令基本结构:

$ ./cloudgoat.py [ 命令 ] [ 子命令 ] [ --参数名 ] [ 参数值 ]

create

create [ 场景名 ]在指定AWS账户中部署场景。若场景已存在,将销毁并重新创建。

提示:场景名中可使用/scenarios,支持bash自动补全。

--profile参数为必填项(出于安全考虑,CloudGoat不使用系统默认AWS配置文件或环境变量指定的默认配置文件),可通过config profile设置默认值以避免重复输入。

list

list显示all(所有)、undeployed(未部署)或deployed(已部署)场景的信息,或已部署[ 场景名 ]的详细信息。

destroy

destroy [ 场景名 ]关闭并删除场景的云资源,将场景实例文件夹移至./trash(便于恢复Terraform状态文件等)。指定all可销毁所有活动场景。

提示:CloudGoat仅能管理其创建的资源。若在场景中自行创建资源,需在运行destroy前手动删除。

config

config用于管理CloudGoat安装的各个方面,特别是IPwhitelist(白名单)、默认AWSprofile(配置文件)和argcomplete(参数自动补全)。

whitelist

CloudGoat需知道部署潜在漏洞资源时应白名单化的IP地址,这些IP存储在项目根目录的./whitelist.txt文件中。提供的IP可不使用CIDR格式,CloudGoat会为裸IP添加/32。可添加--auto参数,CloudGoat将通过curl请求ifconfig.co自动获取IP并创建白名单文件。

profile

CloudGoat不会使用系统默认AWS CLI配置文件或环境变量指定的默认配置文件,但可通过config profile命令指定AWS配置文件名称,该名称将保存在项目根目录的config.yml文件中。只要该文件存在,CloudGoat将使用其中列出的配置文件名称,无需--profile标志。可随时运行config profile查看默认配置文件名称并验证config.yml格式,也可手动创建config.yml(需确保格式正确)。

argcomplete

CloudGoat支持https://github.com/kislyuk/argcomplete%E5%AE%9E%E7%8E%B0%E5%8F%82%E6%95%B0%E8%87%AA%E5%8A%A8%E8%A1%A5%E5%85%A8%EF%BC%88Linux%E7%94%A8%E6%88%B7%E6%94%AF%E6%8C%81%E8%89%AF%E5%A5%BD%EF%BC%8COSX%E7%94%A8%E6%88%B7%E9%9C%80%E5%8D%87%E7%BA%A7bash%E8%87%B34.2+%EF%BC%89%E3%80%82%E5%AE%89%E8%A3%85%E6%AD%A5%E9%AA%A4%E5%A6%82%E4%B8%8B%EF%BC%9A

  1. 使用CloudGoat的requirements.txt安装argcomplete:$ pip3 install -r core/python/requirements.txt
  2. 在bash中运行argcomplete提供的全局Python参数补全脚本:$ activate-global-python-argcomplete
  3. sourcing上一步激活命令输出的补全脚本路径,或重启shell会话:$ source [ /补全脚本路径 ]

若无法或不愿配置argcomplete,CloudGoat支持将目录路径用作场景名,通过/scenario/[ 场景名 ]或./[ 场景实例名 ]实现shell自动补全。

help

help提供命令的上下文帮助,可放在命令前后,例如:

  • $ ./cloudgoat.py create help
  • $ ./cloudgoat.py destroy help
  • $ ./cloudgoat.py list help
  • $ ./cloudgoat.py config help

此外,$ ./cloudgoat.py [ 场景名 ] help可打印场景作者定义的场景简要摘要。

功能请求和错误报告

若有功能请求或错误报告,请https://github.com/RhinoSecurityLabs/cloudgoat/issues/new%E3%80%82

错误报告:需包含足够重现错误的描述(包括回溯和重现步骤),并在提交前检查是否已有相同报告。

功能请求:请求需具体,并检查是否已有相同请求。

贡献指南

非常感谢对CloudGoat的贡献。若想帮助改进项目,请遵循以下准则:

  1. CloudGoat中的Python代码应遵循Python风格约定,优先考虑可读性和可维护性。
  2. 遵循良好的git实践:使用拉取请求,倾向于功能分支,编写清晰的提交消息。
  3. CloudGoat使用black和flake8(Python语法和风格检查器)。提交代码前,确保对core/python/中的所有Python文件和cloudgoat.py运行flake8,然后运行black(black的决策优先于flake8)。这两个工具在core/python/requirements.txt中被注释掉(普通用户无需安装)。
  4. CloudGoat代码应始终使用BSD 3-clause许可证。

变更日志

  • 2019年6月24日:CloudGoat 2.0发布!

免责声明

CloudGoat是不提供任何担保的软件。使用CloudGoat,您对由此产生的任何和所有结果承担全部责任。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 cloudgoat 镜像标签

docker pull docker.xuanyuan.run/rhinosecuritylabs/cloudgoat:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull rhinosecuritylabs/cloudgoat:<标签>

更多 cloudgoat 镜像推荐

rhinosecuritylabs/pacu logo

rhinosecuritylabs/pacu

rhinosecuritylabs
暂无描述
3 次收藏1万+ 次下载
3 个月前更新

查看更多 cloudgoat 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
rhinosecuritylabs/cloudgoat
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱