美文网首页
ubuntu本地提权漏洞复现(CVE-2019-7304)

ubuntu本地提权漏洞复现(CVE-2019-7304)

作者: zzqsmile | 来源:发表于2019-02-19 17:23 被阅读0次
简介
Ubuntu Linux的默认安装`snapd`服务,由于snapd API中的一个错误,任何本地用户都可以利用此漏洞获取对系统的直接root访问权限。
受影响版本
2.37.1以下
测试环境
zzq@zzq-virtual-machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial
zzq@zzq-virtual-machine:~$ snap version
snap    2.34.2
snapd   2.34.2
series  16
ubuntu  16.04
kernel  4.15.0-29-generic
zzq@zzq-virtual-machine:~$ 

python2
图片.png
漏洞复现
  • 下载提权使用的exp
zzq@zzq-virtual-machine:~$ git clone https://github.com/initstring/dirty_sock.git
  • 进入下载的目录,里面是两个py文件,分别是不同的利用脚本
图片.png
方式 1:使用dirty_sockv1.py
  • 前提条件
1.所在的环境需要能够访问到外部网络。
2.需要ubuntu sso的账号,自行到官网注册,地址:https://login.ubuntu.com/ 
3.所在的环境需要安装ssh服务
  • 下面是我自己注册的账户
图片.png
  • 接下来首先在本地生成公钥
$ ssh-keygen -t rsa -C "<you email>"
图片.png
  • 将生成的公钥导入到ubuntu账号SSH keys中
图片.png 图片.png
  • 最后在本地执行dirty_sockv1.py,执行之前一定要先安装ssh服务
$ python dirty_sockv1.py -u "<your email>" -k "私钥"
图片.png
  • 成功执行完毕,再执行sudo -i,就成功提权到root
    图片.png

方式 2:使用dirty_sockv2.py
  • 第2中方法操作简单:无需任何条件,直接执行dirty_sockv2.py即可,执行成功后会创建一个dirty_sock用户,密码也为dirty_sock ,如下:
图片.png
  • 接下来先切换到用户dirty_sock,密码dirty_sock,然后再通过sudo -i提升到root权限

  • 在执行su dirty_sock的时候可能会遇到以下情况,No passwd entry for user 'dirty_sock'不幸的我是遇到了

图片.png
  • 如果遇到此情况按下图操作,查看任务进度,等到doing任务执行完之后再进行尝试,如果仍不行,请使用方法一。
图片.png
参考

链接1

链接2

相关文章

网友评论

      本文标题:ubuntu本地提权漏洞复现(CVE-2019-7304)

      本文链接:https://www.haomeiwen.com/subject/latxyqtx.html