云上攻防--云服务&&对象存储(域名接管)&&弹性计算(元数据泄露)

对象存储

各个厂商对于对象存储的叫法不同,但是除了叫法基本没有其他区别。

  • 对象存储各大云名词:

阿里云:OSS 腾讯云:COS 华为云:OBS

谷歌云:GCS 微软云:Blob 亚马逊云:S3

对于对象存储的漏洞或者说错误配置点如下

权限配置错误

  • 权限Bucket授权策略:设置ListObject显示完整结构(类似于目录遍历)
  • 权限Bucket读写权限:公共读写直接PUT文件任意上传,由于管理员配置对象存储时错误配置公共读写权限,使得任何人都可以进行写入,通过PUT方法即可任意上传文件。

域名接管

对象存储可以配置域名映射,接管域名即是Bucket存储桶绑定域名后,访问域名即访问对象存储中的存储桶,当存储桶被删除而域名解析未删除,访问域名时候显示关键信息NoSuchBucket时可以尝试接管。

接管流程:

  1. 确认域名绑定存储桶(通过ping命令出现对象存储解析地址)
2. 通过域名访问存储桶提示NoSuchBucket(没有这样的桶)
3. 通过对象存储地址信息推断出存储桶名称、对象存储厂商、云存储所在城市
4. 去对应得厂商创建对应城市对应名称的存储桶
5. 再次访问域名即可访问到所创建的存储桶

当Bucket显示NoSuchBucket说明是可以接管的,如果显示AccessDenied则不行。

参考文章

阿里云 OSS 对象存储攻防

AK/SK泄漏:

通过泄露的AK/SK进行接管

  • APP逆向源代码
  • 小程序反编译
  • JS代码泄露
  • 代码托管平台泄露
  • 接口泄露

得到AK/SK之后可以利用云服务工具直接连接相应服务进行任意操作,例如各云厂商的官方工具、CF利用工具等。

云业务 AccessKey 标识特征整理

弹性计算

元数据泄露

  • 元数据

关于什么是元数据以下引用阿里云对于元数据的解释:

实例元数据(metadata)包含了弹性计算云服务器实例在阿里云系统中的信息,您可以在运行中的实例内方便地查看实例元数据,并基于实例元数据配置或管理实例。(基本信息:实例ID、IP地址、网卡MAC地址、操作系统类型等信息。实例标识包括实例标识文档和实例标识签名,所有信息均实时生成,常用于快速辨别实例身份。)

总的来说,元数据就是存储了一些服务器的关键信息。每个厂商的服务器都存在元数据,但是各个厂商的获取元数据的地址不同。

各厂商元数据获取地址:

阿里云元数据地址:http://100.100.100.200/latest/meta-data/
腾讯云元数据地址:http://metadata.tencentyun.com/latest/meta-data/
华为云元数据地址:http://169.254.169.254/openstack/latest/meta_data.json
亚马逊云元数据地址:http://169.254.169.254/latest/meta-data/
微软云元数据地址:http://169.254.169.254/
谷歌云元数据地址:http://metadata.google.internal/

具体查询方式可以查询云厂商官方说明

查询样式如下图:

  • 访问控制

访问控制是云厂商提供的一种运维手段,可以将管理员用户的权限进行拆分,将部分权限交给其他用户。从而控制对于云服务资源的访问。

各云厂商对于访问控制的名称不同,阿里云称之为RAM。

  • 利用条件
  1. 弹性计算配置RAM访问控制管理角色
  2. 获取服务器权限、发现SSRF漏洞、RCE等可以控制目标机器访问其他地址

配置RAM访问控制管理角色后获取元数据会多一项RAM。



依次进行访问特定地址后通过泄露的元数据信息得到AccessKeyId以及AccessKeySecret即可通过利用工具对目标账号下的资源进行接管,接管资源根据AK/SK的权限而定,也就是当前弹性计算所配置RAM角色权限大小而定。



根据元数据中泄露的AK/SK可以使用利用工具进一步利用。

云渗透项目CF,目前工具已经闭源,最新开源版本在0.5,网上应该可以找到开源版本。

加固措施

  1. RAM角色权限过大导致控制台被接管, 主要还是需要使用者严格遵守权限最小化的原则,在为 RAM 角色赋予权限时,避免赋予过高的权限,只赋予自己所需要的权限,这样可以将影响程度降到最低,但是这并不能治本
  2. 将实例上的元数据访问模式设置为加固模式 ,不过这种方法在攻击人员拿下实例权限后依然会通过获取token的方法来访问元数据

参考文章

阿里云控制台接管

阿里云 ECS 弹性计算服务攻防

