红联Linux门户
Linux帮助

Linux系统提权思路

发布时间:2017-10-06 09:31:36来源:linux网站作者:clumsy_geek
渗透测试过程中,拿到Webshell之后,常规都会去看一下系统是啥权限。这里主要讨论Linux系统的一些思路。
常规思路不用说了,先查看Linux内核版本,然后直接去搜一下是否有关于该版本的提权exp放出来,如果有的话,直接编译运行提权即可,简单。
如果没有相关内核的提权exp放出来,那就需要考虑其他思路了。这篇老外的文章,介绍了常规的三种提权思路,第一种就是内核exp提权,最开始我也说了。后续两种有点意思。根据老外的那篇文章,在实验环境里面过一遍。
 
常规思路:
1、检查漏洞系统的操作系统发行版
2、查看内核版本
3、检查可用的用户及当前用户的权限
4、列出SUID文件(常见的Linux错误配置)
5、查看安装的包、程序、运行的服务。过时的版本可能存在漏洞。
 
Lab1:VulnOS 2
查看一下系统相关情况:
Linux系统提权思路
查看一下操作系统的发行版本:
Linux系统提权思路
针对列出来的内核版本,exploit-db上的overlayfs可以用来提权。
Linux系统提权思路
已经提权成功了。还有几个比较新的关于这个Exp的版本,甚至可以用于更新版本内核的提权。
1、Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Privilege Escalation
2、Linux Kernel 4.3.3 (Ubuntu 14.04/15.10) - 'overlayfs' Privilege Escalation
3、Linux Kernel 4.3.3 - 'overlayfs' Privilege Escalation
 
Lab 2:Mr.Robot
这个实验主要用的是SUID文件,这之前我对这块并不了解。关于SUID文件的介绍可以查看这里。我的理解就是如果设置了SUID这个标志位,普通权限的程序在执行的时候,可以暂时拥有root权限。
在这里插入一个,关于如何获取Mr.Robot靶机shell的思路也比较常规,可以参考这里。其实就是利用wordpress 后台插件上传来获取webshell。不过获取的webshell因为是在metasploit生成的,所以在meterpreter进行后续的操作。获取系统普通shell之后,来看下如何提权。获取的shell如下:
Linux系统提权思路
当前用户是daemon,来看如何提权为root。在这里所有内核提权漏洞提权都失败了。我就不尝试了,来看下主角,利用SUID来进行提权。
输入命令:find / -perm -u=s -type f 2>/dev/null
先来解释一下find -perm命令。find –perm mode是根据文件的权限来查找文件。看下查到的结果。
Linux系统提权思路
发现nmap拥有SUID标识。先来看一下nmap的版本信息。
Linux系统提权思路
这是一个过期的版本。但是这个版本支持interactive模式。(PS:BackBox中的Nmap 7.0.1已结不支持这个选项了)很多时候,安全人员利用这个方式来操作nmap,这样操作记录就不会留在history中。
Linux系统提权思路
然后,“!sh”会弹出一个shell。因为nmap拥有SUID标志,这个shell会是一个root shell。如下所示:
Linux系统提权思路
 
Lab3:PwnLab-Init
对于如何拿下PwnLab-Init的shell,写的蛮好的。如何权限提升写的也蛮好的。直接看这里就好了。
除此之外,对于提权思路,还可以参照linux系统运行了一些什么进程,然后去找相应的组件,看是否可以进行系统权限的提升。在这里罗列了几个常规的组件提权方式,其实也是套路。就是利用漏洞或者运维人员的疏忽,导致内核权限的提升。
redis提权,我之前写了一篇如何拿下redis非授权访问获得webshell,因为redis一般是root运行,所以你懂的。
rsync默认允许匿名访问,若未添加用户口令则可以进行匿名登录。rsync进程默认是以root权限启动,利用rsync同步文件的同时,可以保持原来文件的权限的特性,可以使用rsync进行提权。可以参考这篇文章
tomcat本地提权漏洞CVE-2016-1240。可以参考这篇文章
nginx本地提权漏洞CVE-2016-1247。可以参考这篇文章
 
本文永久更新地址:http://www.linuxdiyf.com/linux/32734.html