linux内核提权

前言

  本篇以linux提权的其中一种方法,即利用内核版本的漏洞进行提权。

内核提权原理

  利用内核漏洞来执行具有更高权限的任意代码的程序。成功的内核利用通常会以root命令提示符的形式为攻击者提供对目标系统的超级用户访问权限。在许多情况下,升级到Linux系统上的根目录就像将内核漏洞利用程序下载到目标文件系统,编译该漏洞利用程序然后执行它一样简单。而它的工作流程:
  1.诱使内核在内核模式下运行我们的有效EXP
  2.处理内核数据
  3.以新的特权启动Root权限

提权条件

  考虑到要成功利用内核利用攻击,攻击者需要满足以下四个条件:
  1.内核版本在可以利用的范围之内
  2.拥有匹配内核版本的EXP
  3.拥有上传文件的权限
  4.对上传文件的目录具有执行的权限

提权失败原因

  1.机器保持内核的补丁和更新。
  2.在没有补丁的情况下,管理员可以极大地影响在目标上传输和执行漏洞利用程序的能力。考虑到这些考虑因素,如果管理员阻止将利用程序上传或执行到目标系统上,则内核利用程序攻击将不再可行。并且如果管理员专注于限制或删除支持文件传输的程序,例如FTP,TFTP, SCP, wget和curl。并将它们的使用限制为特定的用户,目录,应用程序(例如SCP)和特定的I地址或域也会造成Linux内核提权失败

内核提权复现

  这里使用脏牛提权(CVE-2016-5195)漏洞来做演示,漏洞受影响的版本

Centos7/RHEL7     3.10.0-327.36.3.el7
Cetnos6/RHEL6     2.6.32-642.6.2.el6
Ubuntu 16.10      4.8.0-26.28
Ubuntu 16.04      4.4.0-45.66
Ubuntu 14.04      3.13.0-100.147
Debian 8          3.16.36-1+deb8u2
Debian 7          3.2.82-1

  靶机:Ubuntu 16.04.1 LTS 内核版本:4.4.0-21-generic

uname -r       #查看内核版本
id             #查看组
cat /etc/issue #查看发行版本

  
  使用的exp地址:CVE-2016-5195 ,我最开始使用的exp是dirtycow,这个会死机
  下载好exp后,输入make进行编译,编译成功后输入./dcow -s,即可成功提权
  

自动化工具

  分享一个内核提权自动识别工具linux-exploit-suggester,执行./linux-exploit-suggester.sh,将会给出可提权的CVE编号,可看到CVE都是非常新的
  

参考资料

详解Linux权限提升的攻击与防护

查看评论 -
评论