基于ATTCK的云存储安全

admin 2024年1月7日22:01:37评论15 views字数 6227阅读20分45秒阅读模式

最近挖掘漏洞的时候,发现上传文件这条路基本上被云存储静态存储给断了,不能再像10年前越快的随便shell,那么关于云存储有哪些风险,值得探索

概述

攻击者以云存储帐户和服务为多种目的,例如访问和窃取敏感数据、获得横向移动的网络立足点、允许访问其他资源以及部署恶意软件或参与勒索计划。为了应对此类威胁,安全团队结合ATT&CK对威胁矩阵进行更全面的威胁建模,通过详细介绍几种新的初始访问技术,更好地覆盖了攻击面

基于ATTCK的云存储安全

          

侦察Reconnaissance

对手正试图收集可用于规划未来行动的信息。侦察包括主动或被动收集可用于支持目标定位的信息的技术。

  • 存储帐户发现:攻击者可能会枚举存储帐户名称(或利用现有的枚举过程)来查找活动存储帐户。此类方法的示例多种多样,从搜索呆子(站点:*.blob.core.windows.net)到暴力创建帐户。攻击者还可以利用爬虫结果或利用公共工具包,例如MicroburstBlobHunter

  • 公共容器发现:攻击者可能会枚举已知存储帐户的容器名称(或利用现有的枚举过程)。攻击者可以利用爬虫结果或利用公共工具包,例如MicroburstBlobHunter    

  • DNS/被动 DNS: 攻击者可能会在 DNS 数据中搜索可能成为潜在目标的有效存储帐户名称。威胁参与者可以使用暴力技术查询名称服务器,以枚举现有的存储帐户,或通过记录的 DNS 查询响应的集中存储库进行搜索(称为被动 DNS)。

  • 受害者拥有的网站: 攻击者可能通过搜索受害者企业的网站来查找其存储帐户。受害者拥有的网站页面可能存储在存储帐户中或包含用于检索存储帐户中存储的数据的链接。这些链接包含存储的 URL 并提供帐户的入口点。

初始访问Initial Access

对手正试图进入您的网络。初始访问包括使用各种进入向量在网络中获得初始立足点的技术。通过初始访问获得的立足点可能允许继续访问,例如有效帐户和使用外部远程服务,或者可能由于更改密码或密钥而限制使用。

  • 有效的 SAS URI:共享访问签名 (SAS) 是一个统一资源标识符 (URI),它授予对存储资源的受限访问权限。攻击者可能会使用其中一种凭据访问技术窃取 SAS URI,或者在其侦察过程的早期通过社会工程捕获 SAS URI,以获得初始访问权限。攻击者还可以利用身份和访问管理 (IAM) 权限,根据被盗的存储帐户密钥离线生成有效的 SAS 。

  • 有效的访问密钥:攻击者可能会使用其中一种凭据访问技术窃取访问密钥,或者通过社会工程在其侦察过程的早期捕获访问密钥以获得初始访问权限。攻击者可能会利用源代码或配置文件中留下的密钥。老练的攻击者还可能从在其系统 (SMB) 上安装了文件共享的主机(虚拟机)获取密钥。

  • 有效的 Azure Active Directory (Azure AD) 主体:攻击者可能会使用其中一种凭据访问技术窃取帐户凭据,或通过社会工程在其侦察过程中早期捕获帐户以获得初始访问权限。授权的 Azure AD 帐户/令牌可以实现对存储帐户资源的完全控制。

  • 使用公共访问:攻击者可能会利用公开的存储帐户来列出容器/blob 及其属性,这些信息随着攻击的进展可能是有益的。攻击者可能会使用应用程序编程接口 (API),例如List Blob。这种技术经常被报告为目标活动中使用的利用向量。

  • 对象复制:攻击者可以在源容器和目标容器之间设置复制策略,将对象从源异步复制到目标。此功能可能会在两个方向上被恶意滥用。出站复制可以充当客户数据从受害者容器到对手容器的渗透通道。入站复制可用于将恶意软件从对手的容器传送到受害者的容器。设置策略后,攻击者可以在不访问受害容器的情况下对其容器进行操作

  • SFTP 凭据: 攻击者可能会获取并滥用 SFTP(安全文件传输协议)帐户的凭据作为获得初始访问权限的手段。SFTP 是客户端和远程服务之间流行的文件传输协议。一旦用户连接到云存储服务,用户就可以上传和下载 blob 并执行协议支持的其他操作。SFTP 连接需要 SFTP 帐户,这些帐户在存储服务实例中本地管理,包括密码或密钥对形式的凭据。

  • NFS 访问: 攻击者可以使用启用的 NFS 协议对存储帐户执行初始访问。虽然访问仅限于存储帐户防火墙上配置的允许的虚拟网络列表,但通过 NFS 协议的连接不需要身份验证,并且可以由指定网络上的任何源执行。

  • SMB 访问: 攻击者可以使用服务器消息块 (SMB) 协议对存储帐户文件共享执行初始访问。

