提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      云环境渗透之对象存储攻击简述
      发布时间:2021-07-09 阅读次数: 242 次

      对象存储简述


      对象存储是云计算时代下的一种存储技术,英文全称为Object-Based Storage,是一种新型网络存储架构,其特点是基于对象进行文件操作。对象存储服务通常是由云计算厂商进行提供,国内的如阿里云(OSS)、腾讯云(COS)、百度云(BOS)等,国外的如亚马逊(S3)等。


      攻击简述


      对象存储和普通存储一样,都是用来存储文件的,攻击者如果攻破了对象存储,那么就可能获取存储在对象存储中的敏感文件,如果具备操作权限,攻击者还可以对对象存储中的文件进行增删等操作(对象存储中的文件是无法进行直接修改的,只能下载后修改再上传)。在获得对象存储凭证的情况下,攻击者甚至可以直接对云服务器进行getshell操作,下面介绍几种针对对象存储的攻击思路。


      1.凭证泄露


      一般来说,云计算厂商提供的对象存储服务会具备一个凭证,这个凭证包含一个id和一个秘钥,是和云账户相关的,且是唯一的,具备对象存储的最高权限。如果凭证泄露,攻击者就可以利用云计算厂商提供的工具接口控制对象存储。


      以腾讯云为例,腾讯云提供的对象存储叫COS,同时提供了一个COS文件浏览工具COSBrowser,只要获得SecretID和SecretKey就可以利用该工具访问对象存储中的文件。




      在实战场景中,可以利用SecretID和SecretKey的关键字在源代码、js文件、配置文件等中进行搜索,开发人员可能会将凭证泄露在这些文件中。




      利用COSBrowser登录后可以对文件进行下载、删除、上传操作。




      2.临时凭证泄露


      在实际开发中,对象存储的凭证被多个开发人员共同使用并不符合最小权限原则。某些云计算厂商为了解决这一问题,会提供临时凭证,用户可使用临时访问凭证在规定时间内访问对象资源。临时访问凭证无需透露密钥,使对象存储资源访问更加安全。以阿里云对象存储服务为例:




      临时凭证通常会在应用中文件上传下载功能处使用,开发时如果不注意,就有可能会将临时凭证泄露到客户端,攻击者可以利用该临时凭证获取对象存储的临时控制权限。


      上例中开发人员直接将临时凭证返回到了返回包中,解码后使用阿里云官方工具OSSBrowser即可访问。




      3.使用凭证getshell


      由于对象存储的凭证是和云账户相关的,所以在一定条件下,在获得对象存储凭证的前提下,就有可能获取云服务器的shell。


      使用行云管家导入对象存储凭证,行云管家会检索云服务器列表。




      通过行云管家导入主机后可通过重置云主机密码获得shell。




      但是在攻防演练等情景中,重置主机密码是不被允许的。针对阿里云oss凭证,可以利用github上的alicloud-tools工具直接进行命令执行获得shell。


      工具地址:https://github.com/iiiusky/alicloud-tools


      4.Bucket劫持


      在对象存储中,有“存储桶”的概念,也就是Bucket。对象存储的文件都存储在用户自行创建的Bucket下,Bucket分布在不同的云计算区域,可由用户在创建时自行选择。当开发人员错误的配置了对象存储文件的链接到了应用中,且该区域的Bucket名称不存在时,攻击者就可以进行Bucket劫持。


      首先需要寻找一个可劫持的目标,可以通过fofa等网络空间搜索引擎查找存在类似于“nosuchbucket”报错的对象存储链接,这样的报错中就会存在Bucket名配置错误的情况,如果Bucket名配置错误且未被占用,就可以进行劫持。


      对象存储的文件链接一般由四部分组成,https://aaa.bbb.ccc/ddd,aaa通常表示Bucket名称,bbb通常表示Bucket所在区域,aaa和bbb有时也可互换,ccc表示云计算厂商提供的服务域名,ddd表示文件目录和文件名。


      在上图中,该区域的该名称的bucket不存在,此时访问1.html也同样会提示错误


      登录自己的对象存储存储服务,创建一个和上图区域一致、名称相同的bucket,可以创建成功。


      在创建的bucket中上传一个1.txt文件。


      访问上面报错的链接,发现可以访问,劫持成功。

      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部