大数跨境

云环境横向移动技术与场景深度剖析——基于AWS、GCP、Azure三大云厂商

云环境横向移动技术与场景深度剖析——基于AWS、GCP、Azure三大云厂商 河北镌远网络科技有限公司
2026-04-14
2

在云原生技术快速普及的当下,云环境已成为企业核心业务的承载载体,而横向移动作为攻击者渗透云环境、窃取敏感数据、扩大攻击范围的核心手段,其技术路径与攻击场景也随云架构的迭代不断演变。

本文将深入剖析云环境中横向移动的核心技术、典型场景,聚焦AWS(亚马逊服务)、GCP(谷歌云平台)、Azure(微软云)三大主流云厂商的技术差异,展示攻击者的典型威胁行为,并提出代理与无代理结合的防御方案,为云安全防御与渗透测试提供全面参考,兼顾理论深度与实战指导性。与传统内网环境不同,云环境的横向移动可通过云API滥用与计算实例访问两种路径实现,攻击者往往将传统横向移动技术与云环境专属方法深度结合,突破云服务提供商的安全限制。尽管主流云厂商均提供网络分段、细粒度IAM(身份与访问管理)、集中式日志记录等防御措施,但云API的开放性仍存在被滥用的风险,而配置不当则会进一步放大安全漏洞,为攻击者提供可乘之机。



01

云环境横向移动核心技术拆解


云环境的横向移动技术以“云API滥用”“实例访问控制”为核心,不同云厂商的技术实现存在差异,但核心逻辑均围绕“获取权限→突破隔离→扩大范围”展开。以下将详细拆解四大主流横向移动技术,结合三大云厂商的具体实现的操作,明确攻击路径与关键要点。

1.1 技术一:快照创建(磁盘数据访问型)

该技术的核心逻辑是通过创建目标实例的磁盘快照,将快照挂载至攻击者控制的实例,从而获取目标实例磁盘中的静态数据(不包含内存数据与实例元数据中的IAM凭证)。该技术适用于所有主流云厂商,是攻击者无法直接访问目标实例时的首选横向移动手段,核心依赖高权限IAM凭证对云API的调用权限。

1.1.1 AWS:基于EBS快照的横向移动

AWS中,攻击者需先获取高权限IAM凭证,当传统横向移动手段(如滥用SSH密钥、攻击开放端口)失败时,可通过以下步骤实现横向移动:

  1. 攻击者使用自身SSH密钥创建新的EC2实例,作为控制端;

  2. 调用CreateSnapshot API,创建目标EC2实例的EBS(弹性块存储)快照;

  3. 通过CreateVolume API,基于快照创建新的卷;

  4. 调用AttachVolume API,将新卷挂载至自身控制的EC2实例,从而访问目标实例的磁盘数据。

核心操作命令(修正原文档语法错误):

aws ec2 create-snapshot --volume-id VOLUME_IDaws ec2 create-volume --snapshot-id SNAPSHOT_IDaws ec2 attach-volume --volume-id VOLUME_ID --instance-id INSTANCE_ID --device /dev/sdX

关键说明:该技术的核心优势的是无需突破目标实例的网络隔离,仅通过云API调用即可获取磁盘数据,适用于目标实例被安全组严格保护、无法通过网络直接访问的场景。

1.1.2 跨厂商适配性

该技术并非AWS专属,在GCP中可通过创建持久磁盘快照、Azure中通过创建托管磁盘快照,实现相同的横向移动逻辑——本质是利用云厂商提供的快照管理API,实现磁盘数据的跨实例迁移,进而获取目标数据。

1.2 技术二:SSH密钥滥用(实例直接访问型)

SSH密钥是云环境中实例访问的核心凭证,攻击者可通过滥用云API修改安全组规则、注入SSH公钥,突破网络隔离与身份验证,直接访问目标实例,进而获取更多凭证、扩大攻击范围。该技术在三大云厂商中均有对应的实现方式,核心依赖IAM凭证的权限与实例配置漏洞。

1.2.1 AWS:基于EC2实例连接的SSH密钥注入

攻击者持有高权限IAM凭证时,可通过以下步骤实现横向移动:

  1. 调用AuthorizeSecurityGroupIngress API,向目标实例的安全组添加入站SSH规则,开放SSH访问权限(允许攻击者控制端IP访问);

  2. 利用EC2实例连接服务,调用SendSSHPublicKey API,将自身的SSH公钥临时推送至目标EC2实例;

  3. 通过SSH连接目标实例,获取实例访问权限,进而搜索磁盘中的明文凭证(如私有SSH密钥、AWS访问令牌),实现进一步横向移动。

核心操作命令:

aws ec2-instance-connect send-ssh-public-key --instance-id INSTANCE_ID --instance-os-user USERNAME --ssh-public-key SSH_PUBLIC_KEY

