美文网首页
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