红队攻防 | 云上横向移动:利用脆弱容器实施攻击

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 红队攻防 | 云上横向移动:利用脆弱容器实施攻击


横向移动是云安全方面一个日益严重的问题。也就是说,一旦你的云基础设施的某个部分被破坏,攻击者可以达到多远?


在对云环境的著名攻击中,经常发生的情况是,一个公开的脆弱的应用程序可以作为一个入口点。从那里,攻击者可以尝试进入云环境内部,试图窃取敏感数据或将账户用于自己的目的,如加密货币挖掘。

image-20221204182204262


在这篇文章中,我们将介绍一个阶段性的但真实的场景,以展示攻击者如何可能获得对云账户的完全访问。我们还将介绍如何通过使用Sysdig Cloud Connector检测和缓解这种攻击。

横向移动的场景

让我们从一个在Kubernetes集群中运行并托管在AWS账户内的脆弱的Struts2应用程序开始这个云安全练习。

image-20221204182650434


一旦攻击者获得对pod的访问权,他们就会评估环境,寻找秘密或凭证,以进行横向移动并提升权限。


这些凭证有可能在aws元数据中找到。一旦获得,攻击者就可以访问AWS账户,从那里他们就可以开始窥探。


在进入云基础设施后,攻击者将寻找错误的配置,以实现他们接下来的行动。例如,通过维持他们的权限来巩固地位,损害云防御系统,或升级他们的权限。最终,攻击者可能会造成危害,如寻找敏感数据外泄,或安装加密货币矿工或僵尸控制中心。

现在我们了解了对手的总体战略,让我们更深入地挖掘他们的行动。


Step 1: 利用一个面向公众的Web应用程序


Ckoud MITRE ATT&CK报告的初始访问TTP(战术、技术和程序)之一是通过利用面向公众的应用程序。这是有道理的。毕竟,任何公共的东西都是可以访问的。


在这个场景下,有一个Apache Struts2应用程序可以公开使用。


为了查看可用的实例是否受到知名漏洞的影响,攻击者开始进行被动和主动的信息收集活动。通过与Web应用程序的互动,可以检索到软件版本和其他有关部署的应用程序的额外信息。从那里,攻击者可以查询漏洞数据库,寻找一个入口点。


攻击者发现我们使用的Apache Struts2版本存在CVE-2020-17530的漏洞,该漏洞允许在机器上执行远程代码。如果攻击者成功地利用了这个漏洞,他们将能够在机器上执行任意代码,包括获得一个反弹shell。


如下,攻击者向服务器发送一个精心制作的HTTP请求,然后,一个从受害者主机到攻击者机器的shell开了。

image-20221204194110454


获得反向shell所需的bash命令包含特殊字符,这可能会在执行过程中导致错误。为了避免这种情况,通常对命令进行base64编码,在执行过程中对其进行解码。


从主机名,apache-struts-6c8974d494,攻击者可以看到他们落在了Kubernetes集群内的一个pod或容器中。


Step 2: 横向移动到云


现在,我们的对手进来了,他们必须考虑到环境。你可能会认为,在落入一个容器后,攻击者受到了相当大的限制。而你是正确的,但他们仍然有一些机会来破坏我们的云安全。


攻击者检查pod是否可以访问AWS实例元数据。

image-20221204195156633

看起来可以。这可能使攻击者获取有关于云环境的有用的信息,以帮助攻击者提升权限或进行横向移动。

观察IAM凭证,对手找到了与运行pod的Kubernetes节点相关的AWS IAM角色凭证。

image-20221204195514100

攻击者现在可以在自己的环境中导入凭证,并通过cli直接访问云账户。

image-20221204195610809


Step 3: 通过策略错误配置提升权限


在这一点上,攻击者能够用偷来的凭证连接到AWS账户。

他们做的第一件事就是开始评估与被冒充的角色相关的角色和策略,试图找到一种在云环境中升级权限的方法。

image-20221204195859406


dev-AssumeRole策略看起来很有希望。让我们看看它授予了什么权限。

image-20221204200456113


通过AssumeRole,对手可以选择以其他用户的身份行事。这是给像这样的账户授予的一个奇怪的权限。这可能是一个攻击者正在寻找的错误配置。


