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

0x01 概述

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

Hadoop作为一个分布式计算应用框架,种类功能繁多,而Hadoop
Yarn作为其核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。Hadoop Yarn
RPC未授权访问使得攻击者无需认证即可通过RPC通信执行恶意命令。

Hadoop作为大数据计算基础组件往往集群化部署,一旦一台主机沦陷其整个集群都将受到威胁,其对外暴露端口服务会造成极大威胁。阿里云安全持续对该BOT进行监控,发现近期传播有所上升,提醒广大用户注意防护。

0x02 传播手段

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
一起执行和监视任务。

image

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

image

ATT&CK阶段分析

image

0x03 漏洞利用分析

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。

image

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

image

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

image

0x04 详细分析

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

f.sh分析

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

image

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

image

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

image

kinsing分析

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

image

0x05 安全建议

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

image

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

image

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

image

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

image

0x06 IOC

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

IP
114.214.169.174

md5
7d468dd3257af321562dea36af00de62

0x07 参考

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

/hadoop.apache.org/cve_list.html
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-
common/SecureMode.html#Configuration

网络安全工程师(白帽子)企业级学习路线

第一阶段:安全基础(入门)

img

第二阶段:Web渗透(初级网安工程师)

img

第三阶段:进阶部分(中级网络安全工程师)

img

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资源分享

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pzPXHEnn-1690249830773)(C:\Users\Administrator\Desktop\网络安全资料图\微信截图_20230201105953.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值