云平安:在 AWS 中运用 IAM 角色突破攻击者的斩杀链_申博最新官网 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

云平安:在 AWS 中运用 IAM 角色突破攻击者的斩杀链_申博最新官网

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

申博最新官网

在这个光芒四射的申博最新官网平台,种类繁多的游戏满足你的一切需求,贴心的服务人员设身处地地为你考虑,极致愉悦的游戏体验是实实在在的。AG亚游集团夜以继日地为构建令客户满意的娱乐平台而拼搏。

,

在过去的一年里,我看到人们对运用云当地手艺处置惩罚云内平安事宜的详细提议的兴致大幅上升。 跟着构造将其生产事变负载转移到云中,平安专业人员很快就会意想到,基本原理虽然在观点上相似,但在实践中却天差地别。 个中一个中心观点就是斩杀链,这个术语最早由洛克希德 · 马丁发明,用来形貌进击者的进击历程。 损坏任何某个链都邑损坏进击,因而这很好地映照到了将深度防备与事宜相应的运动组件结合起来。

在云布置中,我们有四种主要的进击范例,每种都有差别的斩杀链:

1. 对云平台自身的进击。这是疏忽云供应商的一个根本性的伤害(在云客户手中以外) ,这些进击一般集合在云效劳的毛病设置上。 假如你将 S3 存储桶公然,未能将受权顺序放在 API 网关上,或许在 GitHub 上公然 AWS 的凭证,那末它就属于这一类。

2. 针对云端客户布置的资本和应用顺序的进击。 这些传统的进击与针对数据中心的进击没有什么差别。 罕见的例子包括 web 应用顺序中的 SQL 注入,以及对互联网翻开毛病端口的易受进击的效劳器。 假定你运用帐户 / 定阅 / 项目和VPC或假造收集来限定风险局限,那末与针对数据中心的限定比拟,这些限定可以更严厉一些。

3. 针对云治理员和开发人员的进击。 下次运转渗入测试 / 效劳器时,确保让进击者尝试对你的开发人员和治理员提议垂纶进击。 这是入侵云环境的最好要领之一,由于关于进击者来讲,接见开发人员体系比损坏云应用顺序自身要轻易很多。 我们将在今后议论这个题目,然则让我们从“MFA是我的朋侪”最先。

4. 夹杂进击。 这就是我们本日要关注的种别。 在这些进击中,要挟实行者损坏布置在云中的某些内容,然后应用这些内容将重点转移到云治理平台上。 (有些人可以以为对开发人员的进击是夹杂的,但我喜好把它们离开)。

作为一个履历轨则,我老是从假定任何级别的胜利进击都可以升级或转变为夹杂进击最先,在这一点上,你的治理层平安和事宜相应成为你最好的防备。

本日,我将重点引见一种最罕见的夹杂进击历程,并概述侦察和防备掌握的组合,以协助打破斩杀链。 在我深切议论细节之前,不要把这篇文章看做是对一个庞杂题目的过分简化。 纵然你晓得本身在做什么,但在范围上治理我将要议论的内容也是异常难题的。

在接下来的几个礼拜里,我们将向我们的初期客户推出针对这些题目特地设想的第一个 Ops,在那以后我们应当会在相对较短的时间内投入生产。

夹杂 AWS 进击: 提取 IAM 角色凭证

在夹杂进击中,要挟实行者打破了一些更传统的东西,然后应用这些东西转向云治理平台。 发作这类状况的主要体式格局有三种。 在每种状况下,进击者都邑提取静态存储凭证或暂时 IAM 角色凭证,我们稍后将对此举行诠释。

1. 实例或容器被直接入侵。 比方,假如你翻开22端口,进击者可以侵入或以其他体式格局取得 shell 接见权。

2. 效劳器端请求捏造(SSRF)。 进击者应用了 web 效劳器或web效劳的破绽,可以实行命令而无需取得 shell 接见权限。

3. 对 Lambda 函数的进击。 虽然你不能在 Lambda 上取得一个 shell,然则假如它们存在一个应用顺序缺点,它们依然会遭到代码实行破绽的影响,以至会被随便实行。 确实的寄义相似于 SSRF。

 

在每种状况下,进击者的目的都是取得 AWS 治理平台的凭证,然后应用现有的特权或升级特权。 我们将在后续的博文中议论权限提拔,如今我们将集合议论这些凭证是什么,以及怎样防备它们被滥用。