持久性Persistence

对手正试图维持自己的立足点。持久性包括攻击者用来在凭证更改和其他可能切断其访问的中断情况下保持对系统的访问的技术。用于持久性的技术包括让他们在系统上保持立足点的任何访问、操作或配置更改。

  • 创建 SAS 令牌: 攻击者可能会创建具有较长有效期的高权限 SAS 令牌,以长期保留有效凭据。令牌不受存储帐户监控,因此无法撤销(Service SAS 除外),并且在使用令牌之前很难确定是否存在有效令牌。

  • 容器访问级别属性: 攻击者可以以 blob 或容器的粒度调整容器访问级别属性,以允许对存储帐户中的数据进行匿名读取访问。即使初始访问技术不再有效,这种配置也可以确保窃取数据的通道。

  • SFTP 帐户: 攻击者可能会创建 SFTP 帐户来维护对目标存储帐户的访问。SFTP 帐户位于存储实例本地,不受 Azure RBAC 权限的约束。如果存储帐户访问密钥轮换,该帐户也不会受到影响。

  • 受信任的 Azure 服务: 攻击者可能会配置存储帐户防火墙以允许受信任的 Azure 服务进行访问。Azure 存储提供预定义的受信任服务列表。即使没有明确允许资源源地址的防火墙规则,防火墙也会允许该列表中与存储帐户属于同一订阅的任何资源。

  • 基于托管身份的可信访问: 攻击者可以将存储帐户防火墙配置为允许特定资源实例基于其系统分配的托管身份进行访问,而不管其源地址如何。资源类型可以从 Azure 存储提供的预定义列表中选择,并且资源实例必须与存储帐户位于同一租户中。资源实例的 RBAC 权限决定资源实例可以对存储帐户数据执行的操作类型。

  • 专用端点: 攻击者可以为存储帐户设置专用端点,以建立与目标虚拟网络的单独通信通道。新端点分配有虚拟网络地址范围内的专用 IP 地址。发送到专用终结点的所有请求均按设计绕过存储帐户防火墙。

  • 防火墙和虚拟网络配置更改:存储服务提供一组内置安全功能。管理员可以利用这些功能来限制对存储资源的访问。限制规则可以在IP级别运行。配置网络规则后,只有来自授权子网的请求才会得到服务。对手可能会插入额外的规则来确保持久访问。    

  • 基于角色的访问控制 (RBAC) 更改:存储服务提供内置 RBAC 角色,其中包含用于访问不同数据类型的权限集。还支持自定义角色的定义。将 RBAC 角色分配给身份对象(例如 Azure AD 安全主体)后,存储提供商将授予对该安全主体的访问权限。对手可以利用 RBAC 机制来确保对其拥有的身份对象的持久访问。

防御规避Defense Evasion

