Hadoop Yarn RPC 0 Day在野利用分析与传播手段披露

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云安全基线管理CSPM免费试用,1000次1年
云安全中心 防病毒版,最高20核 3个月
简介: 近日,阿里云安全监测到Kinsing僵尸网络变种,除了沿用之前攻击手法,最新利用了Hadoop Yarn RPC未授权访问漏洞进行传播。Hadoop作为一个分布式计算应用框架,种类功能繁多,而Hadoop Yarn作为其核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。Hadoop Yarn RPC未授权访问使得攻击者无需认证即可通过RPC通信执行恶意命令。Hadoop作为大数据计算基础组件往往集群化部署,一旦一台主机沦陷其整个集群都将受到威胁,其对外暴露端口服务会造成极大威胁。阿里云安全持续对该BOT进行监控,发现近期传播有所上升,提醒广大用户

1.gif



概述


近日,阿里云安全监测到Kinsing僵尸网络变种,除了沿用之前攻击手法,最新利用了Hadoop Yarn RPC未授权访问漏洞进行传播。


Hadoop作为一个分布式计算应用框架,种类功能繁多,而Hadoop Yarn作为其核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。Hadoop Yarn RPC未授权访问使得攻击者无需认证即可通过RPC通信执行恶意命令。Hadoop作为大数据计算基础组件往往集群化部署,一旦一台主机沦陷其整个集群都将受到威胁,其对外暴露端口服务会造成极大威胁。阿里云安全持续对该BOT进行监控,发现近期传播有所上升,提醒广大用户注意防护。



传播手段


Kinsing僵尸网络通过Hadoop Yarn RPC未授权访问和Hadoop Yarn Rest API未授权访问漏洞入侵和传播,利用f.sh脚本下载挖矿木马kinsing并执行挖矿。


Hadoop Yarn作为Hadoop核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。其官网(https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html)介绍: ResourceManager 和 NodeManager 构成了数据计算框架。ResourceManager 是在系统中的所有应用程序之间仲裁资源的最终权威。NodeManager 是每台机器的框架代理,负责容器、监控其资源使用情况(cpu、内存、磁盘、网络)并将其报告给ResourceManager/Scheduler。每个应用程序的 ApplicationMaster 实际上是一个特定于框架的库,其任务是协商来自 ResourceManager 的资源并与NodeManager 一起执行和监视任务。


2.jpg

如上介绍的ResourceManager功能,一旦远程命令执行代码被提交便会在各个节点中运行,入侵和感染路径如下图所示。


3.jpg


ATT&CK阶段分析


4.jpg




漏洞利用分析


Hadoop Yarn RPC未授权访问漏洞存在于Hadoop Yarn中负责资源管理和任务调度的ResourceManager,成因是该组件为用户提供的RPC服务默认情况下无需认证即可访问,因此把RPC服务暴露在公网上是非常危险的。


RPC服务利用这一问题会影响到部分有安全意识的用户。一部分用户基于过去几年中基于多种利用Hadoop的历史蠕虫已经意识到RESTful API的风险,通过配置开启了基于HTTP的认证,或通过防火墙/安全组封禁了RESTful API对应的8088端口,但由于他们没有意识到Hadoop同时提供RPC服务,并且访问控制机制开启方式跟REST API不一样,导致用户Hadoop集群中RPC服务所在的8032端口仍然可以未授权访问。


由于自行配置kerberos服务较为复杂,且如果集群已在运行需要重启集群使配置生效,因此许多用户会选择通过防火墙/安全组,使RPC端口不暴露在互联网的替代方案,具体漏洞解决方案可见安全建议。如图所示是Kinsing僵尸网络使用Hadoop Yarn RPC漏洞的Payload。


5.jpg


经测试可知,对于8032暴露在互联网且未开启kerberos的Hadoop Yarn ResourceManager,编写应用程序调用yarnClient.getApplications()即可查看所有应用信息,验证结果如下


16.jpg


Kinsing僵尸网络同时使用了早前披露且影响面较广的Hadoop Yarn Rest API未授权访问漏洞,Payload如下图所示。


7.jpg




详细分析


Kinsing僵尸网络通过Hadoop Yarn RPC未授权访问漏洞入侵后会下载Bash脚本进行安全终端卸载、关闭SELINUX、结束其他挖矿团伙进程、挖矿木马下载执行等操作,具体分析如下。


f.sh分析