另外,通过ReadOnlyAccess权限,攻击者能够列举AWS账户中的可用角色,并根据现有的限制找到他们可以承担的角色。在这种情况下,攻击者可以冒充以 "dev "开头的角色。当前用户可以冒充的角色之一是dev-EC2Full,它允许对EC2的完全控制。

image-20221204200735755

通过冒充这个角色,攻击者能够像一个dev用户一样,对EC2实例有完全的访问权,并有能力为自己的目的创建新的实例。


Next steps


让我们回顾一下到目前为止我们所讨论的内容和两个主要流程。


  1. 1. 在Kubernetes生产环境中运行着一个有漏洞的面向公众的应用程序。攻击者利用它作为进入环境的入口。

  2. 2. 与开发相关的IAM策略中的错误配置附加到生产实体(运行Kubernetes节点的EC2实例),允许攻击者冒充更强大的角色并提升云环境内的权限。

  3. 3. 在这一点上,攻击者有足够的权限来对我们的组织造成伤害。他们可以现在开始行动,或者进一步尝试破坏我们的云安全,获得更大的权限。不要错过我们的 "跨AWS云和容器的统一威胁检测[1] "一文,以更全面地了解我们的攻击者可能采取的后续步骤,并看看AWS提供哪些工具来预防、检测和缓解这些攻击。

使用Sysdig Secure检测横向移动攻击


幸运的是,这类攻击会留下非常可识别的痕迹。例如,一个反向shell是不寻常的东西,一个runtime安全工具可以很容易地发出警报。此外,安全工具可以标记错误的配置。有了正确的工具,你可以加强你的云安全。


关于Sysdig Secure DevOps Platform就不翻了,介绍他们产品的,自己看吧:

https://sysdig.com/blog/lateral-movement-cloud-containers/


引用链接

[1] 跨AWS云和容器的统一威胁检测: https://sysdig.com/blog/threat-detection-aws-cloud-containers/


译文申明

