【技术分享】探索云安全之元数据攻与防

admin 2024年11月1日17:42:48评论17 views字数 3572阅读11分54秒阅读模式

【技术分享】探索云安全之元数据攻与防

【技术分享】探索云安全之元数据攻与防

前言

01

在当前的互联网环境中,为了降低成本,提高生产力,方便部署生产环境,越来越多的企业选择将生产环境部署在云上。

随之而来的,是企业在攻击面所面临的攻击手法的多元化,更多的攻击路径和更多样化的攻击手段让企业面临的风险大大增加。因此,由于攻击者对云服务的攻击手法与常规思路不同,防守方的防守策略也要随之转变,由此应对这些新的威胁,可使用觅影(AS EASM)外部攻击面管理系统针对暴露在外网的云业务进行收集管理,使用攻鉴(AS BAS)突破与攻击模拟系统无害化模拟黑客攻击路径以及手法针对云环境/元业务进行测试。

在此文中,笔者将从攻击者视角以及防守者视角展开讲解针对元数据的攻与防的相关手法。

【技术分享】探索云安全之元数据攻与防

元数据是什么

02

在云服务中,云厂商会提供云计算服务,而元数据(Metadata)是关于数据的数据,它描述了数据的基本信息和特性,用以支持云资源的管理、配置和优化。也就是说我们可以通过访问元数据得到关于此机器甚至是账户一系列的信息,其中包括:
  • MAC地址
  • IPv4地址
  • 内网地址
  • 镜像信息
  • 等等……
在下面的实例中,笔者展示了通过访问阿里云的元数据获得的一些相关联的信息
  • 在阿里云服务器中我们可以通过请求元数据地址,得到主机以及账户信息。
1.curl http://100.100.100.200/2016-01-01/meta-data  
【技术分享】探索云安全之元数据攻与防
  • 查看网卡主私有IP地址。
curl http://100.100.100.200/2016-01-01/meta-data/network/interfaces/macs/[mac]/primary-ip-address  
【技术分享】探索云安全之元数据攻与防
  • 查看实例拥有者的阿里云账号ID。
【技术分享】探索云安全之元数据攻与防
在上面的演示中,我们通过访问特定URL得到主机的私有网卡信息以及阿里云账号ID,在上面的链接中,我们甚至还可以构造访问MAC地址,镜像等信息。
注:不同的云厂商,访问的元数据地址不一样,以下是常见的云厂商元数据地址
各大云元数据地址:
  • 阿里云元数据地址:http://100.100.100.200
  • 腾讯云元数据地址:http://metadata.tencentyun.com
  • 华为云元数据地址:http://169.254.169.254
  • 亚马云元数据地址:http://169.254.169.254
  • 微软云元数据地址:http://169.254.169.254
  • 谷歌云元数据地址:http://metadata.google.internal

【技术分享】探索云安全之元数据攻与防

攻击者视角下的元数据

03

相信看到这里,很多读者认为元数据只不过读取一些无关紧要的信息以及数据,甚至是不会影响到生产环境,而且攻击者也很难访问到元数据,下面笔者给大家演示关于元数据在攻击者视角的一些利用案例。
在演示案例之前,还需要引入一个概念,就是云计算或者是IT 环境中的角色。
什么是角色?
资源访问管理角色的名称和概念可能略有不同,通常指的是在云计算或 IT 环境中,用于管理资源访问权限的角色,在不同的云厂商中,对于角色的称呼不一样,以下是一些常见的云厂商对于角色的称呼。
【技术分享】探索云安全之元数据攻与防

Google Cloud:

IAM 角色(Identity and Access Management Roles):Google Cloud 使用 IAM 来管理用户和服务的访问权限。

【技术分享】探索云安全之元数据攻与防

腾讯云

CAM 角色(Cloud Access Management Roles):腾讯云提供云访问管理功能,允许用户创建和管理访问权限。

【技术分享】探索云安全之元数据攻与防

微软 Azure

RBAC 角色(Role-Based Access Control Roles):Azure 使用基于角色的访问控制来管理用户和服务的权限。

【技术分享】探索云安全之元数据攻与防

阿里云:

RAM 角色(Resource Access Management Roles):阿里云的资源访问管理(RAM)允许用户控制对云资源的访问。

01

攻击者通过WebShell访问元数据

【技术分享】探索云安全之元数据攻与防
攻击者在拿到WebShell权限之后,通过元数据进行横向,进一步的扩大危害。
阿里云:
在WebShell中执行
1.curl http://100.100.100.200/latest/meta-data/ram/security-credentials/2.curl http://100.100.100.200/latest/meta-data/ram/security-credentials/[RAM角色名]  
【技术分享】探索云安全之元数据攻与防
这时,我们通过请求RAM角色的临时凭据,使用临时凭据访问,攻击者通过获取到的临时凭据,使用利用工具访问临时凭据并接管云平台账户,甚至是服务器权限。
【技术分享】探索云安全之元数据攻与防
通过临时凭据访问到阿里云资源,其中下面视图中,展示了在通过利用工具通过临时凭据扫描之后,得到当前账户下的云主机列表。
【技术分享】探索云安全之元数据攻与防
通过上图扫描列出的云主机列表,选择指定的机器执行系统命令,如下图所示。
【技术分享】探索云安全之元数据攻与防