关键说明:该技术的核心是利用IAM权限突破安全组限制与SSH身份验证,实现实例的直接访问,也是AWS环境中最常见的横向移动手段之一。

1.2.2 GCP:基于元数据的SSH密钥滥用

当GCP实例未启用OS Login服务时,SSH密钥会存储在实例元数据或项目元数据中——项目元数据中的SSH密钥可授予对项目内所有实例的访问权限,攻击者可利用高权限IAM凭证滥用这一特性:

  1. 通过Google Cloud CLI,将自身SSH公钥添加至目标实例元数据或项目元数据;

  2. 使用对应的SSH私钥,通过SSH连接目标实例,实现横向移动。

核心操作命令:

# 向实例元数据添加SSH密钥gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_PATH# 连接目标实例gcloud compute ssh INSTANCE_NAME --project=PROJECT_ID --key-file=PRIVATE_KEY_PATH# 向项目元数据添加SSH密钥(访问所有实例)gcloud compute project-info add-metadata --metadata-from-file ssh-keys=KEY_PATH

关键说明:虚拟私有云(VPC)的网络安全设置可限制该技术的滥用,若实例限制项目范围的SSH密钥,则该攻击路径会被阻断。

1.2.3 Azure:基于VMAccess扩展的SSH密钥重置

Azure的VMAccess扩展用于重置虚拟机访问权限,其中Linux VM支持通过该扩展更新用户的SSH公钥,攻击者可利用高权限云凭证滥用该功能:

  1. 通过Azure CLI调用VMAccess扩展,重置目标VM中特定用户的SSH公钥;

  2. 使用更新后的SSH密钥,通过SSH连接目标VM,实现横向移动;

  3. 可扩展至攻击同一资源组中的多个VM,批量重置特定用户的SSH密钥。

核心操作命令:

# 重置单个VM的SSH密钥az vm user update -u USERNAME --ssh-key-value SSH_KEY_PATH -n VM_NAME -g RESOURCE_GROUP_NAME# 批量重置同一资源组中所有VM的SSH密钥az vm user update -u USERNAME --ssh-key-value SSH_KEY_PATH --ids $(az vm list -g RESOURCE_GROUP_NAME --query "[].id" -o tsv)

1.3 技术三:串行控制台访问(绕过网络隔离型)

串行控制台是三大云厂商均提供的实例故障排除工具,可提供交互式Shell,且不依赖网络功能,能够绕过目标实例的安全组规则,是攻击者无法通过SSH访问实例时的备选横向移动手段。该技术的核心是利用云API注入凭证,获取串行控制台访问权限。

1.3.1 AWS:串行控制台SSH密钥注入

攻击者持有高权限IAM凭证时,可通过以下步骤实现访问:

  1. 调用SendSerialConsoleSSHPublicKey API,将自身SSH公钥临时推送至目标EC2实例;

  2. 建立到EC2实例的串行控制台连接,访问实例文件系统并执行Shell命令。

核心操作命令:

aws ec2-instance-connect send-serial-console-ssh-public-key --instance-id INSTANCE_ID --ssh-public-key SSH_PUBLIC_KEY

关键说明:该技术的限制在于,需要目标实例操作系统预配置用户密码或SysRq功能,否则无法完成身份验证。

1.3.2 GCP:基于SSH密钥的串行控制台连接

GCP的串行控制台依赖SSH密钥身份验证,攻击者需先将SSH公钥添加至项目或实例元数据,再通过Google Cloud CLI建立连接:

gcloud compute connect-to-serial-port INSTANCE_NAME --project=PROJECT_ID --zone=ZONE

关键说明:该操作需具备足够的云API权限,且实例需启用串行控制台功能。

1.3.3 Azure:基于VMAccess扩展的串行控制台访问

Azure中,攻击者可通过VMAccess扩展创建新的本地用户(带密码)或重置现有用户密码,再通过Azure CLI启动串行控制台连接:

# 启动串行控制台连接az serial-console connect -n VM_NAME -g RESOURCE_GROUP_NAME

关键说明:该技术的限制在于,需具备修改VM用户凭证的高权限,且串行控制台功能需处于启用状态。

1.4 技术四:System Manager滥用(批量访问型)

System Manager(系统管理器)是AWS提供的实例管理服务,攻击者若持有该服务的IAM权限,可实现对多个托管实例的批量访问与命令执行,大幅提升横向移动效率,且无需配置安全组的SSH入站规则,可有效绕过网络隔离。

1.4.1 AWS:基于System Manager的批量横向移动

核心操作分为两种场景,适用于不同的攻击需求:

  1. 交互式访问:调用StartSession API,建立到多个托管EC2实例的连接,启动交互式Shell会话,直接操作实例;

  2. 批量命令执行:调用SendCommand API,在大量托管实例中同时执行脚本,批量收集凭据文件、敏感数据,扩大攻击范围。

