壮大的 AWS 破绽演习靶场引见——CloudGoat | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

壮大的 AWS 破绽演习靶场引见——CloudGoat

申博_安全工具 申博 120次浏览 已收录 0个评论

Sunbet官网

Sunbet官网是2018年亚洲最具有公信力的网上娱乐平台,官方网直营、人气火爆、老品牌信誉有保障。Sunbet官网为广大会员提供会员开户注册、代理加盟。

弁言:辨认 AWS 环境中的平安风险

在 AWS 环境下准确实行渗入测试是一项难题而庞杂的使命,须要种种差别范畴的学问和实践。这项使命须要掌握 AWS 学问和红队学问才实行一个有价值的测试。

在这一点上的题目是,如今没有任何简朴的要领来测试和进修这些妙技。举个例子: 关于 Web 应用顺序,有林林总总的资本可以反复直接测试你的学问、妙技。 这些资本包括 bug 赏金顺序、 CTF和易受进击的设想虚拟机和 Web 应用顺序,你可以在个人电脑上设置这些虚拟机 和 Web 应用顺序以举行种种平安测试(比方 OWASP 的 WebGoat)。

如今还没有针对 AWS 环境进修渗入测试和进击手艺的这类资本。而且云盘算,天天都被越来越多的天下各地的公司所采纳,这意味着进击者也被吸收进来,也会越来越多。 没有人情愿在本身的专业环境中测试新的进击手艺,不管它是一个开辟环境、测试环境照样临盆环境;也没有人情愿设置一个易受进击的环境来手动实行进击,由于它可以会向他们不知道的外部风险开放帐户。

为了满足这些需求,我们建立了 CloudGoat ——一个低价、简朴、易受进击的 AWS 环境。在这里,你可以随便布置和封闭环境。

CloudGoat 的 GitHub 堆栈: https://github.com/RhinoSecurityLabs/cloudgoat

CloudGoat: 一个软弱的、基于按需的 AWS 环境

CloudGoat 是用于布置(并封闭)一组易受进击的 AWS 资本,用于教授教养 AWS 的平安风险学问。 我们要确保我们包括的一切破绽只能被给定的 AWS 帐户的人接见和应用。 这包括在白名单中尽量接见你供应的个人 IP 地点的敏感资本。

在默许状态下,CloudGoat 可以平安地启动到 AWS 帐户并坚持运转,而没必要忧郁来自外部介入者的要挟。

注重: 假如你在进击环境变动了环境设置,则可以会变动环境的平安性。 为了防止这类状况,作为进击的一部份,是不许可入站平安组划定规矩接见易受进击实例的未知 IP 地点,也不许可将个人 / 私有信息上传到 CloudGoat 布置的易受进击资本。 发起将 CloudGoat 布置到它本身的帐户中,独立于任何真正的 AWS 资本,或许至少是一个零丁的地区,如许在测试中的平安性更高。

万一在测试历程当中搞砸了一些事变,你可以会忧郁你做出的一些转变会影响后续的操纵,或许是本日测试历程临时完毕了。那末,只要把运转剧本封闭,CloudGoat 就可以从你的帐户中消灭。

CloudGoat 支撑 Pacu

开辟 CloudGoat 的主要驱动顺序之一是支撑 Pacu 的研讨和开辟,Pacu 是在一个开源的AWS 进击框架,我在这篇文章中说起过。

Pacu 将于8月8日星期三在 BSidesLV 上正式宣告,Spencer Gietzen 将在大会上做一个关于 AWS 平安研讨的演讲,以及这项研讨对我们构建 Pacu 的影响。 Pacu 将会在那次活动上完整开源宣告。

编辑(2018/8/9) : Pacu 在 GitHub 上的堆栈地点:https://github.com/RhinoSecurityLabs/pacu

CloudGoat 和 Pacu 如今是紧密联系在一起的,由于我们的目的是让 CloudGoat 支撑 Pacu 中可用的进击模块。 这将许可 Pacu 用户测试针对 AWS 环境的进击,而不须要针对真正的体系,也不须要动用他们本身的资本。

