云安全攻防入门 lzCloudSecurity

云安全攻防入门 lzCloudSecurity

读者及对象

适用于初中级安全从业人员,乙方安全测试,甲方安全自检,网络安全爱好者等,企业安全防护与提高。

云计算概念

云计算概念

云计算概念最早由Google前首席执行官, 埃里克*施密特, 在2006年搜索引擎大会上首次提出的一种构想, 而“云计算”就是这种构思的代名词, 云计算以虚拟化为基础,以网络为中心,为用户提供安全、快速、便捷的数据存储和网络计算服务,包括所需要的硬件、平台、软件及服务等资源,而提供资源的网络就被称为,“云”。

用通俗易懂的话解释就是:云计算是一种计算模型,它提供了一种通过互联网远程使用共享计算资源的方式。这些计算资源包括计算机处理能力、存储空间、数据库和软件等。这样,用户就可以在需要时随时随地获取这些资源,而不用自己拥有和维护这些硬件和软件。简单来说,云计算就是在互联网上用别人的电脑来运行自己的程序。

云计算模式

云安全攻防入门 lzCloudSecurity

云计算模式是指云计算服务的不同类型。常见的云计算模式有:

  1. 1.IaaS (Infrastructure-as-a-Service):基础设施即服务。这种模式提供了基础设施层的服务,如虚拟机、存储、网络等,用户可以根据需要自己搭建和管理系统。
  2. 2.PaaS (Platform-as-a-Service):平台即服务。这种模式提供了平台层的服务,如数据库、编程框架等,用户可以在这个平台上开发和部署自己的应用程序。
  3. 3.SaaS (Software-as-a-Service):软件即服务。这种模式提供了应用层的服务,如电子邮件、协作工具等,用户可以直接使用这些软件。优点是减少安装、减少的繁琐升级操作、统一管理。

这三种模式可以相互结合使用,根据需要提供不同层次的服务。

云计算分类

  • 公有云:公有云是由云服务提供商提供的服务,可以由多个客户共享。常见的公有云服务包括亚马逊云、谷歌云、微软云等。公有云通常提供自动化、弹性和可伸缩性,适用于应用程序和数据的开发和部署。
  • 私有云:私有云是由单个组织拥有和管理的云服务,只能由该组织的员工使用。私有云常用于保护敏感数据和满足特殊需求。私有云提供了更高的安全性和控制性,适用于数据中心的迁移和现有应用程序的升级。
  • 混合云:混合云是私有云和公有云的结合。它允许组织在公有云和私有云之间进行数据和应用程序的流动。混合云可以提供最佳的安全性和灵活性,适用于多种业务场景。

在网上看到有个不错的比喻,拿来大家分享一下:

张三自己在家做饭吃,这是私有云,厨房就是自建机房。

李四天天在饭店吃,这是公有云,饭店就是云数据中心。

然后王五比较牛叉,在饭店有个固定包间,不对外开放,这是托管型私有云(有的厂商将其定义为专有云)。包间就好比云数据中心的托管服务器。

某一天张三家来了十来个客人,这是业务突增,家里没法坐下那么多人,要去饭店,这是私有云转公有云。

然后张三爸妈为了省点钱决定留在家里吃,张三带着客人去饭店吃,这就是混合云。

还有一种情况,饭店仅对某个特定的人群比如说公务员开放,那就相当于社区云。

当然,举例不十分恰当,毕竟饭还是买的,而云是租的,这个例子就是帮助大家简单区分一下。

在了解了云计算的分类之后,建立云环境时会使用到虚拟化和容器化技术。让我们简单地介绍一下它们。

公有云和私有云的核心在于最大化利用计算资源,通过虚拟化技术可以将一台物理机转化为多台虚拟服务器。虚拟化技术不可或缺的是虚拟化软件,常见的虚拟化软件包括Vmware和KVM,KVM是一个开源的解决方案,目前在公有云场景中较为常见,并且代表着整个行业的最高水平。

而容器技术是近几年非常热门的一种理念,它代表了兼容性和弹性能力。容器非常轻量级,主要依靠Linux内核的隔离能力。目前有影响力和流行的两个容器产品是Docker和K8S,K8S常常被称为云原生的代名词。

什么是云安全

云安全是云计算行业的专业术语,云安全 (Cloud security ),是指基于云计算商业模式应用的安全软件,硬件,用户,机构,安全云平台的总称。

“云安全” 是 “云计算” 的重要组成部分,在反病毒领域有广泛应用。它通过监测网络中软件行为的异常,获取最新的木马和恶意程序信息,并将其自动分析和处理,再将解决方案分发到每一个客户端。这样整个互联网就成为了一个超级大的杀毒软件,这就是云安全的目标。

这门课程也被我称为“云安全”,难免有些概念上的冲突但叫着顺口,而更改为“云上攻防”这个名称更符合课程内容,这门课主要关注渗透和横向渗透技术,而不是用户身份、业务、用户数据安全问题。

云安全和传统安全的区别

一是网络边界不可见。云计算通过引入虚拟化技术,将物理资源池化,按需分配给用户,这里涉及到计算虚拟化、网络虚拟化、存储虚拟化。

云服务商为用户提供虚拟化实体,对用户而言,以租用的形式使用的虚拟主机、网络和存储,传统的网络边界不可见。

