前言
在做测试的过程中,拿到的shell通常都是低权限的。如果想要进一步的进行操作,不可避免的要进行提权操作,将shell权限提升至root。本篇文章总结了在linux上常见的提权方式以及如何去检测提权。
由于本人水平有限,文章中可能会出现一些错误,欢迎各位大佬指正,感激不尽。如果有什么好的想法也欢迎交流~~
linux提权常用方法
linux提权大致可以分为下面的几种方式,我们最常见的应该就是内核提权。
在进行linux提权时,一般都要先进行信息收集,包括linux的内核版本,运行的应用,文件等信息,然后根据收集到的信息,选择适当的方式进行提权操作。
下面再来看看具体每种方式如何去利用
内核提权
内核漏洞是我们最先想到的提权方法,也是最常用的方式。如果机器的内核存在提权漏洞,那么可以通过内核漏洞进行一键提权。
需要注意的是内核漏洞一般利用的溢出,条件竞争等方式,在使用的过程中,有一定的几率使机器宕机。要选择那种成功率高危害性小的漏洞进行利用。
下面以自己搭建的虚拟机为例,来演示如何利用内核漏洞提权。
1)收集信息
查看内核版本:uname -r
查看发行版本:cat /etc/issue cat /etc/*-release
查看目前权限和用户:whoami id
得到信息:内核版本:2.6.32-431.el6 cpu架构(x86_64) 发行版:rehad 6.5
2)查找内核是否存在提权漏洞
查找内核漏洞可以通过各种公开的漏洞库进行查找,在kail中可以通过searchsploit命令来查找是否存在相关的漏洞。
searchsploit linux 2.6.32-431.el6
本次利用选择的是CVE-2016-5195(脏牛漏洞)
(Linux kernel>2.6.22 (released in 2007))
在网上下载相应的exp下,上传到服务器然后执行即可得到管理员权限。(注意提权以后原来的root用户可能不能正常登陆)
直接添加了一个新的用户。