目录
云概念
公有云、私有云、混合云
云服务模式
云常见术语
国内外常见云平台介绍
阿里云
亚马逊云(AWS)
微软云(AZure)
Access Key身份验证
连接工具
云渗透方法思路
云概念
随着技术的发展,云服务器逐渐的取代了普通的机房,越来越多的公司选择将自己的服务迁移到云上。原因在于使用云平台成本更低,可扩展性强,安全性,方便管理。
那么,什么是云呢?云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。云服务器可以帮助您快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务的创新。
公有云、私有云、混合云
- 公有云:提供商用的云,优点是成本低、无需维护、高可靠性、缩放性。阿里云、腾讯云等都属于公有云
- 私有云:专供一个企业或组织使用的资源,可自定义硬件资源,私有云使用对象通常是政府、金融机构等中大型企业。优点是灵活性更高、安全性更高、缩放性更高
- 混合云:私有云与公有云相结合,在两者中之间移动,如一些Web服务放在公有云,敏感数据内部系统放私有云。优点是控制性、灵活性 、成本效益。
云服务模式
云有三种服务模式:Laas、Paas 和 Saas
- IaaS: Infrastructure-as-a-Service(基础设施即服务)提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。
- PaaS:Platform-as-a-Service(平台即服务)提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。
- SaaS:baiSoftware-as-a-Service(软件即服务)提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等;
消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、,防火墙,、负载均衡器等)的控制。
云常见术语
ECS
- 云服务器(Elastic Compute Service,简称ECS)
RDS
- 关系型数据库服务(Relational Database Service,简称 RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。
- RDS 采用即开即用方式,兼容 MySQL、 SQL Server 两种关系型数据库,并提供数据库在线扩容、备份回滚、性能监测 及分析功能。
- RDS 与云服务器搭配使用 I/O 性能倍增,内网互通避免网络瓶颈。
对象存储 OSS(理解为网盘)
- 对象存储(Object Storage Service),是阿里云对外提供的海量、安全和高可靠的云存储服务。
- RESTFul API 的平台无关性,容量和处理能力的弹性扩展,按实际容量付费真正使您专注于核心业务。
安全组
- 安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。
- 同一安全组内的ECS实例之间默认内网网络互通。
国内外常见云平台介绍
国内常见的云有:阿里云、腾讯云、百度云、华为云、京东云。
国外常见的云有:亚马逊云(Amazon Web Services (AWS) )、微软云(Azure)、谷歌云(Google Cloud)
阿里云
阿里云创立于2009年,是由阿里的博士王坚带领团队成立的。是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。阿里云服务着制造、金融、政务、交通、医疗、电信、能源等众多领域的领军企业,包括中国联通、12306、中石化、中石油、飞利浦、华大基因等大型企业客户,以及微博、知乎、锤子科技等明星互联网公司。
阿里云提供服务包括:
- 云服务器ECS
- 云数据库RDS
- 专有网络VPC
- 对象存储OSS
- 负载均衡
- CDN
- DataWorks
亚马逊云(AWS)
亚马逊AWS(Amazon Web Services (AWS) )是亚马逊提供的专业云计算服务,于2006年推出,以Web服务的形式向企业提供IT基础设施服务,通常称为云计算。其主要优势之一是能够以根据业务发展来扩展的较低可变成本来替代前期资本基础设施费用。
亚马逊网络服务所提供服务包括:
- 亚马逊弹性计算网云(Amazon EC2)
- 亚马逊简单储存服务(Amazon S3)
- 亚马逊简单数据库(Amazon SimpleDB)
- 亚马逊简单队列服务(Amazon Simple Queue Service)
- Amazon CloudFront
AWS是全球使用量第一的云服务提供商,AWS泄漏的用户AccessKey利用比较苛刻,因为不是根据用户的AccessKey而是通过IAM(身份和访问管理)创建出来的用户,对访问S3、EC2等都有很细的权限控制。就算拿到了AccessKey都不一定能获取到信息或者直接控制EC2。像AWS要针对单个站点渗透还是比较难的,特别是在没有明显Web漏洞的目标,基本开放的端口也只有80,443,除非用户配置不当允许所有端口可访问。AWS可能存在下面一些安全问题:
- 配置不当泄漏
- S3权限配置不当
- 安全组配置不当
- IAM权限配置不当
- 等等
微软云(AZure)
Windows Azure是微软基于云计算的操作系统,Windows Azure的主要目标是为开发者提供一个平台,帮助开发者开发可运行在云服务器、数据中心、Web和PC上的应用程序。云计算的开发者能使用微软全球数据中心的储存、计算能力和网络基础服务。
Azure服务平台所提供服务包括:
- Windows Azure
- Microsoft SQL数据库服务
- Microsoft .Net服务
- 用于分享、储存和同步文件的Live服务
- 针对商业的Microsoft SharePoint
- Microsoft Dynamics CRM服务
如果使用Windows操作系统还是建议选择Azure,因为AWS 比用于 Windows Server 和 SQL Server 的 Azure 贵 5 倍。Azure更好集成Office 365和Active Directory,像有些同学在学习内网渗透的时候如果自己电脑硬件不允许的话,可以使用Azure创建域环境进行练习。
Access Key身份验证
阿里云用户可以在管理控制台里自行创建Access Key。Access Key是由AccessKey ID和AccessKey Secret组成。 其中 ID 是公开的,用于标识用户身份,Secret 是秘密的,用于用户鉴别。
身份验证流程:
- 当用户向 OSS 发送请求时,需要首先将发送的请求按照 OSS 指定的格式生成签名字符串;
- 然后使用 AccessKey Secret 对签名字符串进行加密(基于HMAC 算法)产生验证码。
- 验证码带时间戳,以防止重放攻击。
- OSS 收到请求以后,通过 AccessKey ID 找到对应的 AccessKey Secret,以同样的方法提取签名字符串和验证码,如果计算出来的验证码和提供的一样即认为该请求是有效的;否则,OSS 将拒绝处理这次请求,并返回 HTTP 403 错误。
正是由于当Access Key泄露后的巨大危害,阿里云提供配置RAM用户。使用RAM用户连接OSS,就算Access Key泄漏造成的影响也是有限。RAM (Resource Access Management) 是阿里云为客户提供的用户身份管理与访问控制服务。
- 使用RAM,您可以创建、管理用户账号(比如员工、系统或应用程序),并可以控制这些用户账号对您名下资源具有的操作权限。
- 当您的企业存在多用户协同操作资源时,使用RAM可以让您避免与其他用户共享云账号密钥,按需为用户分配最小权限,从而降低您的企业信息安全风险。
- 一个云账号下可以创建多个RAM用户,对应企业内的员工、系统或应用程序。
- RAM用户归属于云账号,只能在所属云账号的空间下可见,而不是独立的云账号。
- RAM用户必须在获得云账号的授权后才能登录控制台或使用API操作云账号下的资源。
连接工具
- OSS Browser
- OSSUTIL
- API Explorer
- 第三方平台
OSS Browser、OSSUTIL只能对于OSS进行操作,API Explorer 或 第三方写好的工具可以操控ECS。
OSS外网地址组成如下:
模板:https://[Bucket名称].oss-区域.aliyuns.com guizideoss.oss-cn-beijing.aliyuncs.com
云渗透方法思路
上了云就一定很安全吗?比如阿里云的站点基本是国内企业站点,所以安全系数并不会太高,有些渗透测试人员看到IP地址是阿里云、某某盾就会放弃,自己心理的暗示害怕畏惧,黑客精神必需具备迎难而上和精益求精的精神。
其实云渗透和常规的渗透是没有任何区别的,只是词变了,本质是一样,也会存在常规的漏洞SQL注入、弱口令、文件上传、网站备份泄漏等等,除了常规的Web漏洞也会随着新技术带来新的风险,例如AccessKey泄漏利用、配置不当利用。
除了常规渗透和云客户泄漏出来的AccessKey,通过特殊手段还可以获取目标镜像,还原Vmware虚拟机或者通过Diskginus查看文件。
资产信息查找还是和常规渗透一样子域名查找、端口扫描、目录扫描、指纹识别等。
在查找的过程中留意AccessKey等密钥:
- APK文件中
- Web页面/JS文件
- Github查找目标关键字发现 access-key-id 与 access-key-secret
- 常规配置文件
- 低权限WebShell的情况下搜集阿里云Acckey Key
- Fofa、Zoomeye、Shodan关键词查找。
如果是AWS还可以通过DNS缓存、buckets.grayhatwarfare查找。
发现AccessKey之后可以通过行云管家、OSS Browser、API Explorer、AWS CLI等连接,阿里云和AWS权限分配不同,阿里AccessKey有些使用根用户权限较大能直接控制ECS,而AWS获取到的AccessKey有限制,有些则是S3、或者EC2,但并不一定都拥有上传或修改的权限。
阿里遇到常规漏洞注入,使用相同地区机器进行注入,Windows机器上脱库有很多方式,远程陌生IP登录提示可以通过隧道、远控、AnyDesk等工具绕过。
AWS遇到SSRF可以读取元数据、任意文件读取主机信息、可以使用Pacu工具进行自动化测试。
如果想跟我一起讨论的话,就快加入我的知识星球吧。星球里有一千多位同样爱好安全技术的小伙伴一起交流!知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具
参考文章:云渗透思路
相关文章:王任飞(avfisher):Red Teaming for Cloud(云上攻防)
K8s基础入门学习