Linux kernel(CVE-2018-17182)提权漏洞复现

我不是女神ヾ 2024-04-07 10:57 139阅读 0赞

0x01 漏洞前言

Google Project Zero的网络安全研究人员发布了详细信息,并针对自内核版本3.16到4.18.8以来Linux内核中存在的高严重性漏洞的概念验证(PoC)漏洞利用。由白帽黑客Jann Horn发现,内核漏洞(CVE-2018-17182)是Linux内存管理子系统中的缓存失效错误,导致释放后使用漏洞,如果被利用,可能允许攻击者获得根权限目标系统上的特权。免费使用后(UAF)漏洞是一类内存损坏错误,非特权用户可利用这些错误来破坏或更改内存中的数据,从而导致拒绝服务(系统崩溃)或升级权限以获得管理权限访问系统Linux的内核漏洞于9月18日在OSS-安全邮件列表中公开,并在第二天在上游支持的稳定内核版本4.18.9,4.14.71,4.9.128和4.4.157中进行了修补。在58年3月16日版本中也有一个修复程序。为版本4.15.0-34.37的Ubuntu 18.04,内核linux-image-4.15.0-34-generic附加了一个丑陋的漏洞。它需(40min~1hour)在弹出root shell之前运行。

0x02 漏洞影响版本

Linux kernel 4.18.8及之前版本

0x03 漏洞复现

  1. 本次复现环境:ubuntu18.04*64 内核版本:linux-image-4.15.0-34-generic

5e1ae1407c3c8296aee6c5dc95dd5f1a.jpeg

  1. 添加更新源

sudo vi /etc/apt/sources.list

deb-src https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ main restricted

060aec2f52d2b2be7d2f91348928c369.jpeg

  1. 更新操作系统

sudo apt-get update

  1. 更新操作系统

sudo apt-get dist-upgrade

  1. 安装GCC和G++

sudo apt-get install gcc

sudo apt-get install g++

6.新建一个test账号

be31b0cf5034b8bca8de6fec182d85e4.jpeg

7.下载利用exp

git clone https://github.com/backlion/CVE-2018-17182.git

8.进入到vmacache目录,删除已编译好的文件。

rm puppet puppeteersuidhelper

973251bdac6860c4a7a0ef53f681333f.jpeg

9.通过运行compile.sh进行编译,当前目录下会生成三个二进制文件分别为:puppet, puppeteer,suidhelper

ffbe6b4ba579bd1262fd8848e9085da6.jpeg

10.然后切换到普通用户权限test:

c15f9f82f357bd6989e83b6ed5ef6971.jpeg

11.执行二进制提权文件puppeteer,大约需要等1到1个半小时,最终看到从test权限提升为root权限。

607ac4b0f74cbf0071f475a927630312.png

0x04漏洞修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7a9cdebdcc17e426fb5287e4a82db1dfe86339b2

发表评论

表情:
评论列表 (有 0 条评论,139人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql漏洞

    linux+mysql怎么提权 据我所知mysql没有管理账号这样的概念,只有不同的用户权限。默认root用户就具有所有的权限,你可以新建一个用户,使它拥有所有的权限,还

    相关 XSS漏洞

    XSS漏洞复现 实验环境DVWA > XSS(cross site script) 跨站脚本。属于代码执行的一种,这里执行的是前端代码,一般是javascript代码。