防御规避包括攻击者在整个攻击过程中用来避免被发现的技术。用于防御规避的技术包括滥用可信进程来隐藏和伪装其恶意意图。其他战术技术在此交叉列出,其中包括颠覆防御的额外好处。

  • 防火墙和虚拟网络配置更改:存储服务提供一组内置安全功能。管理员可以利用这些功能来限制对存储资源的访问。限制规则可以在IP级别运行。配置网络规则后,只有来自授权子网的请求才会得到服务。对手可能会插入额外的规则来伪装和/或使其数据泄露渠道合法化。

  • RBAC 更改:存储服务提供内置 RBAC 角色,其中包含用于访问不同数据类型的权限集。还支持自定义角色的定义。将 RBAC 角色分配给身份对象(例如 Azure AD 安全主体)后,存储提供商将授予对该安全主体的访问权限。攻击者可能会利用 RBAC 机制将其活动伪装成受感染环境中的典型活动。

  • 存储数据克隆:存储服务提供存储在其上的不同类型的克隆或备份数据。对手可能会滥用这些内置功能来窃取敏感文档、源代码、凭证和其他业务关键信息。该技术被用作数据盗窃的一部分。

  • 数据传输大小限制:攻击者可能会将窃取的信息分段并将其渗透到不同大小的块上,以避免通过触发潜在的预定义传输阈值警报来检测。

  • 自动渗透:攻击者可能会利用受感染组织预定义的合法自动化流程,其目标是让他们的日志记录正常融入公司的典型活动中。同化或掩饰恶意意图将使对手的行为(例如数据盗窃)更加隐蔽。

  • 访问控制列表 (ACL) 修改:攻击者可以在特定 blob 或容器的粒度上调整ACL 配置,以保护泄露被盗数据的通道。这些 ACL 修改发生在控制平面级别,而这一点常常被忽视。通过缩小现有的暴露限制,对手可能会渗透到组织的内部和敏感资源。

  • 跨地理副本的操作:攻击者可以跨地理副本分割其请求,以减少每个区域的足迹,并避免被各种规则和启发法检测到。    

  • 禁用云工作负载保护:攻击者可能会禁用云工作负载保护服务,该服务在检测到云存储服务中的恶意活动时会发出安全警报。

凭证访问Credential Access

凭据访问包括窃取帐户名和密码等凭据的技术。用于获取凭据的技术包括键盘记录或凭据转储。使用合法凭据可以让攻击者访问系统,使其更难以检测,并提供创建更多帐户以帮助实现其目标的机会。

  • 访问查询密钥:攻击者可以利用订阅/帐户级别访问来收集存储帐户密钥,并使用这些密钥在资源级别进行身份验证。该技术展示了云资源旋转与控制管理和数据平面的结合。攻击者可以查询管理 API 以获取主存储帐户密钥和辅助存储帐户密钥。

  • 访问 Cloud Shell 配置文件:Cloud Shell是一种交互式、经过身份验证、可通过浏览器访问的 shell,用于管理云资源。它提供了 shell 体验的灵活性(Bash 或 PowerShell)。为了支持 Cloud Shell 可从任何地方访问的承诺,Cloud Shell 配置文件和会话历史记录都保存在存储帐户中。攻击者可能会利用 Cloud Shell 的合法用途来冒充帐户所有者,并可能获取记录为会话历史记录一部分的其他机密。

  • 不安全的通信通道:攻击者可能会嗅探网络流量并捕获通过不安全协议发送的凭据。当存储帐户配置为支持未加密的协议(例如 HTTP)时,凭据会在不受保护的情况下通过线路传递,并且很容易泄露。攻击者可以使用受损的凭据来获得对存储帐户的初始访问权限。

发现Discovery

对手正试图了解您的环境。发现包括对手可能用来获取有关系统的知识的技术。这些技术可以帮助对手观察环境并在决定如何行动之前确定自己的方向。在侦察阶段,工具证人通常用于实现妥协后的信息收集目标。

  • 存储服务发现:攻击者可以利用订阅/帐户级访问来发现存储属性和存储的资源。在侦察阶段,目击的工具通常用于实现妥协后的信息收集目标,现在已获得访问存储 API 的授权,例如List Blobs调用。

  • 帐户配置发现:攻击者可以利用控制平面访问权限来检索存储帐户配置。该配置包含各种技术细节,可以帮助攻击者实施各种策略。例如,防火墙配置提供网络访问信息。其他参数可以揭示访问操作是否被记录。该配置还可以包含可以帮助攻击者执行数据破坏的备份策略。

横向运动Lateral Movement

