Linux教程

Linux提权总结

本文主要是介绍Linux提权总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

前言

一、Linux提权

内核提权

SUID提权

Sudo提权

Linux配置错误提权

定时任务提权

密码复用提权

第三方服务提权


前言

我们常说的Linux系统,指的是Linux内核与各种常用软件的集合产品,全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和目标人群,大类有以下几种:

 可以使用如下的命令查看系统内核及版本的一些信息

uname -a                 #查看内核的具体信息
cat /proc/version        #查看内核的具体信息
cat /etc/centos-release  #查看centos发行版本
cat /etc/redhat-release  #查看redhat发行版本

一、Linux提权

当我们拿到了一台Linux服务器的低权限账号,于是,我们想要通过技术手段提权至root用户权限,以执行更多的操作。

内核提权

Linux操作系统的内核是该系列操作系统的“灵魂大脑”,一旦出现安全隐患情况下,攻击者会很对这些安全隐患加以恶意利用,其中Linux内核漏洞是目前攻击者最为热爱的漏洞之一,内核漏洞的利用通常会以“上帝视角”,也就是所谓的操作系统最高权限的形式为攻击者提供对目标系统的超级用户访问权限。比如经常提到的 Linux提权—脏牛漏洞(CVE-2016-5195)

还有就是其他的各种内核漏洞提权了。说实话,内核漏洞提权很难成功,因为内核提权对内核的版本,还有目标机器的环境要求很高(需要安装有gcc等编译环境)。所以使用内核提权成功率很低。并且内核提权需要查看exp的源代码,不然可能连编译都不会。

内核漏洞提权的步骤肯定是查看目标机器的内核版本等信息,查看命令上面有。

或者执行脚本查看该内核可能存在什么漏洞。但感觉准确率也不高!

./Linux_Exploit_Suggester.pl 

SUID提权

SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。

SUID提权: Linux下SUID提权方法" href="https://blog.csdn.net/qq_44159028/article/details/121032305" rel="external nofollow" target="_blank">——> Linux下SUID提权方法

Sudo提权

通过sudo的一些安全漏洞,我们可以将普通用户提升为root权限。

1、sudo提权漏洞(CVE-2019-14287)

  • 漏洞存在于sudo < 1.8.28 的版本。

  • 利用条件:掌握普通用户密码;该用户拥有一定的sudo权限(对sudo命令进行了特殊的配置)。

当/etclsudoers文件存在如下形式的配置会导致漏洞的产生

hack ALL=(ALL, !root)  ALL

该漏洞对利用条件很苛刻,有点鸡肋。详细可参考 

——>  sudo提权漏洞(CVE-2019-14287)、sudo 提权漏洞(CVE-2019-14287)复现

2、Linux sudo权限提升漏洞(CVE-2021-3156)

2021年1月26日,Linux安全工具sudo被发现严重的基于堆缓冲区溢出漏洞。利用这一漏洞,攻击者无需知道用户密码,一样可以获得root权限,并且是在默认配置下。此漏洞已分配为CVE-2021-3156,危险等级评分为7分。

当sudo通过-s或-i命令行选项在shell模式下运行命令时,它将在命令参数中使用反斜杠转义特殊字符。但使用-s或-i标志运行sudoedit时,实际上并未进行转义,从而可能导致缓冲区溢出。因此只要存在sudoers文件(通常是/etc/sudoers),攻击者就可以使用本地普通用户利用sudo获得系统root权限。研究人员利用该漏洞在多个Linux发行版上成功获得了完整的root权限,包括Ubuntu 20.04(sudo 1.8.31)、Debian 10(sudo 1.8.27)和Fedora 33(sudo 1.9.2),并且sudo支持的其他操作系统和Linux发行版也很容易受到攻击。

受影响版本

Sudo 1.8.2 – 1.8.31p2
Sudo 1.9.0 – 1.9.5p1

不受影响版本

sudo =>1.9.5p2

详细参考:CVE-2021-3156 漏洞复现 附带 提权exp - 誉津 - 博客园

Linux配置错误提权

如果 /etc/passwd 其他用户有写入权限,则可以通过写入一个普通用户获取root权限

——> Linux配置错误提权之利用/etc/passwd文件

定时任务提权

如果计划任何中存在root权限执行的脚本,并且脚本其他用户拥有写入权限则可以通过计划任务提权

——> Linux之计划任务提权_辰辰啊-CSDN博客

密码复用提权

我们如果在主机上找到了其他应用或数据库的密码,那么很有可能root用户也用该密码。那么就可以尝试一下su root来提权了。

第三方服务提权

我们还可以查看主机上其他的第三方服务,利用第三方服务的漏洞可以拿到主机的root权限。比如如果主机的mysql或tomcat是用root权限启动的,而我们又通过漏洞拿到了mysql或tomcat的权限,就相当于获得了root的权限。

这篇关于Linux提权总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!