在云计算中,传统的安全问题仍然存在,诸如拒绝服务攻击、中间人攻击、网络嗅探、端口扫描、SQL 注入和跨站脚本攻击等。

渗透和云渗透有什么区别

云渗透和传统渗透技术没有本质区别,只是应用场景不同。依然存在常见漏洞如SQL注入、弱口令、文件上传、网站备份泄露等。随着新技术的出现,会有新的安全风险,如AccessKey泄露的利用、OSS配置不当、容器化、K8s带来新的攻防技术。

公有云攻击面介绍

云安全攻防入门 lzCloudSecurity

常见的公有云服务包括亚马逊云、谷歌云、微软云、阿里云、腾讯云等。

这里我把公有云攻击分为两类:

针对租户的攻击:对于在云上的目标,依然存在常见的Web漏洞,SQL注入、弱口令、文件上传、SSRF,除此之外上云还出现了新的攻击方式,例如:AccessKey泄露接管服务器、存储桶配置不当、传统漏洞结合云特性获取实例元数据。

针对云平台的攻击:以下是大致思路,实际是围绕着整个云平台的架构攻击。

1. 云产品进行文件处理属性时引发漏洞

(1) 机器学习系统支持自定义函数

(2) 大数据计算引擎支持UDF

(3) 沙箱绕过等

2. 攻击中间件服务

(1) 攻击消息队列:Kafka、ActiveMQ、RabbitMQ

(2) 分布式服务框架:Dubbo、Zookeeper、TAF

(3) 监控或发布服务: hue、splunk、cacti、jenkins、zabbix、ElasticSearch

3. 数据库产品配置

(1) Python、Java、NodeJS沙箱绕过

(2) MySQL/MSSQL/PostGreSQL等

4. 开源产品已知问题

(1) Redis

(2) Mongodb

(3) Hadoop

5. 虚拟化逃逸

(1) KVM-QEMU逃逸

(2) 容器等逃逸

针对公有云的攻击还需要了解云相关产品、了解相关产品操作、了解架构文档、了解产品功能和架构模块。

AWS:https://docs.aws.amazon.com/

GCP:https://cloud.google.com/docs?hl=zh-cn

Azure:https://azure.microsoft.com/zh-cn/

阿里云:https://help.aliyun.com/

腾讯云:https://cloud.tencent.com/document/api

私有云攻击面介绍

云安全攻防入门 lzCloudSecurity

私有云的架构和公有云差不多,除了公有云的一些攻击点,更应该关注的是:

  1. 1.私有云缺乏有效隔离,可横向攻击私有云部署在企业的业务生产网,云的底座网络、物理设备与业务网络在同一安全域,大多时候缺乏有效隔离
  2. 2.使用的开源组件列表漏洞私有云的云产品属于定制开发,使用大量三方组件,且存在大量应用层的漏洞
  3. 3.虚拟化逃逸取得宿主机控制权通过获取应用服务器权限
  4. 4.常规应用漏洞(Shiro、Fastjson等…)

虚拟化攻击面

私有云与虚拟化有密切的关系,因为私有云是建立在虚拟化技术的基础上的。虚拟化技术可以将一台物理机器的资源,如CPU、内存、存储等,通过软件层面划分成多个虚拟机,使得这些虚拟机可以独立运行不同的操作系统和应用程序。

攻击Vmware虚拟化

云安全攻防入门 lzCloudSecurity

虚拟化最直接利用的是漏洞例如:CVE-2021-21972、CVE-2021-21985、CVE-2021-22005。Vsphere、Esxi、vCenter弱密码,没有漏洞只能通过钓鱼,获取域控,信息收集获取虚拟化平台权限。

攻击OpenStack

OpenStack是一个开源的云计算软件平台,支持虚拟化。OpenStack与虚拟化技术紧密结合,使用KVM作为其默认的虚拟化技术,也可以使用其他的虚拟化技术,如Xen、LXC等。

云安全攻防入门 lzCloudSecurity

1.网络暴露:管理控制台,弱口令、高危漏洞

2.网络暴露:API 接口,未授权访问、越权、高危漏洞

3.网络暴露:三方组件引入的接口

4.网络暴露:容器服务

5.网络暴露:运营/运维服务

6.OpenStack 部署在企业的业务生产网,云的底座网络、物理设备与业务网络在同一安全域,物理设备的监控和管理可横向攻击

云原生攻击面介绍

云原生技术是一种基于微服务和容器技术的架构,它将应用程序和基础设施整合到一个云环境中。但是,云原生技术也存在一些攻击面。下面是一些常见的云原生攻击面:

云安全攻防入门 lzCloudSecurity

1. Pod开放到互联网

2. Pod对其它Pod或服务开放

3. 从Pod向Node逃逸

4. 从Pod攻击Master Node组件

5. 从Pod攻击API Server

6. 从API Server攻击其它Pods/Nodes

7. 从K8s集群攻击云内的其它服务

目录截图

云安全攻防入门 lzCloudSecurity
云安全攻防入门 lzCloudSecurity
云安全攻防入门 lzCloudSecurity

书籍地址

lzcloudsecurity.gitbook.io

项目地址

Github:
github.com/EvilAnne/lzCloudSecurity

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注