Kinsing僵尸网络入侵主机后会通过IP、端口结束外联进程,例如常见443、23、3389等端口,争取更多的资源。


8.jpg


通过Docker命令发现主机内挖矿的进程和容器并结束,例如搜寻带有xmr、mine、monero关键字的Docker进程。


9.jpg


最终通过远程恶意下载源进行挖矿木马下载并执行。


10.jpg


kinsing分析


kinsing(7d468dd3257af321562dea36af00de62)是xmrig挖矿木马,入侵后存放在/var/tmp/文件目录下,启动执行后通过命令进行删除。


11.jpg




安全建议


1)阿里云安全发现该漏洞后第一时间向Apache、Hadoop做了邮件沟通,并得到了官方认可和相关处理建议,邮件中提及存储和计算节点在提交任务时最好通过Kerberos进行认证以保证其安全性。以下是邮件部分建议截图


12.jpg


依据官方建议开启Kerberos认证,配置后的Configuration如下

<property>
  <name>hadoop.security.authentication</name>
  <value>kerberos</value>
  <final>false</final>
  <source>core-site.xml</source>
</property>
...
<property>
  <name>hadoop.rpc.protection</name>
  <value>authentication</value>
  <final>false</final>
  <source>core-default.xml</source>
</property>

开启Kerberos认证之后,Client端无法在非授权情况下访问,会返回SIMPLE authentication is not enabled异常,成功阻断非授权情况下的任意命令执行问题。


13.jpg


2)云防火墙利用大数据对互联网上最新出现RCE进行实时监控,从RCE披露到响应时间整体小于3小时,能够有效阻止客户资产被RCE漏洞攻击,其支持3-7层协议不仅满足对Web网站的HTTP协议的防护,同时支持4层大量非Web服务的防御。当前云防火墙默认支持对Hadoop Yarn RPC远程命令执行漏洞的防御。


14.jpg


3)云防火墙智能策略依据历史流量自学习,提供符合客户业务暴露面收敛的最佳实践,通过“一键下发”或“自主选择”可以实现资产的最大程度的互联网暴露收敛,避免端口对外不当暴露风险,同时有效阻止“重保模式”下网络空间测绘的扫描行为。


15.jpg



IOC


URL

http://114.214.169.174/kinsing

http://114.214.169.174/f.sh


IP

114.214.169.174


md5

7d468dd3257af321562dea36af00de62



参考



该漏洞已经在阿里云应急响应公众号中预警,欢迎各位安全爱好者关注


阿里云应急响应

阿里云安全应急响应中心为云上客户提供最精准风险预警通告,基于云安全中心的威胁情报收集能力、分析能力、漏洞挖掘能力、应急响应处置能力为客户上云提供高效、精准,真实的漏洞威胁预警、重大安全事件预警。






 阿里云安全  


国际领先的云安全解决方案提供方,保护全国 40% 的网站,每天抵御 60 亿次攻击。


2020 年,国内唯一云厂商整体安全能力获国际三大机构(Gartner/Forrester/IDC)认可,以安全能力和市场份额的绝对优势占据领导者地位。


阿里云最早提出并定义云原生安全,持续为云上用户提供原生应用、数据、业务、网络、计算的保护能力,和基础设施深度融合推动安全服务化,支持弹性、动态、复杂的行业场景,获得包括政府、金融、互联网等各行业用户认可。


作为亚太区最早布局机密计算、最全合规资质认证和用户隐私保护的先行者,阿里云从硬件级安全可信根、硬件固件安全、系统可信链、可信执行环境和合规资质等方面落地可信计算环境,为用户提供全球最高等级的安全可信云。

相关文章
|
2月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
77 5
|
2月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
36 4
|
2月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
161 5
|
2月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
109 4
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
82 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
48 2
|
3月前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
144 3
YARN(Hadoop操作系统)的架构
|
3月前
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
57 1
使用YARN命令管理Hadoop作业
|
2月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
112 0
|
3月前
|
分布式计算 资源调度 Hadoop
Hadoop YARN资源管理-容量调度器(Yahoo!的Capacity Scheduler)
详细讲解了Hadoop YARN资源管理中的容量调度器(Yahoo!的Capacity Scheduler),包括队列和子队列的概念、Apache Hadoop的容量调度器默认队列、队列的命名规则、分层队列、容量保证、队列弹性、容量调度器的元素、集群如何分配资源、限制用户容量、限制应用程序数量、抢占申请、启用容量调度器以及队列状态管理等方面的内容。
84 3