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

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

概述

Hadoop Yarn是Hadoop的核心组件之一。Hadoop Yarn RPC未授权访问使得攻击者无需认证即可通过RPC通信执行恶意命令。Hadoop作为大数据计算基础组件往往集群化部署,一旦一台主机沦陷,其整个集群都将受到威胁,其对外暴露的端口服务会造成极大威胁。阿里云安全持续对该BOT进行监控,发现近期传播有所上升,提醒广大用户注意防护。

传播手段

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

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

ATT&CK阶段分析:

初始访问

执行

防御规避

发现

横向移动

命令与控制

影响

利用对外开放的多种服务进行入侵。

命令和脚本解释器(下载Bash脚本)。

清除历史。

文件和目录发现。

利用远程服务。

应用层协议。

挖矿会导致系统CPU负载加大,大量消耗主要业务资源,可能导致核心业务终止,从而影响企业服务。

无。

无。

文件删除。

进程发现。

无。

入口工具传输。

无。

无。

无。

无。

网络服务扫描。

无。

无。

无。

无。

无。

无。

安全软件发现。

无。

无。

无。

漏洞利用分析

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端口不暴露在互联网的替代方案,具体漏洞解决方案可见安全建议。

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

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

详细分析

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

  • f.sh分析

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

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

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

  • kinsing分析

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

安全建议

阿里云安全发现该漏洞后及时向Apache、Hadoop做了邮件沟通,并得到了官方认可和相关处理建议,邮件中提及存储和计算节点在提交任务时最好通过Kerberos进行认证以保证其安全性。依据官方建议开启Kerberos认证,配置后的Configuration如下图所示:configuration开启Kerberos认证之后,Client端无法在非授权情况下访问,会返回SIMPLE authentication is not enabled异常,成功阻断非授权情况下的任意命令执行问题。

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

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

IOC

URL

  • http://114.214.169.174/kinsing

  • http://114.214.169.174/f.sh

IP

  • 114.214.169.174

MD5

7d468dd3257af321562dea36af00de62