攻击路径:WebShell到访问元数据,通过得到临时凭证,访问账户下的其他云主机,再到执行命令,至此所有机器权限均被沦陷。

02

通过生产环境的SSRF漏洞访问元数据

【技术分享】探索云安全之元数据攻与防
笔者在进行网站测试的时候,发现某些网站可以将HTML转为PDF格式文件,这个时候,笔者发现将HTML中嵌入使用<iframe>标签去触发请求域名或者是IP地址,此时我们嵌入阿里云的元数据地址。
  • <iframe>标签生成一个指定区域,在该区域中嵌入其他网页。它是一个容器元素,如果浏览器不支持<iframe>标签,就会显示内部的子元素,也就说攻击者可以通过此标签特性去访问特定的网站,结合元数据来说需要满足以下两个条件:
    • 目标机器部署在云上
    • 目前机器可以解析<iframe>标签
    • 解析之后的结果输出回显
  • 在下面的案例中,恰好满足了这三个条件
在下图中,我们在进行将HTML转为PDF的时候,进行抓取数据包,插入语句。
<iframe src="http://100.100.100.200/latest/meta-data/">
【技术分享】探索云安全之元数据攻与防
访问生成的PDF文件发现访问并解析了元数据地址。
【技术分享】探索云安全之元数据攻与防
此时我们获取尝试通过访问元数据来获取到服务器的外网IP地址,发现显示成功。
<iframe src="http://100.100.100.200/latest/meta-data/eipv4">
【技术分享】探索云安全之元数据攻与防

至此,攻击者通过正常业务的将HTML转为PDF文件的时候,使用<iframe>标签访问元数据地址,在生成的PDF文件中读取访问的元数据的内容。

【技术分享】探索云安全之元数据攻与防

防守者视角下的元数据

04

在上面两个案例中,我们发现了元数据造成的危害,仅仅是访问一个内网的IP地址就可以造成所有的服务器以及账户沦陷,以下是笔者对于防守者的一些建议。

01

基于元数据的基线检查

【技术分享】探索云安全之元数据攻与防

这里我们使用阿里云进行举例:

  • 细粒度权限管理,删除不必要的权限,最小化权限原则
在阿里云控制台搜索:RAM控制台,点击访问控制。
【技术分享】探索云安全之元数据攻与防
重点查看下图红框中的RAM访问控制-身份管理,其中和元数据挂钩的是角色这一栏。

【技术分享】探索云安全之元数据攻与防

选择其中一个角色之后,重点查看权限管理,其中,选择管理云服务器(ECS)系统策略,点击进入。
【技术分享】探索云安全之元数据攻与防
点击引用记录,就可以查看到具体的哪个角色使用了此策略。
【技术分享】探索云安全之元数据攻与防同时,我们可以根据业务需求,选择对应的策略,解除不必要的策略。
【技术分享】探索云安全之元数据攻与防
  • 定期审计角色操作记录以防被沦陷
在阿里云控制台搜索:操作审计,点击访问控制审计。
【技术分享】探索云安全之元数据攻与防
选择事件查询,短暂操作者名称,输入要查询的角色名,在下面就会列出对应的操作记录。
【技术分享】探索云安全之元数据攻与防
需要重点关注事件名称为:CreateCommand,以及关联资源存在多个的。
【技术分享】探索云安全之元数据攻与防
其中,CreateCommand为执行命令事件名称,关注资源为此事件调用了哪几个资源。
【技术分享】探索云安全之元数据攻与防
其中,我们点击查看详情可知,具体操作了什么。
【技术分享】探索云安全之元数据攻与防
在上面视图中,我们可以看到事件的源IP,此IP就是操作此事件的IP地址,其中还存在一个"CommandContent": "dW5hbWU=",字段,Base64解码之后是uname,同时我们还可以定位到是哪台云机器被执行了命令。
"stsTokenPrincipalName":
"ram-test/vm-ram-v1-i-2zeb5hpm8j29b73mwikq"
这个字段中可以在资源服务器中搜索i-2zeb5hpm8j29b73mwikq这个值,就可以看到对应得服务器。
【技术分享】探索云安全之元数据攻与防
  • 定时评估生产环境安全性

在企业中组织红蓝对抗的成本过高,传统的防御措施和一次性的渗透测试已经难以满足企业日益增长的安全需求。在这一背景下,BAS 工具作为一种持续化、自动化的安全运营工具,帮助企业验证其防御体系的有效性,从而在全球网络安全市场中获得快速发展。使用攻鉴(AS BAS)突破与攻击模拟系统,以攻击模拟技术为核心,获得攻击路径可见性,量化组织网络风险,优化安全防御,确保安全控制时刻有效,降低企业攻击面风险。

【技术分享】探索云安全之元数据攻与防

参考

05

https://help.aliyun.com/zh/ecs/user-guide/view-instance-metadata

原文始发于微信公众号(矢安科技):【技术分享】探索云安全之元数据攻与防

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月1日17:42:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【技术分享】探索云安全之元数据攻与防https://cn-sec.com/archives/3343962.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息