云上攻防--云服务&&对象存储(域名接管)&&弹性计算(元数据泄露)的更多相关文章

  1. .NET Core2使用Azure云上的Iot-Hub服务

    基于工业4.0大背景下的工业物联网是近几年内热门的话题,依靠信息化技术企业可以实现数字化转型,生产可以实现智能化制造,设备可以实现自动化运作.然而,海量的数据采集是整个建设过程的基础环节,如何处理与利 ...

  2. 在华为云上开启FTP服务并建立FTP站点来从本地向服务器发送和下载文件

    时间:2019/12/8 最近学习计算机网络的时候老师布置了一个实践作业,具体要求是两个人一组,一个在电脑上建立FTP站点,另一个开启FTP服务器来进行文件的上传和下载. 看到这个的时候我灵机一动,正 ...

  3. 阿里云Oss对象存储

    将文件保存到阿里云上. 1.添加对象存储OSS空间 (新建Bucket) 可以在阿里云后台对象存储里面添加,也可以通过api添加.添加之后设置权限. skd使用. 1安装 Aliyun.OSS.SDK ...

  4. 阿里云对象存储OSS及CDN加速配置

    目录 十大云存储服务商 1. 登陆阿里云官网,开通对象存储服务 OSS 2. 创建存储空间 3. 绑定自定义域名 4. 配置阿里云CDN加速 5. 购买阿里云免费SSL证书 6. 阿里云CDN配置HT ...

  5. TiKV 在京东云对象存储元数据管理的实践

    京东云对象存储是在 2016 年作为公有云对外公开的,主要特点是可靠.安全.海量.低成本,应用于包括一些常用的业务场景,比如京东内部的京东商城视频/图片云存储,面向京东云公有云外部的开发者的服务,和面 ...

  6. 腾讯云COS对象存储占据数据容灾C位

    说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...

  7. 云上大数据存储:探究 JuiceFS 与 HDFS 的异同

    HDFS 作为 Hadoop 提供存储组件,已经成为大数据生态里面数据存储最常用的选择,通常在机房环境部署. JuiceFS 是一个基于对象存储的分布式文件系统,用户可以在云上快速地搭建按需扩容的弹性 ...

  8. 7款WordPress图片分离对象存储插件 含国内主流云服务存储商

    如果我们有用WordPress搭建网站的朋友应该会发现网站文件和数据库其实没有多大,在网站运营几年后数据最大的就是图片.而且图片占用服务器的空间会搬家比较麻烦,而且占用服务求的带宽.我们看到很多的Wo ...

  9. 从On-Premise本地到On-Cloud云上运维的演进

    摘要: 从用户的声音中,我们听到用户对稳定.弹性.透明的诉求,我们也在不断升级ECS的运维能力和体验,助力用户建立主动运维体系,赋能业务永续运行.为了让大家更好的了解和用好ECS弹性计算服务,从本期开 ...

  10. 在阿里云上遇见更好的Oracle(三)

    鬼扯完“去IOE”,继续回来说说这个系列文章的主角Oracle. 在DB-Engine的数据库排行榜中,Oracle已经占据了多年的第一(最新排名可以点击“阅读原文”).当然因为互联网行业的兴起,My ...

随机推荐

  1. ionic app调试问题

    以下是一些ionic app在模拟器中的调试问题: 1. CORS问题 官方原文以及解释:Handling CORS issues in Ionic 国内翻译:彻底解决Ionic项目中的跨域问题 2. ...

  2. 【matplotlib基础】--3D图形

    matplotlib 在1.0版本之前其实是不支持3D图形绘制的. 后来的版本中,matplotlib加入了3D图形的支持,不仅仅是为了使数据的展示更加生动和有趣.更重要的是,由于多了一个维度,扩展了 ...

  3. 一种对数据库友好的GUID的变种使用方法

    概述 .NET生成的GUID唯一性很好,用之方便,但是,缺少像雪花算法那样的有序性.虽然分布式系统中做不到绝对的有序,但是,相对的有序对于目前数据库而言,索引效率等方面的提升还是有明显效果的(当然,我 ...

  4. ContextWrapper

    /* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  5. 给wordpress后台侧栏菜单添加自定义字段的方法

    我们在使用wordpress做网站的时候,难免有一些需要在后台设置侧栏菜单下添加自定义字段的情况.下面就简单说说一下,如何在后台设置侧栏菜单下添加自定义字段? 在这里我们主要是使用wordpress的 ...

  6. 使用 Ant Design Vue 你可能会遇到的14个问题

    公司有一个新需求,在原来项目基础上开发,项目中使用 Ant Design Vue,版本是 1.X ,在此记录下遇到的问题:对于没有使用过或者使用程度不深的同学来说,希望可以帮助你在开发中遇到问题时有个 ...

  7. js数据结构--字典

    <!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...

  8. Error running 'TestAlterNickname.test': Command line is too long. Shorten command line for TestAlterNickname.test or also for JUnit default configuration

    问题描述 如图IDEA报错问题,发生在我用JUnit进行测试时. 解决方法 1. 直接点击 default 2. Modify options -> Shorten command line 3 ...

  9. 机器人的运动范围(dfs)(leetcode 4.8 每日打卡)

    地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] .一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左.右.上.下移动一格(不能移动到方格外),也不能进入行坐标和列 ...

  10. LOG日志系统

    # coding=utf-8 import datetime import logging import os import sys from logging.handlers import Time ...