对手正试图侵入您的环境。横向移动包括对手用来进入和控制网络上的远程系统的技术。实现他们的目标通常需要通过多个系统和帐户来获得访问权限。攻击者可能会安装自己的远程访问工具(RAT)来完成横向移动,或者使用本地网络和操作系统工具的合法凭据,这可能更加隐蔽。

  • 恶意内容上传:攻击者可能会使用存储服务来存储恶意程序或工具集,这些程序或工具集将在其操作过程中稍后执行。此外,攻击者可能会通过存储网络钓鱼内容来利用用户与其组织的存储服务之间的信任。此外,可以利用存储服务来存放收集到的情报,当条件适合参与者群体时,这些情报将被泄露。    

  • 恶意软件分发:存储服务提供不同类型的机制来支持各种资源和存储帐户之间的自动同步。攻击者可能会利用对存储帐户的访问来上传恶意软件,并从自动同步内置功能中受益,以填充其有效负载并可能将多个系统武器化。

  • 触发跨服务交互:攻击者可能会操纵存储服务来触发计算服务(例如Azure Functions / AWS Lambda触发器),其中攻击者已经在存储容器上站稳了脚跟,并且可以注入一个 blob,该 blob 将启动计算链过程。这可能允许攻击者渗透到其他资源并造成损害。

  • 数据操纵:存储服务上存储的内容可能会因向其他有效文件添加恶意程序、脚本或漏洞利用代码而受到污染。当合法用户执行受污染内容时,恶意部分会在远程系统上运行对手的代码。对手可能会使用受污染的共享内容进行横向移动。

  • 访问 Cloud Shell 配置文件:Cloud Shell是一种交互式、经过身份验证、可通过浏览器访问的 shell,用于管理云资源。它提供了 shell 体验的灵活性(Bash 或 PowerShell)。为了支持 Cloud Shell 可从任何地方访问的承诺,Cloud Shell 配置文件和会话历史记录都保存在存储帐户中。攻击者可能会利用 Cloud Shell 的合法用途来冒充帐户所有者,并可能获取记录为会话历史记录一部分的其他机密。


渗透Exfiltration

对手正试图窃取数据。渗透包括攻击者可能用来从您的网络窃取数据的技术。一旦收集了数据,攻击者通常会将其打包以避免在删除数据时被发现。这可以包括压缩和加密。从目标网络获取数据的技术通常包括通过其命令和控制通道或替代通道传输数据,还可能包括对传输设置大小限制。

  • 存储数据克隆:存储服务提供存储在其上的不同类型的克隆或备份数据。对手可能会滥用这些内置功能来窃取敏感文档、源代码、凭证和其他业务关键信息。该技术之前已被用作数据盗窃的一部分。

  • 数据传输大小限制:攻击者可能会将窃取的信息分段并将其渗透到不同大小的块上,以避免通过触发潜在的预定义传输阈值警报来检测。

  • 自动渗透:攻击者可能会利用受感染组织预定义的合法自动化流程,其目标是让他们的日志记录正常融入公司的典型活动中。同化或掩饰恶意意图将使对手的行为(例如数据盗窃)更加隐蔽。    

  • ACL 修改:攻击者可以在特定 blob 或容器的粒度上调整ACL 配置,以保护泄露被盗数据的通道。这些 ACL 修改发生在控制平面级别,而这一点常常被忽视。通过缩小现有的暴露限制,对手可能会渗透到组织的内部和敏感资源。

  • 静态网站:攻击者可能会使用“静态网站”功能将收集的数据泄露到存储帐户之外。静态网站是云存储提供商的托管功能,可以直接从存储帐户提供静态 Web 内容。可以通过替代 Web 端点访问该网站,在限制对存储帐户的访问时可能会忽略该端点。

  • 对象复制:攻击者可以在源容器和目标容器之间设置复制策略,将对象从源异步复制到目标。出站复制可以充当客户数据从受害者的容器到对手的容器的渗透通道。

影响Impact

对手正试图操纵、中断或破坏您的系统和数据。影响包括攻击者通过操纵业务和运营流程来破坏可用性或损害完整性的技术。对手可能会使用这些技术来实现其最终目标或为泄露机密提供掩护。

  • 数据损坏:攻击者可能会损坏存储服务上存储的数据,从而破坏系统或其他业务线的可用性。

  • 影响数据加密(勒索软件):攻击者可能会对存储服务上存储的数据进行加密,以破坏系统或其他业务线的可用性。通过加密文件或 blob 并阻止对解密密钥的访问来使资源无法访问。这样做可能是为了从受害者那里获取金钱补偿,以换取解密或解密密钥(勒索软件)。    

原文始发于微信公众号(暴暴的皮卡丘):基于ATTCK的云存储安全

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月7日22:01:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于ATTCK的云存储安全https://cn-sec.com/archives/2348046.html

发表评论

匿名网友 填写信息