装置设置: 它包括哪些内容以及它是怎样事情的?

CloudGoat 布置剧本运用 Terraform 和 Python 中的一些定制组件来启动所需的资本到你的帐户中。 它将天生环境中运用的暗码和密钥对,并将它们输出到 CloudGoat 事情目次中的一个文件中。 在进击环境时,这些凭据可以作为出发点。内里有多个 IAM 用户,所以一个好的出发点是猎取个中某个用户的接见密钥或暗码,就好像你只是拿到了这点信息,再没有更多的信息了。

CloudGoat 将以下资本启动到你的 AWS 帐户(当前位于 us-west-2,假如可以的话) :

· 1 个 CloudTrail

· 1 个 GuardDuty 检测器

· 1 个 Lambda 函数

· 2 个 S3 存储桶

· 1 个 Elastic 弹性负载均衡器

· 1个 EC2实例

· 3个 EC2平安组

· 3 个 IAM 用户

· 3 个 IAM 角色

· 1 个 IAM group

· 1 个 IAM 实例设置文件

· 1 个 Lightsail 实例

· 1 个 CodeBuild 项目

· 1 个 Glue 开辟端点(默许状况下是禁用的)

EC2平安组的设置只许可从你在布置时供应的特定 IP 地点局限举行入站接见。 在运转封闭剧本时,一切这些资本都将从 AWS 帐户中删除。

AWS API 本钱-CloudGoat 的托管高贵吗?

不,本钱并不高! 假如 CloudGoat 运转在一个没有启用 AWS 免费层的帐户中,依据你的运用状况,预计天天的本钱大约为1-3美圆。 我们发起布置环境,实行测试和进击,然后在当天完成时封闭环境,以确保不会碰到任何大的不测的收费。 环境可以很快地被建立和损坏,从而使其成为抱负的解决方案。

CloudGoat 破绽及进击载体

CloudGoat 是运用 Pacu (Rhino 平安实验室出品的 AWS 后破绽应用进击东西)构建的,这意味着我们的目的是使一切 Pacu 模块都能在 CloudGoat 环境中运用。 跟着 Pacu 的不断发展,CloudGoat 也将继承发展,我们将继承宣告其他细致引见怎样运用 Pacu 来进击这个环境的文章。

出发点:

下面的列表是差别环境中的差别的地方,它们在实在的攻防场景中是故意义的。 应用最初的接见权限来相识更多关于环境的信息,并在全部环境中举行扩大。

· 经由过程 SSH 接见 EC2实例

· IAM 用户“Joe”(数据库治理员)的接见密钥

· IAM 用户“Bob”(EC2治理员)的接见密钥

· IAM 用户“Administrator”(帐户治理员)的暗码

· 经由过程 SSH 接见 Glue 开辟端点(假如你已启用了它)

差别用户和效劳器的凭据(IAM 密钥对和暗码)和效劳器的 IP 地点将被输出到 CloudGoat 根目次中的“credentials.txt”文件中,任何密钥(SSH/GPG)都将存储在“./keys”文件夹。

目的:

当进击任何 AWS 环境时,有许多目的须要对准。 这个列表只是为了展如今 AWS 环境中实行渗入测试时应当记着的一些内容。

· 权限提拔

· 躲避日记纪录和监控

· 数据和信息罗列

· 数据外泄

· 耐久接见

这些不一定与 CloudGoat 直接相干,但主要的是要指出,歹意进击者并不遵照我们渗入测试职员和平安专家遵照的划定规矩,所以不要以为这是唯一一种可以被用来进击实际天下中的环境的要领。 下面的列表包括了一些这类进击的例子。

· 烧毁(删除资本)

· 赎金(将你的资本 / 数据作为人质)

· 资金 / 资本干涸(比方分布式拒绝效劳进击进击)

· 藏匿挖矿(在你的账户中启动加密钱银矿工)

· 针对客户的进击(针对你公然供应效劳的用户,也就是你的主顾)

场景破绽

正告: 以下部份包括环境中差别进击向量和破绽的损坏者。