大多数人明白静态凭证; 在 AWS 中,静态凭证是接见密钥和隐秘密钥。 它们相似于用户名和暗码,但用于 AWS API  挪用。 当前版本在举行这些 API 挪用时运用一个称为 Signature 4的加密历程举行 HTTP 请求署名。 你可以也应当像看待用户名和暗码一样看待它们,而且永久不要将它们存储在诸如示例和 Lambdas 如许的云资本中。

当你刚最先进修 AWS 的时刻,IAM 角色是个骗子,他们既恐怖又令人敬畏。 AWS 中的 IAM 角色现实上是你对会话运用的权限的容器。 IAM 角色很棒,由于它们自身并非凭证… … 当你假定角色 AWS 为一个有时间限定的会话供应一组凭证时。 角色是“仅限于 AWS 内部”的东西。 你可以将它们分派给 AWS 中的资本(比方实例或 Lambda 函数) ,而且该资本如今可以在没有静态存储凭证的状况下举行 API 挪用! 我们将角色用于团结身份衔接、实例、 Lambda 函数以及 AWS 中的一切其他效劳。 现实上,只要当你在 AWS 帐户中建立用户的接见密钥时,我们才会对其他一切事变都运用角色。

角色有四种与之关联的权限范例

1. 这个角色在 AWS 中能做些什么,这些是你附加到角色的直接许可战略。

2. 谁或什么可以运用这个角色(信托战略)。建立一个角色并不意味着任何东西或任何人都可以运用它,这个战略限定对AWS实例或特定Lambda函数的接见。

3. 限定角色局限的权限边境。这有点庞杂,与我们本日的议论无关,所以我们将在稍后举行议论。

4. 当你为会话假定一个角色时,你还可以指定现有权限的一个子集来运用该会话。这是一个很酷的特征,但关于我们本日的议论也不是完整相干的。

经由过程遍向来诠释它是怎样事变的可以更轻易。假定我有一个须要接见S3 存储桶或Dynamo数据库的应用顺序。我为实例建立了一个IAM角色,并设置了信托战略,以便EC2效劳可以运用该角色。然后我启动一个实例并分派角色。AWS运转实例并让实例负担角色。假定角色翻开一个会话并分派一个接见密钥、一个隐秘密钥和一个会话令牌。然后AWS每1-6小时轮换一次这些凭证,那末实例如今就可以举行由权限战略受权的 API 挪用。

虽然凭证不在实例中,然则实例依然可以接见凭证。 内部运转的任何代码都须要晓得凭证,才举行现实的 API 挪用,以接见 S3和 Dynamo,所以元数据效劳按需供应这些效劳。 比方,一个效劳器可以取得它的 IP 地点是相称主要的。

这就是进击发作的处所

元数据效劳只是一个可以接见的 url,它返回请求的信息。 实行curl 169.254.169.254/latest/meta-data/ 将供应一切的基本信息,你可以实行 curl 169.254.169.254/latest/meta-data/iam-security-credentials/ ,这将供应接见密钥、隐秘密钥和令牌。 (关于基于 Lambda 的进击来讲,一切这些看起来都差别,它运用的是 SDK 代码而不是 curl,但实用的原则是雷同的)。

然后,进击者可以复制这些凭证,并在其他处所将其嵌入到东西中,而没必要在拿到的效劳器上加载和运转代码。 另外,由因而基于 URL的,所以它翻开了元数据效劳到更普遍的 SSRF 进击局限,由于你不须要完整恣意的代码实行。 这些凭证将在某个时刻到期,然则依据进击状况,当他们看到当前的凭证停止事变时,他们可以会返回并取得一个新的凭证集。

如今,智慧的进击者会在他们掌握的AWS帐户中运用凭证,由于亚马逊有一些东西来检测在已知地点局限以外提取和运用的凭证。

下面是我们在 Securosis 高等云平安培训课程中运用的一个短视频,门生们在实验室中进修这个历程:

点击检察视频

打破 IAM 角色提取斩杀链

让我们来计划一下斩杀链,进击者须要做到以下几点:

· 发明并应用实例、容器或 Lambda 中许可他们接见角色凭证的破绽。 在客户方面来讲,这险些总会是一个毛病… 比方未能修补、翻开毛病的端口或布置易受进击的代码。

· 提取当前角色的凭证

· 在它们掌握的环境中胜利运转许可的 API 挪用。

· 在许可的 IAM 角色的权限战略局限内做一些不好的事变。 我的意义是,可以很蹩脚,它不像大多数进击者会为你修补代码。

以下手艺可以打破链条中的差别环节,并包括侦察和防备性掌握的夹杂。 假如这看起来势不可挡,不要觉得惆怅… … 我事变的构造中很少有全面实行这些步伐的,特别是在范围上。

