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

本文涉及的产品
云防火墙,500元 1000GB
简介: 注意防护

概述

近日,阿里云安全监测到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 一起执行和监视任务。

1.png

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

2.png

ATT&CK阶段分析

31306BDC-D419-46BF-AC15-A239F5BFA7D6.png

漏洞利用分析

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。

3.png

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

4.png

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

5.png

详细分析

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

f.sh分析

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

6.png

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

7.png

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

8.png

kinsing分析

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

9.png

安全建议

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

10.png

依据官方建议开启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异常,成功阻断非授权情况下的任意命令执行问题。

11.png

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

12.jpg

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

13.png

IOC

URL
http://114.214.169.174/kinsing
http://114.214.169.174/f.sh

IP
114.214.169.174

md5
7d468dd3257af321562dea36af00de62

参考

https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
https://www.freebuf.com/articles/system/286885.html
https://hadoop.apache.org/cve_list.html
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html#Configuration

相关文章
|
3月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
96 5
|
3月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
41 4
|
3月前
|
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(一)
205 5
|
3月前
|
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(二)
171 4
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
103 4
|
3月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
55 2
|
3月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
187 0
|
4月前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
178 3
YARN(Hadoop操作系统)的架构
|
4月前
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
82 1
使用YARN命令管理Hadoop作业
|
5月前
|
资源调度 分布式计算 算法
【揭秘Yarn调度秘籍】打破资源分配的枷锁,Hadoop Yarn权重调度全攻略!
【8月更文挑战第24天】在大数据处理领域,Hadoop Yarn 是一种关键的作业调度与集群资源管理工具。它支持多种调度器以适应不同需求,默认采用FIFO调度器,但可通过引入基于权重的调度算法来提高资源利用率。该算法根据作业或用户的权重值决定资源分配比例,权重高的可获得更多计算资源,特别适合多用户共享环境。管理员需在Yarn配置文件中启用特定调度器(如CapacityScheduler),并通过设置队列权重来实现资源的动态调整。合理配置权重有助于避免资源浪费,确保集群高效运行,满足不同用户需求。
72 3

相关实验场景

更多