译文仅供参考,具体内容表达以及含义,以原文为主,推荐尽量阅读原文(点击 阅读原文 跳转)

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
18天前
|
存储 监控 安全
云端防御战线:云计算环境中的网络安全与信息防护策略
【2月更文挑战第30天】 随着企业数字化转型的加速,云计算以其弹性、可伸缩性和成本效益成为支撑现代业务架构的关键平台。然而,云服务的广泛采用也引入了新的安全挑战,从数据泄露到服务中断,风险无处不在。本文探讨了在云计算环境下维护网络安全和信息安全的高级策略和技术,分析了云服务模型特有的安全威胁,并提出了综合防御框架以保护云基础设施和数据。通过深入剖析身份认证、加密技术、入侵检测系统以及合规性监控等关键技术手段,文章旨在为读者提供一套全面的参考方案,确保在享受云计算带来的便利时,也能有效地规避潜在的网络风险。
|
18天前
|
机器学习/深度学习 人工智能 安全
云端防御战线:云计算环境中的网络安全策略
【4月更文挑战第22天】 在数字化时代,云计算已成为企业运营的关键基础设施。然而,随着其广泛应用,云服务也成为了网络攻击者的主要目标。本文深入探讨了云计算环境下的网络安全挑战,分析了云服务提供者和使用者面临的安全威胁,并提出了综合性的安全策略。这些策略不仅包括传统的加密和身份验证技术,还涉及更先进的入侵检测系统、行为分析和机器学习算法。文章旨在为读者提供一个关于如何在享受云计算带来的便利同时确保数据和操作安全的综合指南。
|
13天前
|
存储 安全 网络安全
云端防御战线——云计算环境下的网络安全策略
【5月更文挑战第20天】 在数字化时代,云计算以其灵活性、效率和成本优势成为企业信息技术架构的核心。然而,随之而来的是复杂多变的网络威胁,它们不断挑战着云服务的安全性。本文深入探讨了云计算环境中的网络安全问题,分析了当前面临的主要安全风险以及应对这些风险的策略。通过综合运用加密技术、身份验证机制、入侵检测系统等手段,构建了一个多层次的安全框架,旨在保障数据完整性、可用性和机密性。同时,文中还强调了安全治理的重要性,包括制定合理的政策、流程和技术控制措施,以实现对云服务的全面保护。
|
2天前
|
云安全 存储 人工智能
云端防御战线:云计算环境下的网络安全策略与实践
【5月更文挑战第31天】在数字化浪潮推动下,云计算已成为现代企业架构不可或缺的一部分。然而,随着数据和应用不断迁移至云端,传统的网络边界逐渐模糊,给安全带来了前所未有的挑战。本文探讨了云计算环境中面临的主要安全威胁,分析了当前最佳实践和新兴技术如何共同构建坚固的防御体系,以保护云服务中的数据完整性、机密性和可用性。
|
3天前
|
存储 安全 网络安全
云端防御战线:云计算环境下的网络安全策略
【5月更文挑战第30天】 随着企业与个人越发依赖云服务,云计算环境中的数据安全与隐私保护成为关键议题。本文深入探讨了在动态且复杂的云平台中实施有效网络安全措施的策略和技术。重点分析了云服务模型(IaaS, PaaS, SaaS)对安全实践的具体影响,并提出了基于最新技术进展(如加密算法、身份认证、入侵检测系统等)的多层次防御框架。此外,本文还讨论了合规性挑战、数据治理以及未来发展趋势,为读者提供了全面的云计算与网络安全融合视角。
|
3天前
|
机器学习/深度学习 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息保护策略
【5月更文挑战第30天】 随着企业和个人日益依赖云计算提供的弹性、可扩展的服务,云平台的安全性成为维护信息安全的重要战场。本文探讨了在复杂多变的云环境中,如何通过一系列创新策略和技术手段来提升网络和信息的安全防护水平。我们将深入分析云计算服务模型特有的安全挑战,并针对这些挑战提出相应的解决方案。文章不仅聚焦于传统的加密、认证机制,还将讨论最新的机器学习算法在识别潜在威胁中的应用,以及如何构建一个多层次的安全框架来保障用户数据和隐私的完整性与机密性。
|
4天前
|
云安全 安全 网络安全
云端防御:云计算环境下的网络安全新策略
【5月更文挑战第29天】随着企业和个人日益依赖于云服务,云计算环境已成为数据存储、处理和交换的重要枢纽。然而,这种集中化的数据管理方式也带来了前所未有的安全挑战。本文将探讨云计算环境中网络安全的现状与面临的威胁,并提出一系列创新的安全策略来增强云服务的信息安全性。这些策略不仅涵盖了传统的加密和身份验证技术,还包括最新的机器学习算法和区块链解决方案,以构建一个更加坚固和可靠的云安全框架。
|
16天前
|
监控 安全 网络安全
构建安全防线:云计算环境下的网络安全策略
【5月更文挑战第17天】随着企业数字化转型步伐的加快,云计算已成为支撑现代业务架构的关键基石。然而,云服务的广泛应用同时带来了前所未有的安全挑战。本文旨在探讨云计算环境中的网络安全问题,并提出一系列创新的安全策略,以保障数据完整性、确保服务可用性并抵御网络威胁。我们将深入分析云服务模型(IaaS, PaaS, SaaS)与相应的安全考量,探讨加密技术、身份认证、访问控制以及入侵检测等关键技术在云环境中的应用,并讨论如何通过多层次防御策略和持续监控来强化整体安全性。
|
18天前
|
SQL 安全 网络安全
构建安全防线:云计算环境中的网络安全策略与实践
【5月更文挑战第14天】 随着企业逐渐将关键业务流程迁移到云端,云计算服务的安全性成为不容忽视的重要议题。本文深入探讨了在动态且复杂的云环境中实施有效的网络安全措施的策略和技术。通过分析当前云计算模型中的安全挑战,我们提出了一系列创新的安全框架和防御机制,旨在保护数据完整性、确保业务连续性并抵御不断演变的网络威胁。文中不仅涵盖了理论分析和案例研究,还对未来云计算安全技术的发展趋势进行了预测。
|
18天前
|
存储 安全 网络安全
云端防御:构建弹性云计算环境下的网络安全防线
【5月更文挑战第1天】 随着企业纷纷拥抱云计算以提升业务敏捷性和降低成本,云服务的安全威胁也愈发凸显。本文聚焦于如何在动态且复杂的云计算环境中保障数据和应用程序的安全性,探讨了当前主流的云安全策略、挑战及其解决方案。从身份验证到数据加密,再到入侵检测系统,文章深入分析了构建坚固网络防线的关键技术和最佳实践,旨在为读者提供一套全面的云计算安全指南。