一、2022年CSA发布的《云计算的11类顶级威胁》:
1)身份、凭据、访问和管理密钥、特权账号管理的不足
2)不安全的接口和API
3)配置不当和变更控制的不足
4)缺乏云安全架构和战略
5)不安全的软件开发
6)不安全的第三方资源
7)系统漏洞
8)云计算数据的意外泄露
9)无服务器和容器化工作负载的配置不当和利用
10)有组织的犯罪、黑客和APT攻击
11)云存储数据泄露
二、云计算攻防VS传统攻防
1)攻击面:
云计算攻防涉及的攻击面不止包含传统攻防中的资产和服务,同时增加了云计算独有的一些资产,比如:云服务资源、云管理平台等。
2)攻击复杂度:
由于虚拟化技术、资产共享、相对复杂的架构,导致云计算攻防的逻辑层次更加复杂,攻击路径更加灵活多变,因此攻击复杂度变得更高。
三、云上横向、纵向攻击路径
1、纵向攻击路径(纵向攻击指通过互联网、自外向内的攻击路径)
1)利用裸金属服务器管理接口
2)利用租户虚拟机逃逸
3)独立租户VPC实例模式的容器和微服务网络攻击
4)共享集群模式容器和微服务网络攻击
5)SaaS服务共享集群模式攻击
6)恶意攻击者针对云服务平台业务互联网络的旁路攻击
7)恶意攻击者针对云服务平台开发/运营网络的旁路攻击
8)针对云用户控制台界面或开放式API的攻击
2、横向攻击路径(横向攻击路径指在获取一定权限后,利用网络或共享资源进行横向移动的路径)
1)利用租户资源和访问权限,在VPC内进行横向迁移攻击,或作为跳板攻击其他用户
2)利用微服务不同功能组件间共享资源或权限的横向迁移
3)利用共享数据库集群间的资源或数据进行横向迁移
4)当成功实现虚拟机逃逸后,利用Hypervisor和硬件层面的控制面网络和接口进行横向迁移
5)利用网络虚拟化的共享资源、威胁接触面和控制面网络进行横向迁移
6)利用存储虚拟化的共享资源、威胁接触面和控制面网络进行横向迁移
7)利用云平台管理面/控制面和业务面间的接口进行横向秦阿姨
8)BMC等固件破坏后获取进行物理机层面的潜伏,或利用底层硬件权限反向获取Hypervisor OS或租户虚拟机OS的数据和系统访问权
四、常见云上攻击场景
1、场景一:利用泄露的云凭据&IAM服务
1)攻击路径:
窃取云凭据→查询凭据权限→利用IAM服务进行权限提升→横向移动→控制云服务资源
①云凭据窃取:https://mp.weixin.qq.com/s/jTMxeJcc3vlrnf7RWeSGBQ
②IAM:https://mp.weixin.qq.com/s/Yemzqd-TEfzjrCIyS0I_2A
<CVE-2022-2385:AWS IAM提权漏洞>
<GitHub Waydev服务客户凭据泄露漏洞>
2、场景二:利用实例元数据服务
1)攻击路径:
应用漏洞利用(CVE)→获取元数据服务访问权限→角色信息获取→角色临时凭据获取→临时凭据权限查询→横向移动→控制云服务资源→数据窃取
2)原理:
元数据服务是一个内网服务,通过该服务,可以在主机内取得当前云主机实例的元数据,便于对管理和配置实例,但其中也包含一些敏感数据,如角色的临时访问凭据。当攻击者获取到云服务器实例的访问权限时,可以利用元数据服务获取角色的临时凭据进行权限提升和横向移动。
<Capital One攻击事件:横向移动窃取AWS S3存储桶敏感数据>
3、场景三:利用容器逃逸
1)攻击路径:
应用程序漏洞利用→获取容器权限→容器逃逸→横向移动至其他容器或其他节点→寻找有效凭据→横向移动→控制云服务资源
2)原理:
容器逃逸利用手法大致分为四种:
①危险配置导致的容器逃逸
②危险挂载导致的容器逃逸
③相关程序漏洞导致的容器逃逸
④内核漏洞导致的容器逃逸
通过其中任一手法都可能逃逸至宿主机,从而横向至其他容器或其他节点,然后寻找有效凭据,最终获取云服务资源权限。
3)攻击实例:https://mp.weixin.qq.com/s/_GwGS0cVRmuWEetwMesauQ
<检测到容器探测行为>
<检测到Privileged特权模式进行容器逃逸操作>
<检测到Dcoker Socket挂载导致容器逃逸>
<检测到Procfs挂载反弹shell行为>
<CVE-2019-5736:覆盖主机runC程序导致容器逃逸>
<CVE-2016-5195:脏牛内核漏洞导致容器逃逸>
4、场景四:利用错误配置的存储桶
1)攻击路径:
存储桶服务发现->使用凭据访问IAM->窃取云凭据->查询凭据权限->权限提升->横向移动->获取云服务器资源
2)原理:
对象存储也称为基于对象的存储,是一种计算机数据存储架构,旨在处理大量非结构化数据。 与其他架构不同,它将数据指定为不同的单元,并捆绑元数据和唯一标识符,用于查找和访问每个数据单元。 这些单元(或对象)可以存储在本地,但通常存储在云端,以便于从任何地方轻松访问数据。大部分公有云厂商都推出了对象存储服务,如AWS S3、Azure Blob、阿里云OSS等。存储桶在使用时会涉及公开访问、公开读写等权限设置,一旦配置不当,便有可能造成安全风险。
5、场景五:利用虚拟机逃逸
1)攻击路径:
应用程序漏洞利用->获取云服务器控制权->虚拟机逃逸->获得宿主机控制权->横向移动->接管宿主机上虚拟机资源
2)原理:
当通过应用程序漏洞获取云服务器控制权时,可通过一些信息收集手段判断当前所处的环境,或是容器、或是虚拟机、或是物理机。当自身处于虚拟机环境中时,为了进一步扩大权限,便可以采用虚拟机逃逸,获取宿主机权限,尝试横向移动,从而接管宿主机上所有虚拟机资源。
3)攻击实例:
虚拟机环境检测 - 先知社区
①虚拟机探测:https://bbs.kanxue.com/thread-119969.htm
<检测到通过特权指令探测是否为虚拟机>
<检测到利用IDT基址探测是否为虚拟机>
<检测到利用LDT和GDT探测是否为虚拟机>
<检测到基于STR探测是否为虚拟机>
<检测到在注册表中搜索关键词探测是否为虚拟机>
<检测到查看虚拟硬件指纹探测是否为虚拟机>
②命令行:
<检测到使用dmidecode指令进行信息探测>
<检测到使用systemd-detect-virt命令进行信息探测>
总结,检测虚拟机的手段可以分为以下几类:
-搜索虚拟环境的进程、文件系统、注册表
-搜索虚拟环境内存
-搜索虚拟环境特定虚拟硬件
-搜索虚拟环境的特定处理器指令和功能
6、场景六:对企业内部网络、运维或管理内部网络进行攻击
1)攻击路径:
钓鱼邮件攻击->进入企业内部网络->探测云管理平台->横向移动->获取云平台权限->接管云服务
2)原理:
在2022年的RSAC会议中,来自Varonis公司的Matt Radolec分享了议题《Pain in the Apps — Three Attack Scenarios Attackers Are Using to PWN SaaS》,主要介绍了三种针对SaaS平台的攻击场景,每种攻击场景都始于钓鱼邮件。当企业员工意识薄弱,容易受到钓鱼邮件攻击,可能被攻击者获取内网权限或窃取云平台的Cookie。然后攻击者利用内网权限或Cookie获取云平台权限,最终接管云服务,对企业安全造成破坏。
3)攻击实例:
RSAC解读:面向数据的SaaS攻击案例
<冒充登录SSO>
<通过Github&Slack窃取Salesforce数据>
<钓鱼邮件窃取SaaS平台的Cookie>
7、场景七:K8S集群中的渗透测试
1)攻击路径:
应用程序漏洞利用->获取容器权限->容器逃逸->接管节点->利用高权限ServiceAccount横向移动->接管集群
2)攻击实例:
<利用Node/Proxy提权>:https://mp.weixin.qq.com/s/tV3HOaE3TzJ6EbuEmYYfdA
<利用CSR API提权>:https://mp.weixin.qq.com/s/tV3HOaE3TzJ6EbuEmYYfdA
<检测到Siloscape恶意软件利用Deployment后门提权>:https://mp.weixin.qq.com/s/tV3HOaE3TzJ6EbuEmYYfdA