6种手艺助你打破进击链中的差别环节

1. 破绽治理

2. 具有资本限定的最小权限IAM权限战略

3. 在权限战略中运用IP、VPC或其他请求源前提限定

4. 运用带有战略+资本战略的效劳端点

5. 运用HTTP用户代办过滤器增加元数据代办(元数据效劳庇护)

6. 反复角色运用庇护

破绽治理

· 庞杂度: 中等

· 有效性: 低

使用卷序列号作为加密密钥:APT恶意软件LOWKEY分析

概述 在2019年8月,FireEye发布了有关最新发现的威胁组织——APT41的“Double Dragon”报告。APT41是一个与亚洲某国家联系紧密的双重间谍组织,聚焦于财务领域,该恶意组织主要针对游戏、医疗保健、高科技、高等教育、电信和旅游服务等行业。 本文主要分析了我们发现的一个复杂、被动型后门,在关于APT41的报告中曾经提到,并且在最近的FireEye Cyber Defense Summit会议上与大家进行了分享。我们观察到,LOWKEY被用于一些针对性非常强的实际攻击之中,并利用仅能在特定系统上运行的Payload

· 可扩展性: 难题

· 范例: 侦察和防备

毫无疑问,你的最先应当是消灭一切最初的破绽和毛病设置,进击者可以应用这些破绽猎取凭证。 我只将庞杂度评为中等,由于这并没有什么新的或特定于云盘算的内容。 但我也以为它的有效性很低,由于它不像综合性的破绽治理在过去几十年里防备了大批的破绽。 观点简朴,范围庞杂得令人难以置信。

具有资本限定的最小权限IAM权限战略

· 庞杂度: 中等

· 有效性: 高

· 可扩展性: 中比及难

· 范例: 防备

AWS 中的 IAM 战略默以为谢绝,并包括明白的许可和谢绝声明。 比方,你可以编写一个只许可读取 S3存储桶的战略。 它们还包括资本限定,因而当 allow 语句受权角色挪用“读” API 时,资本限定只许可角色读取特定的存储桶或对象。 你应当老是在这里最先你的防备。 当我对险些每一个项目实行评价时,我发明 IAM 战略许可过量的特权(API 挪用)和过少的资本限定。 是的,这个效劳可以须要接见 Dynamo 数据库,然则它须要接见每一个表吗? 这类特别的掌握在小局限内实行并非太蹩脚,但你的范围越大,做出这些政策决议的人越多,在大局限内保持一致就越难题。 在有人向角色增加具有新权限的新战略时,增加显式的deny语句也很主要。权限是积累的,然则任何deny语句都邑掩盖allow语句。

在权限战略中运用IP、VPC或其他请求源前提限定

· 庞杂度: 高

· 有效性: 中比及高

· 可扩展性: 难题

· 范例: 防备

IAM 战略支撑前提语句支撑一系列选项,包括 IP 地点或源 VPC。 假如你晓得某个特定角色应当只从应用顺序客栈中的特定资本举行 API 挪用,那末你可以将受权锁定到该确实的 IP 地点或子网。 假如进击者盗取凭证并试图在其他处所运转它们,API 挪用将失利。 这是一个准确指导的大锤——观点上轻易,实行上难,由于你可以会发明其他庞杂性会滋扰准确的完成。 比方,对 AWS 效劳的 API 挪用要么直接进入互联网,要么经由过程 NAT 网关运转,要么经由过程效劳端点在内部举行路由(稍后我们将议论)。 检测到的 IP 地点将取决于到 互联网的 API 挪用的路由。 这些都是可治理和可检测的(而且是可自动化的) ,然则你起首须要仔细浏览以确保你明白了这些分列。

看看这篇文章的第一部份,可以找到一些例子。

除非你在一个 VPC 上运转你的 Lambda 函数,不然这不会是一个庇护受损函数的选项。

运用带有战略+资本战略的效劳端点

· 庞杂度: 中等

· 有效性: 中比及高

· 可扩展性: 中等

· 范例: 防备

在 AWS 中,效劳端点就像收集上的一个点,它吸收一般经由过程呼啦圈传输到AWS效劳的流量,并在内部从新路由这些流量。它们最初是为了许可AWS中的完整私有子网(那些没有任何体式格局接入互联网的子网)依然可以接见某些AWS效劳而建立的。你可以运用与IAM战略异常相似的体式格局运用端点支撑战略来限定接见和操纵。在这类状况下,你可以向端点战略增加限定,只许可接见端点背地的特定资本(S3是最罕见的示例)。指定许可哪些存储桶,而且子网中的任何其他资本都不能接见该效劳。可以以为这是IAM战略的后端——效劳端点运用了限定性战略,纵然有人意外埠(或故意地)许可角色举行超越其权限的接见,它依然不能接见效劳端点战略中不许可的任何内容。这意味着我们如今有三层战略,一切这些战略都须要许可接见资本:

· 许可角色接见资本的IAM权限战略。

· 服效劳端点战略,该战略许可在请求经由过程端点时接见资本,而不论运用的角色的权限怎样。

· 存储桶或资本战略(这取决于资本的范例)可以限定只能接见经由同意的IP地点。

除非你在一个 VPC 上运转你的 Lambda 函数,不然这不会是一个庇护一个受损函数的选项。

运用HTTP用户代办过滤器增加元数据代办(元数据效劳庇护)

· 庞杂度: 高

· 有效性: 中等

· 可扩展性: 难题

· 范例: 防备

一切这些控件都假定进击者可以盗取角色凭证,然则假如我们有方法下降进击者猎取这些凭证的才能,纵然他们损坏了已受权的实例或容器,又该怎样呢?(这类手艺不实用于Lambda函数)。一个新出现的要领是起首限定对元数据效劳的接见。只管有一些尝试运用IPTables来完成这一点,但也可以损坏在实例上运转的代码所需的功用。2018年11月,AWS和Netflix协作,最先将AWS SDK API挪用的用户数据增加到HTTP头文件中。这是对 SSRF 的一种防备,由于大多数 SSRF 进击依赖于诳骗应用顺序代表进击者发出 HTTP 请求,但这些请求一般来自命令行东西,如 curl 或其他历程,而且缺乏来自 AWS SDk 的用户数据头。 要做到这一点,你须要为这些请求插进去一个代办。 关于实例和容器有一些开放源码的挑选,包括运转在实例上的代办,而不是请求你把流量路由到假造装备或许 squid 代办。

假如进击者损坏主机实例并运转 shell,这类手艺将不起作用,由于它们可以禁用 Roxy 或挟制已同意的历程。

你可以在这篇 Netflix 的博文中读到一切关于它的细节。

反复角色运用庇护

· 庞杂度: 高

· 有效性: 高

· 可扩展性: 高

· 范例: 侦察

这是另一个来自 Netflix 团队的主意。 他们宣布了一个很好的手艺指南,用于检测在未经受权的位置(以至在 AWS 中)什么时候正在运用 IAM 角色。 我强烈提议你浏览这个链接的博文,简短的总结一下就是他们将 CloudTrail 日记与其他一些东西结合起来,产出一张表,个中显现哪些实例运用哪些角色的 IP 地点。 然后,它们看管其他 API 挪用,以查找某个角色什么时候从一个新 IP 地点从新运用,同时又从一个已同意的 IP 地点从新运用该角色。 运用这类要领,你不须要晓得全部构造中正在运用的一切 IP 地点,你可以动态地构建正在运用的 IP 地点表,并检测同时在其他处所运用该角色的状况。 这类做法的可伸缩性很好,由于假如集合运用 CloudTrail,就可以集合运转逻辑,这是一种罕见的最好实践。

总结

这是另一个辣手的题目,我们不愿望每一个人都能在一切布置中完成一切这些选项。简朴来讲,让我们来看看IAM角色滥用的斩杀链:

· 发明并应用实例、容器或Lambda中的破绽,许可它们接见角色凭证。这一般是客户端的一个毛病,比方没有打补丁,翻开了毛病的端口,或许布置了易受进击的代码。

· 破绽治理(包括用于应用顺序的SASST和DAST等东西)和评价你的云设置(运用DisruptOps等东西或Prowler和CloudMapper等开源东西)是你的第一道防地。

· 提取当前角色凭证。

· 元数据效劳庇护与破绽治理。

· 在进击者掌握的环境中胜利运转许可的API挪用。

· 反复角色运用检测,在权限战略中运用IP、VPC或其他请求源前提限定,运用带有战略+资本战略的效劳端点。

· 在许可的IAM角色的权限战略局限内做一些坏事。我的意义是,可以很蹩脚,它不像大多数进击者会为你修补代码。

· 具有资本限定的最小权限IAM权限战略。

愿望这能让你更好地相识怎样削减这类进击的胜利。

本文翻译自:https://disruptops.com/breaking-attacker-kill-chains-in-aws-iam-roles/


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明云平安:在 AWS 中运用 IAM 角色突破攻击者的斩杀链_申博最新官网
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

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