假如你愿望在没有内部细节的状况下最先将 CloudGoat 作为目的,请直接跳到下面的结论。

下面的列表细致说清楚明了 CloudGoat 环境在布置到一个帐户以后的许多缺点(在撰写本博客时,为了猎取最新的列表,请拉取最新的 CloudGoat GitHub)。

  1. EC2实例运转的 web 效劳器许可你发送恣意 HTTP 要求并读取其相应。 你能用它进一步猎取信息吗?

  2. EC2实例附加了一个 IAM 实例设置文件,这是不是对权限提拔有协助?

  3. EC2实例在其用户数据中存储了一些内容,你可以应用它来取得进一步的接见吗?

  4. Lambda函数具有与你差别的 IAM 特权,你可以滥用它们来晋级特权或竖立后门吗? 你可以没法直接挪用函数,那末你能做什么呢? (提醒: DynamoDB)

    GadgetToJScript利用分析

    0x00 前言 GadgetToJScrip能够将.Net程序封装在js或vbs脚本中,相比于James Forshaw开源的DotNetToJScript,修改了反序列化调用链,能够绕过AMSI,添加了绕过.Net 4.8+阻止Assembly.Load的功能。 本文用来记录研究细节,分析利用思路,简要修改原工程,更便于测试Payload,分享同SILENTTRINITY结合的方法。 0x01 简介 本文将要介绍以下内容: · GadgetToJScript的代码分析和实现逻辑 · 为了便于测试Payload的修改方法 · 利用分析 · 同SILENTTRINITY结合的方法 0x02 GadgetToJScript的代码分析和实现逻辑 1.代码分析 (1)templates文件夹 保存有js、vbs和hta的模板。 模板文件同DotNetToJScript基本相

  5. Lightsail 实例是运用默许设置设置的,你能接见它吗?

  6. CloudTrail正在纪录一切的东西—- 你可以躲避,损坏,或许给它或许那些稍后可以检察这些东西的人带来题目吗?

  7. 你可以可以重新启动 EC2实例,你可以运用该学问取得对它的长途接见吗?

  8. EC2实例运转的是亚马逊 Linux 2,你能运用装置在它上面的默许软件来取得对它的长途接见吗?

  9.  IAM 权限“ CreatePolicyVersion”接收“-set-as-default”标志,但不须要“ SetDefaultPolicyVersion”权限来运用它,这对你有什么协助呢?

  10. GuardDuty 正在运转,你怎样能回避侦察或使它信托你?

  11. 有些用户没有设置暗码,你能应用这一点来接见他们的帐户吗?

  12. 有些用户只要接见密钥,你能应用这一点来接见他们的帐户吗?

  13. 内里有多个 EC2平安组,你可否运用差别划定规矩发明并取得接见新效劳的权限吗?

  14. 你能发明弹性负载均衡器和 EC2实例中的毛病设置吗?

  15. 运用 CodeBuild 的开辟职员没有遵照最好实践—- 你能接见他们项目中的密钥吗?

  16. S3存储桶没有启用版本掌握或 MFA-delete,你能隐蔽你的轨迹吗?

  17. 内里有一个未运用的组,你可以将你的用户增加到这个组以取得特权吗?

  18. 内里有未运用的角色,你怎么能假定他们取得他们的特权?

  19. 一个 S3存储桶许可写接见,你能掩盖任何文件以取得进一步的接见吗?

  20. Glue 开辟端点附加了一个角色,你可以经由过程 SSH 接见这个角色来晋级特权吗? (假如你已启用它)

以至可以有一些没有纪录的进击载体。看看你能找到什么!

CloudGoat 是开源的项目,迎接你能为此做出任何孝敬。 这类环境扩大得越多,AWS 社区的平安意识就越强。

我运用 CloudGoat 是不是须要取得 AWS渗入测试的受权?