核心操作命令:

# 批量执行Shell命令aws ssm send-command --instance-ids INSTANCE_IDS --document-name "AWS-RunShellScript" --parameters commands=SHELL_COMMANDS --output text

关键说明:该技术的核心优势是批量操作、绕过安全组限制,是攻击者实现大规模横向移动的核心手段,适用于云环境中存在大量托管实例的场景。


02

云环境横向移动的防御方案:代理与无代理结合


云环境的横向移动攻击涉及“云端层”(云API调用)与“主机层”(实例内操作)两个维度,单一的防御方案难以实现全面覆盖。结合代理与无代理解决方案,可实现对两个层级的全方位监控与防御,兼顾云端可见性与主机层检测能力。

2.1 威胁分层与防御逻辑

攻击者的横向移动行为可分为两个层级,对应不同的防御重点:

  • 云端层:包括所有云API调用(如快照创建、SSH密钥注入、安全组修改),核心防御重点是监控异常API操作,识别权限滥用行为;

  • 主机层:包括实例内的凭证搜索、命令执行等操作,核心防御重点是监控实例内的异常行为,及时发现凭据窃取、恶意命令执行。

核心结论:无代理解决方案可提供云端层的全面可见性,监控所有云API调用;代理解决方案可提供主机层的深度检测,发现实例内的异常行为,两者结合可实现“云端+主机”的全方位防御,弥补单一方案的不足。

2.2 实战防御示例

以“SSH密钥注入”横向移动场景为例,展示两种方案的结合防御效果:

  1. 无代理解决方案:监控所有云API操作,重点识别可疑的SSH密钥相关操作(如SendSSHPublicKey、UpdateSSHPublicKey),通过云资源查询语言(RQL)编写查询规则,及时触发告警。示例RQL查询:        event from cloud.audit_logs where operation IN ('Activate Alert (New SSH key added)','ListSSHPublicKeys','ImportSshPublicKey','SendSSHPublickey','UpdateSSHPublickey','UploadPublicKey','DeleteSSHPublickey')

  2. 代理解决方案:在EC2实例上安装终端防护代理(如Cortex XDR),监控实例内的凭据访问行为,当发现进程读取云凭证文件(如AWS credentials、Azure access tokens)时,及时触发告警,阻断凭据窃取行为。

2.3 方案优势与注意事项

  • 无代理解决方案:无需在实例上安装软件,不会影响实例性能,且云日志环境难以被攻击者修改或禁用,可提供稳定的云端可见性;

  • 代理解决方案:可深度监控实例内的进程行为、文件访问,精准识别恶意操作,但存在被攻击者禁用的风险;

  • 结合优势:两种方案互补,无代理监控云端API,代理监控主机行为,实现全方位、无死角的防御覆盖,有效检测传统与云专属的横向移动技术。


03

总结


云环境的横向移动技术以云API滥用为核心,结合传统内网横向移动手段,形成了“云端+主机”的跨层级攻击路径。攻击者利用高权限IAM凭证,可通过快照创建、SSH密钥滥用、串行控制台访问、System Manager滥用等技术,突破云环境的安全隔离,实现横向移动与权限扩大。

三大主流云厂商(AWS、GCP、Azure)的横向移动技术虽存在实现差异,但核心逻辑一致,均依赖云API的权限与实例配置漏洞。针对此类威胁,仅靠单一的防御手段难以奏效,结合代理与无代理解决方案,实现云端层与主机层的双重监控,才能构建全面、有效的防御体系。

本文的分析不仅适用于安全防御人员构建云环境安全防护体系,也可为渗透测试人员提供实战参考,助力双方在云环境攻防对抗中精准把握核心要点,提升云环境的安全防护能力。


免责声明:因传播、利用本公众号“河北镌远网络科技有限公司”所提供信息而产生的任何直接或间接后果及损失,均由使用者本人自行承担,本公众号及作者不承担任何责任。本公众号所发表内容中,凡注明来源的,版权归原出处所有;无法查证版权或未注明出处的,均来自网络并系转载,转载旨在传递更多信息,版权归原作者所有。若存在侵权情况,请联系小编,我们将第一时间删除处理。

【声明】内容源于网络
0
0
河北镌远网络科技有限公司
河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
内容 582
粉丝 0
河北镌远网络科技有限公司 河北镌远网络科技有限公司是一家集人才、经验、技术于一体的,提供全面系统集成解决方案的专业IT服务商。公司致力于为各个行业的业务信息化提供软件和通用解决方案、系统架构,系统管理和数据安全服务、以及IT咨询规划、系统集成与系统服务等专业化服务。
总阅读554
粉丝0
内容582