专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

rhinosecuritylabs/cloudgoat Docker 镜像 - 轩辕镜像

cloudgoat
rhinosecuritylabs/cloudgoat
rhinosecuritylabs
CloudGoat是Rhino Security Labs的“设计即漏洞”AWS部署工具,用于通过创建夺旗赛(CTF)风格场景来磨练云网络安全技能,允许用户探索、识别和利用AWS环境中的漏洞。
3 收藏0 次下载
🙃 代码没问题,结果发布失败在拉镜像
中文简介版本下载
🙃 代码没问题,结果发布失败在拉镜像

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账户需有足够权限创建和销毁资源。
  • 工具:jq。

快速开始

安装步骤

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

$ git clone [***]
$ 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_***

从访问“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支持Python库“argcomplete”实现参数自动补全(Linux用户支持良好,OSX用户需升级bash至4.2+)。安装步骤如下:

  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可打印场景作者定义的场景简要摘要。

功能请求和错误报告

若有功能请求或错误报告,请在此提交。

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

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

贡献指南

非常感谢对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 相关镜像 →
rhinosecuritylabs/pacu logo
rhinosecuritylabs/pacu
暂无描述
310K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

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

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
rhinosecuritylabs/cloudgoat
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.