构建 CloudGoat 的时刻我们就斟酌到了 AWS 的可接收运用政策( https://AWS.amazon.com/aup/ )。 对你来讲,这意味着我们已确保 CloudGoat 在你的环境中翻开的进击依然相符我们对 AWS 可接收的运用政策的诠释,你不须要在你的账户中请求一个渗入测试受权。 当你进击你的环境时,一定要记着它们的划定规矩,由于违背它们会致使严峻的效果。 假如你以为进一步接见 CloudGoat 环境的唯一要领是明白地损坏 AWS 可接收的运用政策,那末你就错了,你不应当如许做。

CloudGoat 2简介

Rhino 平安实验室很愉快地宣告 CloudGoat 2 的正式宣告,这是我们的下一代“易受进击的设想” AWS 布置东西。

在 AWS 中举行渗入测试依然黑白常新的范畴。然则缺少一个东西来协助人们进修和实践,以便举行一次周全的 AWS 五角大楼所需的普遍妙技。 在五角星的其他范畴,这不是题目。 比方,对进修 Web 应用顺序感兴趣的人有许多资本,可以直接以可反复的体式格局进修和测试妙技和手艺。 有CTF比赛以及设想了一些易受进击的虚拟机或 Web 应用顺序,它们为进修供应了当地的沙盒环境。 CloudGoat 将一样的主意应用到云环境中,并许可用户基于 Rhino 平安实验室研讨职员在野外观察到的破绽故意建立软弱的 AWS 环境。

你可以在我们的 GitHub 上找到 CloudGoat。

CloudGoat 2 的新特征

CloudGoat 2以多种体式格局扩大和革新了本来 CloudGoat 的功用。 起首,CloudGoat 的用户界面已获得了极大的革新。 如今,用户可以在 python 剧本中为场景建立或烧毁基础架构,该剧本支撑一切敕令和参数的协助音讯。

场景

CloudGoat 2还引入了“场景”。 场景是具有明白定义的进击途径和目的的自包括的进修环境。 每一个场景都由已建立的基础架构、当前的进击途径和逐渐练习训练的细致申明文档支撑。 下图是稍微修悛改的 Web 应用顺序进击途径图,显现用户可以有多个进击途径,并供应提醒。

CloudGoat 2中包括的场景以下:

· rce_web_app——找到隐秘端点,并应用 Web 应用顺序长途代码实行破绽,以取得EC2的 root权限来接见内部的 VPC

· iam_privesc_by_attachment: iam privesc – 发明并附加现有实例设置文件以提拔特权

· iam_privesc_by_rollback罗列 IAM 战略版本并回滚到具有更高权限的旧版本

· codebuild_secrets——探究 CodeBuild 和 SSM 以发明平安数据库中的明文密钥

· ec2_ssrf ——查找并应用 EC2元数据效劳,运用 Web 应用顺序中的 SSRF 破绽猎取密钥

CloudGoat 是为平安社区建立的,我们勉励每一个人都介入进来。 CloudGoat 2的一切组件在设想时都斟酌到了扩大和社区孝敬。

装置和设置 CloudGoat 2

要最先运用 CloudGoat,你起首须要登录到 AWS 掌握台(假如你已有帐户) ,或许建立一个 AWS 免费试用帐户并登录到掌握台。 假如还没有这类账户,请确保在 root 帐户上启用了 MFA 并删除了一切 root 接见密钥。 为了遵照最好实践,我们将建立一个 IAM 用户,并附加 AWS 治理的“administration access”战略。 不要运用 root 帐户来布置 CloudGoat,这一点非常主要。

建立 IAM 用户

运用 CloudGoat 的下一步是建立一个 IAM 用户。 你将须要导航到 AWS 掌握台的 IAM 部份,并从左边菜单挑选“用户” ,然后挑选“增加用户” ,以下图所示。

鄙人面的截图中,输入帐户的用户名并赋予帐户编程接见权限,这将为用户天生密钥。 我们将运用这些密钥在 AWS 敕令行界面中设置设置文件。 下面的图片显现了作者建立了一个名为“ cloudgoat”的用户,并为用户供应了编程接见。

下一步是将现有战略直接附加到新用户。 挑选“直接附加现有战略” ,以下面的屏幕截图所示。 CloudGoat 须要治理接见,因而挑选出如今列表顶部的“ AdministrativeAccess”战略。

接下来的截图是为新建立的用户分派一个标签,然则在本练习训练中我们不会运用到这个特征。 点击“Next: Review”。

搜检信息以确保其准确性,然后点击末了的“建立用户”按钮。 将显现一个“胜利”的音讯,你的 AWS 键将被显现出来。 这是唯一可以检索 AWS 接见密钥和 AWS 隐秘密钥的时候,因而保留它们非常主要。 假如这些秘钥丧失了,你将须要天生一组新的密钥。 下面的屏幕截图显现了一个胜利建立的用户和发给该用户的密钥,这些密钥是建立 CloudGoat 环境所必需的。

设置 AWS-CLI

接下来,我们须要在 AWS 敕令行界面中设置一个设置文件。 运转以下敕令装置 AWS CLI 并设置 AWS CLI 设置文件。 当涌现提醒时,输入前面步骤中天生的 AWS 接见密钥和隐秘接见密钥:

sudo apt-get install awscli
aws configure --profile cloudgoat

如今我们预备建立我们的第一个 CloudGoat 场景!

建立一个场景

由于我们要故意建立易受进击的 AWS 环境,所以只要目的用户才接见它们是很主要的。 CloudGoat 运用一个白名单来限定接见,只许可来自特定 IP 地点或 CIDR 局限的网络连接。 运转以下敕令并按照提醒将你的大众 IP 地点列入白名单:

./cloudgoat.py config whitelist

设置场景的末了一步是运用我们设置的 AWS CLI 设置文件运转“create”敕令,并指定要建立的场景。 可以在 AWS 帐户中建立多个场景,但必需零丁运转建立敕令。 运转以下敕令建立 CloudGoat rce_web_app 场景:

./cloudgoat.py create rce_web_app --profile cloudgoat

当构建完成时,将显现一些信息以协助你继承操纵。 关于 rce_web_app 场景,你将取得两组密钥。 为给定的键建立 AWS CLI 设置文件! 假如你在任何时刻碰到难题,CloudGoat 的 GitHub 上供应了细致的练习训练和流程图来协助你进修。

提醒: 一个好的最先主如果看看你可以接见哪些资本。 你能列出 EC2实例和S3存储桶?

其他资本

以下 Rhino 平安实验室宣告的博客文章也会有所协助:

AWS IAM 权限提拔、要领和减缓步伐

Pacu: 开源的 AWS 破绽应用框架

运用 AWS 账户ID 罗列 IAM 用户

未经身份验证的 AWS 角色罗列(IAM 再访)

做最坏的盘算: 经由过程 AssumeRole 枚举 AWS 角色

总结

假如你对 CloudGoat 和 AWS 可接收的运用战略有任何疑问或担心,请随便在 GitHub 上提交 issue。

AWS 的平安性,尤其是在饰演进击者角色时,可以很难获得掌握。 CloudGoat 旨在弥补该行业的一个空缺,并为愿望进修更多 AWS 平安性和渗入测试的种种妙技程度的人供应一个很好的进修体验。

我们计划在 Pacu 行将宣告的时刻宣告另一篇文章,诠释怎样运用种种 Pacu 模块进击 CloudGoat 环境。 这将协助用户相识 Pacu 的基础用法,并协助他们辨认和应用 AWS 环境中的毛病设置。

进修 Web 应用顺序测试或二进制破绽应用的资本许多,然则进修 AWS 的资本却很少。 CloudGoat 的存在就是为了减少这个差异。 依据我们在 Rhino 平安实验室的研讨,我们将按期宣告其他情形。 同时,要亲昵关注每一个场景的官方更新。

CloudGoat 的 GitHub 地点: https://github.com/RhinoSecurityLabs/cloudgoat
支撑 OWASP Talk 的演讲视频地点 YouTube here.

装置和布置申明可以在 GitHub 存储库中的 README.md 文件中找到。

本文翻译自:https://rhinosecuritylabs.com/aws/cloudgoat-vulnerable-design-aws-environment/


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明壮大的 AWS 破绽演习靶场引见——CloudGoat
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址